Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//
- // Person.cs & Class v4.7.5.14
- //\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//
- // For when I get time to do the data
- // file and DBS right and everything.
- // Conceived 08 Jun 17 by -JpE-
- //\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//
- // idkwtfiad! 26Jun17 Learning LoL!
- // v4.7.6.40 29Jun17
- // Data Layer for MLBB in Design.
- // v4.7.6.38 28Jun17 Looking Better!
- // v4.7.6.41 30Jun17 Awesome and ready
- // to begin Beta Testing real hard next
- // week while it's hot. I'm looking at
- // some of this code lately and W0W! ;-)
- // v5.7.6.45 06Jul17 Tested and Brought
- // in the relevant InfoForm Class Stuff.
- // 11.Jul.17 Perfected & Formatted.
- // *** Now it's clean & integrated! ***
- // v5.7.7.77 11-Aug-2017 Back2 1Project.
- // protected internal properties now
- // for ShowMeEdit.cs
- // v5.7.7.87 20-Aug-2017
- //\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//
- // v5.7.7.95 24-Aug-2017 OverHaul Deluxe!
- //\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//
- // NOTE: This File has parts of 3 Classes!
- //\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//
- // InfoForm / PersonForm / and the entire
- // Person Class. All Related2The Analyzer.
- //\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//
- using System;
- using System.IO;
- using System.Linq;
- using System.Windows.Forms;
- using System.Globalization;
- using System.Collections.Generic;
- using System.Collections.ObjectModel;
- // Aliases
- using PP = WhoAreYou.Person;
- using IF = WhoAreYou.InfoForm;
- using AP = WhoAreYou.Properties.AppSettings;
- using OS = WhoAreYou.Properties.OptionsSettings;
- using PS = WhoAreYou.Properties.PersonSettings;
- using AS = WhoAreYou.Properties.AppUserSettings;
- using PR = WhoAreYou.Properties.PersonResources;
- namespace WhoAreYou
- {
- public partial class InfoForm
- {
- #region InfoForm link to PersonForm & Person Class Code.
- private void DataAnalyzerClick(
- object sender, EventArgs e)
- {
- // todo testcode
- if (!Testing) return;
- if (!OS.Default.Contributor
- || !OS.Default.Elite) return;
- if (!Testing && !OS.Default.MiniVerb)
- if (!AppStatic.YesNoDialog(
- "Run Data Analyzer Now?",
- "Are You Sure?")) return;
- bool save;
- using (var p = new PersonForm())
- {
- p.Size = PS.Default.PF_Size;
- p.Location = PS.Default.PF_Local;
- p.ShowDialog(); // <-= /\/\/\/\/\/\/***
- PS.Default.PF_Size = p.Size;
- PS.Default.PF_Local = p.Location;
- save = p.Changes;
- }
- PS.Default.Save();
- _wasAtNum = CurrentRecord;
- if (save)
- SaveClick(
- "Analyzer Click", EventArgs.Empty);
- else
- ShowCurrentRecord();
- }
- }
- #endregion InfoForm link to PersonForm & Person Class Code.
- //\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\
- #region Custom Person Class Object by -JpE- v5.7.6.45 06.Jul.17
- public class Person
- {
- public string FirstName { get; protected internal set; }
- public string MiddleName { get; protected internal set; }
- public string LastName { get; protected internal set; }
- public DateTime Birthday { get; protected internal set; }
- public string Address1 { get; protected internal set; }
- public string Address2 { get; protected internal set; }
- public string City { get; protected internal set; }
- public string State { get; protected internal set; }
- public string Zip { get; protected internal set; }
- public string Title { get; protected internal set; }
- public string Home { get; protected internal set; }
- public string Cell { get; protected internal set; }
- public string Work { get; protected internal set; }
- public string Email1 { get; protected internal set; }
- public string Email2 { get; protected internal set; }
- public string W1 { get; protected internal set; }
- public string W2 { get; protected internal set; }
- public string W3 { get; protected internal set; }
- public string Note { get; protected internal set; }
- // Overloaded Class Constructors
- public Person() { }
- public Person(ICollection<string> record)
- {
- if (record == null
- || record.Count != AP.Default.RL)
- {
- const string txt =
- "This record is not the right size.";
- MessageBox.Show(txt);
- return;
- }
- PopulatePerson(record);
- }
- public Person(Person current)
- {
- PopulatePerson(current);
- }
- // ^ End of Class Constructor Overloads.
- // v Internal Person-Class Method. (Overloaded)
- private void PopulatePerson(Person p)
- {
- var c = CultureInfo.InvariantCulture;
- var s = new Collection<string>
- {
- p.FirstName,
- p.MiddleName,
- p.LastName,
- p.Birthday.ToString(c),
- p.Address1,
- p.Address2,
- p.City,
- p.State,
- p.Zip,
- p.Title,
- p.Home,
- p.Cell,
- p.Work,
- p.Email1,
- p.Email2,
- p.W1,
- p.W2,
- p.W3,
- p.Note
- };
- PopulatePerson(s);
- }
- private void PopulatePerson(
- ICollection<string> fields)
- {
- var rl = AP.Default.RL;
- if (fields == null || fields.Count != rl)
- throw new ArgumentException(
- "Problems with people in the fields" +
- " in Person >> Populate Person, etc.");
- var e = new string[rl];
- fields.CopyTo(e, 0);
- // Now Populate The Class Object.
- var i = -1;
- FirstName = e[++i];
- MiddleName = e[++i];
- LastName = e[++i];
- Birthday = Convert
- .ToDateTime(e[++i]);
- // NOTE: Can be any type ^
- // or combination of types.
- Address1 = e[++i];
- Address2 = e[++i];
- City = e[++i];
- State = e[++i];
- Zip = e[++i];
- Title = e[++i];
- Home = e[++i];
- Cell = e[++i];
- Work = e[++i];
- Email1 = e[++i];
- Email2 = e[++i];
- W1 = e[++i];
- W2 = e[++i];
- W3 = e[++i];
- Note = e[++i]
- .Replace('~', '\n');
- }
- }
- #endregion Custom Person Class Object v5.7.6.45 06.Jul.17
- //\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\
- #region PersonForm Extension Code brought from InfoForm.
- public partial class PersonForm // <-= NOTE!
- {
- /* NOTE: this Source Code File and Methods Test very Well! Including the Person-Class above. Implementation in MLBB may be unfeasable however as the early code was so entrenched around the 2 dimensional string array. But use it to experiment with RDBMS, DataSet and Maybe ADO.NET and some SQL Server idk? Pick a destination and get off there. LoL, But leaving this intact for now. BFD going back through all the code that involves the string[,] to do it this way, granted it's way better and how I should have done it in the first place, had I known much. But that was 2011, I was still screwing with their little demo thing. So until I can do a simple little DB App of some kind stand alone then I can maybe come back with what I know, or NOT. Otherwise leaving well enough alone here at a safe place, nice and solid and settled except for documentation. Help Files are incomplete. Work on that and clean up the About if yer done. Wait, done with MLBB? After 6 years? LoL jk do a side experiment, write an App or two. Come back home L8r on.
- * ";-O */
- /// <summary> Multiple Overloads and such
- /// v5.7.6.45 11.Jul.17
- /// All This Brought to PersonForm & Integrated
- /// v5.7.7.95 24-Aug-2017
- /// </summary>
- private void CreatePeople()
- {
- if (!IF.Testing) // todo testcode
- {
- ShowPeople.Visible = false;
- return;
- }
- People = CreatePeople(IF.Listen());
- }
- /// <summary> Developed as an Alternative
- /// to List[,] THIS:
- /// Effectively Loads (current List ^) into
- /// the newer Parallel Person Collection.
- /// The hard part was I couldn't get 'there' from 'here'
- /// and the way I was doing it. (to the way I should)
- /// So many of these are intermediary steps as I learn
- /// to get things converted while remaming parallel.
- /// (i.e. without screwing up what was working.)
- /// \\//
- /// v5.7.7.96 24-Aug-2017
- /// Brought to PersonForm from InfoForm.
- /// </summary>
- /// <returns>People</returns>
- private static Collection<Person> // NOTE: Custom TYPE
- CreatePeople(string[,] list)
- {
- if (list == null || list.GetLength(0) < 1
- || !list.GetLength(1).Equals(AP.Default.RL))
- throw new InvalidDataException(
- "Create People in Person.cs");
- var reclen = AP.Default.RL;
- var mmbers = list.GetLength(0);
- var people = new Collection<Person>();
- for (var m = 0; m < mmbers; ++m)
- {
- var person = new Collection<string>();
- for (var r = 0; r < reclen; ++r)
- {
- var field = list[m, r];
- if (string.IsNullOrEmpty(field)) field = "N/A";
- person.Add(field);
- }
- people.Add(new Person(person));
- // SuaWeeet! All-In-One Data Format.
- }
- return people;
- }
- /// <summary> ShowMe the entire Object.
- /// Sample Usages / Test Code (That Made It!)
- /// Integrated into PersonForm instead and made perm.
- /// v5.7.7.95 24-Aug-2017 by -JpE- for
- /// (c) 2011-2041 Global Access Software InTl.
- /// GASIT is a registered Trademark. 2011 </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void ViewObject(object sender, EventArgs e)
- {
- var i = 0;
- const string title = "View-All Records:";
- if (People == null || People.Count < 1)
- {
- MessageBox.Show(PR.IF_DataAnalyzer_Null);
- return;
- }
- var txt = People.Aggregate(
- "", (current, p) => current +
- string.Format(
- "\nRecord {0})\n {1} {2} {3} {4}\n" +
- "{5}\n{6}\n{7}\n{8}, {9} {10}\n\n" +
- "Home Phone: {11}, " +
- "Cell Phone: {12}, Work Phone: {13}\n" +
- "Email1: {14}, " + "Email2: {15}\n" +
- "Website1: {16}, Website2: {17} " +
- "Website3: {18}\n\n" +
- "Comments:\n{19}\n===========\n\n",
- ++i, p.Title, p.FirstName, p.MiddleName,
- p.LastName, p.Birthday,
- p.Address1, p.Address2, p.City, p.State, p.Zip,
- p.Home, p.Cell, p.Work, p.Email1, p.Email2,
- p.W1, p.W2, p.W3, p.Note));
- using (var sm = new ShowMeForm(txt, title))
- {
- sm.Size = AS.Default.MemReaderS;
- sm.Location = AS.Default.MemReaderL;
- sm.ShowDialog();
- AS.Default.MemReaderS = sm.Size;
- AS.Default.MemReaderL = sm.Location;
- }
- }
- #endregion PersonForm Extension brought from InfoForm.
- // *** WAS: AppCode5 Part-5 v5.7.7.81 14.Aug.2017 ***/
- //\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement