Exemplo n.º 1
0
        private void SetModifyMode()
        {
            if (RebateList.SelectedItems.Count == 0)
            {
                return;
            }
            ListViewItem list_item        = RebateList.SelectedItems[0];
            RebateRecord rebate_list_item = (RebateRecord)list_item.Tag;

            ClearForm();

            firstName.Text      = rebate_list_item.firstName;
            Minitial.Text       = rebate_list_item.middleInitial;
            lastName.Text       = rebate_list_item.lastName;
            Address1.Text       = rebate_list_item.Address1;
            Address2.Text       = rebate_list_item.Address2;
            City.Text           = rebate_list_item.City;
            State.SelectedItem  = rebate_list_item.State;
            Zip.Text            = rebate_list_item.Zip;
            Gender.SelectedItem = rebate_list_item.Gender;
            Phone.Text          = rebate_list_item.Phone;
            Email.Text          = rebate_list_item.Email;
            Proof.SelectedItem  = rebate_list_item.Proof;
            Date.Value          = rebate_list_item.Date;

            curr_Mode         = MODIFY;
            Status_label.Text = "Modifying Existing Rebate";
            Save.Text         = "Update";

            Delete.Enabled = true;

            CanSave();

            Save.Enabled = false;
        }
Exemplo n.º 2
0
        //  Modifies an existing record in List.

        private void ModifyListViewItem(ListView list, RebateRecord entered_Record)
        {
            list.SelectedItems[0].Tag = entered_Record;
            list.SelectedItems[0].SubItems[0].Text = entered_Record.firstName;
            list.SelectedItems[0].SubItems[1].Text = entered_Record.lastName;
            list.SelectedItems[0].SubItems[2].Text = Regex.Replace(entered_Record.Phone, @"(\d{3})(\d{3})(\d{4})", "($1) $2-$3");
        }
Exemplo n.º 3
0
        //  New Rebate Records added and lines are read from file

        public void ReadRebateList(ListView list)
        {
            using (StreamWriter writeText = new StreamWriter(File.Open("CS6326Asg2.txt", System.IO.FileMode.Append)))
            {
            }
            using (StreamReader readText = new StreamReader("CS6326Asg2.txt"))
            {
                String   record;
                string   tab = "\t";
                string[] record_split;
                while ((record = readText.ReadLine()) != null)
                {
                    record_split = record.Split(tab.ToCharArray());
                    RebateRecord rebateItem = new RebateRecord(record_split[0],
                                                               record_split[1], record_split[2], record_split[3], record_split[4],
                                                               record_split[5], record_split[6], record_split[7], record_split[8],
                                                               record_split[9], record_split[10], record_split[11], DateTime.Parse(record_split[12]),
                                                               DateTime.Parse(record_split[13]), DateTime.Parse(record_split[14]), Int32.Parse(record_split[15]));

                    ListViewItem viewItem = new ListViewItem();
                    viewItem.Tag  = rebateItem;
                    viewItem.Text = rebateItem.firstName;
                    viewItem.SubItems.Add(rebateItem.lastName);
                    viewItem.SubItems.Add(Regex.Replace(rebateItem.Phone, @"(\d{3})(\d{3})(\d{4})", "($1) $2-$3"));
                    list.Items.Add(viewItem);
                }
            }
        }
Exemplo n.º 4
0
        //  Adds a new record in List.

        private void AddListViewItem(ListView list, RebateRecord entered_Record)
        {
            ListViewItem list_item = new ListViewItem();

            list_item.Tag  = entered_Record;
            list_item.Text = entered_Record.firstName;
            list_item.SubItems.Add(entered_Record.lastName);
            list_item.SubItems.Add(Regex.Replace(entered_Record.Phone, @"(\d{3})(\d{3})(\d{4})", "($1) $2-$3"));
            list.Items.Add(list_item);
        }
Exemplo n.º 5
0
        // Itemlist written to File

        public void WriteRebateList(ListView list)
        {
            using (StreamWriter writeText = new StreamWriter("CS6326Asg2.txt"))
            {
                foreach (ListViewItem item in list.Items)
                {
                    RebateRecord rebateItem = (RebateRecord)item.Tag;
                    writeText.WriteLine(rebateItem);
                }
            }
        }
