예제 #1
0
        public AddEditContactForm(Object parent, Object contact, List<string> listGroup) // for PrinterContactManager
        {
            InitializeComponent();
            currentMode = MODE_PRINTER;
            this.parent = parent;
            listGroupName = listGroup;

            if (contact == null)
            {
                this.Text = ContactManagentLibrary.Properties.Resources.add_contact;
            }
            else
            {
                this.Text = ContactManagentLibrary.Properties.Resources.edit_contact;

                if (contact is ContactDB)
                {
                    contactDB = (ContactDB)contact;
                    contactId = contactDB.Id;
                }
                else if (contact is ContactPrinter)
                {
                    contactPrinter = (ContactPrinter)contact;
                }
            }
        }
예제 #2
0
파일: MyUtils.cs 프로젝트: thongvo/myfiles
        public static List<Object> CloneContactList(List<Object> list)
        {
            List<Object> listContact = new List<Object>();

            if (list != null && list.Count() > 0)
            {
                foreach (Object contact in list)
                {
                    if (contact is ContactDB)
                    {
                        ContactDB cloneContact = new ContactDB();
                        cloneContact.Clone((ContactDB)contact);
                        listContact.Add(cloneContact);
                    }
                    else if (contact is ContactPrinter)
                    {
                        ContactPrinter cloneContact = new ContactPrinter();
                        cloneContact.Clone((ContactPrinter)contact);
                        listContact.Add(cloneContact);
                    }
                }
            }

            return listContact;
        }
예제 #3
0
 public void Clone(ContactPrinter contactPrinter)
 {
     if (contactPrinter != null)
     {
         contactAction = contactPrinter.ContactAction;
         id = contactPrinter.Id;
         name = contactPrinter.Name;
         email = contactPrinter.Email;
         fax = contactPrinter.Fax;
         fromPrinter = contactPrinter.FromPrinter;
         groupName = contactPrinter.GroupName;
         nameOrder = contactPrinter.NameOrder;
     }
 }
예제 #4
0
        public static List<ContactPrinter> ParseContactsFromJson(Printer printer, string json)
        {
            List<ContactPrinter> list = new List<ContactPrinter>();

            JToken token = JObject.Parse(json);
            JToken contacts = token.SelectToken("contacts");
            foreach (JToken data in contacts)
            {
                ContactPrinter contact = new ContactPrinter();
                contact.ParseContactFromJToken(data);
                contact.fromPrinter = printer;
                contact.NameOrder = ContactDB.NAME_ORDER_FIRST_MID_LAST;
                list.Add(contact);
            }

            return list;
        }