Exemplo n.º 6
0
        // Removes record from ListView when delete is pressed and writes to file.

        private void Delete_Click(object sender, EventArgs e)
        {
            deletedRecord      = (RebateRecord)RebateList.SelectedItems[0].Tag;
            deletedRecordIndex = RebateList.SelectedItems[0].Index;
            RebateList.SelectedItems[0].Remove();
            RebateFileHandler rebate_File = new RebateFileHandler();

            rebate_File.WriteRebateList(RebateList);
            UndoMenuItem.Enabled = true;
            ClearForm();

            Status_label.Text = "Deleted Rebate";
        }
Exemplo n.º 7
0
        //   Returns true if the RebateRecord has the same first name, last name and phone number

        public override bool Equals(Object obj)
        {
            RebateRecord rebateObject = obj as RebateRecord;

            if (rebateObject == null)
            {
                return(false);
            }
            else
            {
                return(firstName.Equals(rebateObject.firstName) &&
                       lastName.Equals(rebateObject.lastName) &&
                       Phone.Equals(rebateObject.Phone));
            }
        }
Exemplo n.º 8
0
        //   Copy Constructor sets values from another object while update or modify

        public RebateRecord(RebateRecord obj)
        {
            firstName     = obj.firstName;
            middleInitial = obj.middleInitial;
            lastName      = obj.lastName;
            Address1      = obj.Address1;
            Address2      = obj.Address2;
            City          = obj.City;
            State         = obj.State;
            Zip           = obj.Zip;
            Gender        = obj.Gender;
            Phone         = obj.Phone;
            Email         = obj.Email;
            Proof         = obj.Proof;
            Date          = obj.Date;
            StartTime     = obj.StartTime;
            SaveTime      = obj.SaveTime;
            Backspace     = obj.Backspace;
        }
Exemplo n.º 9
0
        //  Returns true if duplicate records are found in List.

        private bool SearchListViewItem(ListView list, RebateRecord entered_Record)
        {
            bool found = false;

            foreach (ListViewItem list_item in list.Items)
            {
                RebateRecord rebate_list_item = (RebateRecord)list_item.Tag;
                if (curr_Mode == ADD && entered_Record.Equals(rebate_list_item))
                {
                    found = true;
                }
                if (curr_Mode == MODIFY && entered_Record.Equals(rebate_list_item))
                {
                    if (rebate_list_item != (RebateRecord)RebateList.SelectedItems[0].Tag)
                    {
                        found = true;
                    }
                }
            }
            return(found);
        }
Exemplo n.º 10
0
        // Enables save function if all fields are valid and required fields have been entered and no duplicates.

        private void CanSave()
        {
            // check if all required fields have been filled
            bool valid_Entry = Validator.ValidateTextField(firstName.Text) &&
                               Validator.ValidateInitial(Minitial.Text) &&
                               Validator.ValidateTextField(lastName.Text) &&
                               Validator.ValidateTextField(Address1.Text) &&
                               Validator.ValidateTextField(City.Text) &&
                               Validator.ValidateComboBox(State.SelectedItem) &&
                               Validator.ValidateZipCode(Zip.Text) &&
                               Validator.ValidateComboBox(Gender.SelectedItem) &&
                               Validator.ValidatePhoneNumber(Phone.Text) &&
                               Validator.ValidateEmailAddress(Email.Text) &&
                               Validator.ValidateComboBox(Proof.SelectedItem) &&
                               Validator.ValidateDate(Date.Value);
            RebateRecord entered_Record = new RebateRecord();

            if (curr_Mode == MODIFY && RebateList.SelectedItems.Count != 0)
            {
                entered_Record = new RebateRecord((RebateRecord)RebateList.SelectedItems[0].Tag);
            }
            entered_Record.firstName     = firstName.Text;
            entered_Record.middleInitial = Minitial.Text;
            entered_Record.lastName      = lastName.Text;
            entered_Record.Address1      = Address1.Text;
            entered_Record.Address2      = Address2.Text;
            entered_Record.City          = City.Text;
            entered_Record.State         = State.Text;
            entered_Record.Zip           = new string(Zip.Text.Where(char.IsDigit).ToArray());   //zipcode should only be numbers
            entered_Record.Gender        = Gender.Text;
            entered_Record.Phone         = new string(Phone.Text.Where(char.IsDigit).ToArray()); // phone number should only have numbers
            entered_Record.Email         = Email.Text;
            entered_Record.Proof         = Proof.Text;
            entered_Record.Date          = Date.Value;
            switch (curr_Mode)
            {
            case ADD:
                if (start_time.CompareTo(DateTime.MinValue) == 0)
                {
                    start_time = DateTime.Now;
                }

                if (valid_Entry && !SearchListViewItem(RebateList, entered_Record))     //Duplicate records checked
                {
                    Save.Enabled = true;
                    FieldError.SetError(firstName, "");
                    FieldError.SetError(lastName, "");
                    FieldError.SetError(Phone, "");
                }
                else
                {
                    Save.Enabled = false;
                    if (SearchListViewItem(RebateList, entered_Record))
                    {
                        FieldError.SetError(firstName, "Found existing rebate with same name and phone number!");
                        FieldError.SetError(lastName, "Found existing rebate with same name and phone number!");
                        FieldError.SetError(Phone, "Found existing rebate with same name and phone number!");
                    }
                }
                break;

            case MODIFY:
                if (valid_Entry && !SearchListViewItem(RebateList, entered_Record))
                {
                    Save.Enabled = true;
                    FieldError.SetError(firstName, "");
                    FieldError.SetError(lastName, "");
                    FieldError.SetError(Phone, "");
                }
                else
                {
                    Save.Enabled = false;
                    if (SearchListViewItem(RebateList, entered_Record))
                    {
                        FieldError.SetError(firstName, "Found existing rebate with same name and phone number!");
                        FieldError.SetError(lastName, "Found existing rebate with same name and phone number!");
                        FieldError.SetError(Phone, "Found existing rebate with same name and phone number!");
                    }
                }
                break;
            }
        }