예제 #5
0
        private void btn_save_Click(object sender, EventArgs e)
        {
            string firstName = tbox_firstname.Text.Trim();
            string middleName = tbox_middlename.Text.Trim();
            string lastName = tbox_lastname.Text.Trim();
            if (String.IsNullOrEmpty(firstName + middleName + lastName))
            {
                MessageBox.Show(ContactManagentLibrary.Properties.Resources.name_no_empty);
                return;
            }
            
            string email = tbox_email.Text.Trim();
            string fax = tbox_fax.Text.Trim();

            if (String.IsNullOrEmpty(email))
            {
                if (String.IsNullOrEmpty(fax))
                {
                    MessageBox.Show(ContactManagentLibrary.Properties.Resources.enter_value_for_email_or_fax);
                    return;
                }
            }
            else if (!MyUtils.IsEmailValid(email))
            {
                MessageBox.Show(ContactManagentLibrary.Properties.Resources.wrong_email_format);
                return;
            }


            DuplicateContactMode mode;
            if (radio_btn_allow_duplicate.Checked)
            {
                mode = DuplicateContactMode.ALLOW_ADD_NEW;
            }
            else if (radio_btn_replace_with_new.Checked)
            {
                mode = DuplicateContactMode.REPLACE_WITH_NEW_ITEM;
            }
            else
            {
                mode = DuplicateContactMode.DO_NOT_IMPORT;
            }
            dbController.UpdateDuplicateContactMode(mode);

            if (currentMode == MODE_LOCAL)
            {
                bool addNew = false;
                if (contactId <= 0) // add new
                {
                    addNew = true;
                    contactId = dbController.SelfAddContact(firstName, middleName, lastName, email, fax);
                }
                else
                {
                    int updRes = dbController.UpdateContact(contactId, firstName, middleName, lastName, email, fax);
                    if (updRes <= 0)
                    {
                        MessageBox.Show(ContactManagentLibrary.Properties.Resources.database_failure);
                        return;
                    }
                }

                List<int> listBelongGroupId = GetListGroupId();
                if (listBelongGroupId == null)
                {
                    return;
                }
                int res = dbController.UpdateContactBelongToGroupList(contactId, listBelongGroupId);
                if (res > 0)
                {
                    if (parent is UC_LocalContacts)
                    {
                        UC_LocalContacts uc_cm = (UC_LocalContacts)parent;
                        if (addNew)
                        {
                            uc_cm.NotifyNewContactAdded();
                        }
                        uc_cm.NotifyNewGroupAdded();
                        uc_cm.Reload();
                    }
                    this.Close();
                }
                else
                {
                    MessageBox.Show(ContactManagentLibrary.Properties.Resources.database_failure);
                }
            }
            else if (currentMode == MODE_PRINTER)
            {
                UC_PrinterContacts uc_parent = null;
                if (parent is UC_PrinterContacts)
                {
                    uc_parent = (UC_PrinterContacts)parent;
                }
                string listGroupStr = search_tbox_group.Text.TrimStart().TrimEnd();
                List<string> listGroupSplits = GetListGroupString(listGroupStr);
                int len = listGroupSplits.Count();
                if (len > GroupDB.MAX_GROUP)
                {
                    MessageBox.Show(ContactManagentLibrary.Properties.Resources.exceed_group_limit);
                    return;
                }

                string groupName = "";
                for (int i = 0; i < len; i++)
                {
                    groupName += listGroupSplits[i];
                    if (i < len - 1)
                    {
                        groupName += GroupDB.SEPARATE_TOKEN;
                    }
                }

                if (contactDB == null && contactPrinter == null) // Add new
                {
                    contactPrinter = new ContactPrinter();
                    string name = ContactDB.GetFullNameFromFirstMidLast(firstName, middleName, lastName, contactPrinter.NameOrder);
                    contactPrinter.Name = name;
                    contactPrinter.Email = email;
                    contactPrinter.Fax = fax;
                    contactPrinter.GroupName = groupName;
                    Printer printer = new Printer("", AccountDB.SELF_ACCOUNT_NAME);
                    contactPrinter.FromPrinter = printer;

                    List<ContactPrinter> list = new List<ContactPrinter>();
                    list.Add(contactPrinter);

                    if (uc_parent != null)
                    {
                        uc_parent.AddMoreContacts(list);
                    }
                }
                else // edit
                {
                    if (contactDB != null)
                    {
                        contactDB.FirstName = firstName;
                        contactDB.MiddleName = middleName;
                        contactDB.LastName = lastName;
                        contactDB.SelfUpdateName();

                        List<EmailDB> listEmail = contactDB.ListEmail;
                        if (listEmail.Count() > 0)
                        {
                            listEmail[0].Value = email;
                        }
                        else
                        {
                            EmailDB emailDB = new EmailDB();
                            emailDB.Value = email;
                            listEmail.Add(emailDB);
                        }

                        List<FaxDB> listFax = contactDB.ListFax;
                        if (listFax.Count() > 0)
                        {
                            listFax[0].Value = fax;
                        }
                        else
                        {
                            FaxDB faxlDB = new FaxDB();
                            faxlDB.Value = fax;
                            listFax.Add(faxlDB);
                        }

                        contactDB.GroupName = groupName;
                        if (uc_parent != null)
                        {
                            uc_parent.UpdateContact(contactDB);
                        }
                    }
                    else if (contactPrinter != null)
                    {
                        string name = ContactDB.GetFullNameFromFirstMidLast(firstName, middleName, lastName, ContactDB.NAME_ORDER_FIRST_LAST_MID);
                        contactPrinter.Name = name;
                        contactPrinter.Email = email;
                        contactPrinter.Fax = fax;
                        contactPrinter.GroupName = groupName;
                        if (uc_parent != null)
                        {
                            uc_parent.UpdateContact(contactPrinter);
                        }
                    }
                }

                this.Close();
            }
        }