Exemplo n.º 11
0
        // After saving, the records are written to file.
        private void Save_Click(object sender, EventArgs e)
        {
            RebateRecord      entered_Record;
            RebateFileHandler rebate_File = new RebateFileHandler();

            switch (curr_Mode)
            {
            case ADD:
                entered_Record               = new RebateRecord();
                entered_Record.firstName     = firstName.Text;
                entered_Record.middleInitial = Minitial.Text;
                entered_Record.lastName      = lastName.Text;
                entered_Record.Address1      = Address1.Text;
                entered_Record.Address2      = Address2.Text;
                entered_Record.City          = City.Text;
                entered_Record.State         = State.Text;
                entered_Record.Zip           = new string(Zip.Text.Where(char.IsDigit).ToArray());
                entered_Record.Gender        = Gender.Text;
                entered_Record.Phone         = new string(Phone.Text.Where(char.IsDigit).ToArray());
                entered_Record.Email         = Email.Text;
                entered_Record.Proof         = Proof.Text;
                entered_Record.Date          = Date.Value;
                entered_Record.StartTime     = start_time;
                entered_Record.SaveTime      = DateTime.Now;
                entered_Record.Backspace     = backSpace_count;
                if (!SearchListViewItem(RebateList, entered_Record))
                {
                    AddListViewItem(RebateList, entered_Record);

                    rebate_File.WriteRebateList(RebateList);

                    ClearForm();
                }
                break;

            case MODIFY:
                entered_Record               = new RebateRecord((RebateRecord)RebateList.SelectedItems[0].Tag);
                entered_Record.firstName     = firstName.Text;
                entered_Record.middleInitial = Minitial.Text;
                entered_Record.lastName      = lastName.Text;
                entered_Record.Address1      = Address1.Text;
                entered_Record.Address2      = Address2.Text;
                entered_Record.City          = City.Text;
                entered_Record.State         = State.Text;
                entered_Record.Zip           = new string(Zip.Text.Where(char.IsDigit).ToArray());
                entered_Record.Gender        = Gender.Text;
                entered_Record.Phone         = new string(Phone.Text.Where(char.IsDigit).ToArray());
                entered_Record.Email         = Email.Text;
                entered_Record.Proof         = Proof.Text;
                entered_Record.Date          = Date.Value;
                if (!SearchListViewItem(RebateList, entered_Record))
                {
                    ModifyListViewItem(RebateList, entered_Record);

                    rebate_File.WriteRebateList(RebateList);

                    ClearForm();
                }
                break;
            }
        }