/// <summary> /// Method which discards changes in Contact, and loads Contact state from database. /// </summary> /// <param name="contact">Contact which will be reverted.</param> public static void Revert(Contact contact) { if (contact == null) throw new ArgumentNullException("contact"); if (contact.CompanyId == Guid.Empty || Context.Contacts.Where(c => c.ContactID == contact.ContactID).FirstOrDefault() == null) return; Context.Refresh(RefreshMode.StoreWins, contact); }
public ContactsEditor(Contact contact = null) { InitializeComponent(); if (contact == null) contact = new Contact {ContactID = Guid.NewGuid(), FirstName = "", LastName = ""}; CurrentContact = contact; }
/// <summary> /// Create a new Contact object. /// </summary> /// <param name="contactID">Initial value of the ContactID property.</param> /// <param name="firstName">Initial value of the FirstName property.</param> /// <param name="lastName">Initial value of the LastName property.</param> public static Contact CreateContact(global::System.Guid contactID, global::System.String firstName, global::System.String lastName) { Contact contact = new Contact(); contact.ContactID = contactID; contact.FirstName = firstName; contact.LastName = lastName; return contact; }
/// <summary> /// Deprecated Method for adding a new object to the Contacts EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. /// </summary> public void AddToContacts(Contact contact) { base.AddObject("Contacts", contact); }
public ObservableCollection<dynamic> GetDefaultMapping() { _currentMapping = new ObservableCollection<object>(); var hideProperties = new List<string> { "ContactID", "CompanyId", "Company", "CompanyReference", "HasErrors", "Item", "Error", "EntityState", "EntityKey" }; ObservableCollection<string> fileFields = GetColumns(_currentTable); var emptyContact = new Contact(); PropertyInfo[] contactMembers = emptyContact.GetType().GetProperties(); foreach (PropertyInfo contactMember in contactMembers) { if (hideProperties.Contains(contactMember.Name)) continue; dynamic field = new ExpandoObject(); field.CrmField = contactMember.Name; field.FileField = ""; field.FileFields = fileFields; _currentMapping.Add(field); } return _currentMapping; }
private void onImportWorkerOnDoWork(object sender, DoWorkEventArgs e) { var fields = _currentMapping.Where(f => !string.IsNullOrEmpty(f.FileField)); if (fields.Count() == 0) { _importWorker.ReportProgress(100); return; } var records = GetRecords(_currentTable); var contactsToSave = new List<Contact>(); for (int i = 0; i < records.Count; i++) { var record = records[i]; var contact = new Contact(); foreach (var field in fields) { var value = (object)((IDictionary<string, object>) record)[field.FileField]; value = value is DBNull? "": value; contact.GetType().GetProperty((string) field.CrmField).SetValue(contact,value, null); } //ContactsManager.Current.Save(contact); if (contact.Title == null) contact.Title = string.Empty; if (contact.Suffix == null) contact.Suffix = string.Empty; if (contact.FirstName == null) contact.FirstName = string.Empty; if (contact.LastName == null) contact.LastName = string.Empty; contactsToSave.Add(contact); _importWorker.ReportProgress(Convert.ToInt32(Math.Round((double) (i + 1)/records.Count*80.0, 0))); } ContactsManager.Current.Save(contactsToSave); _importWorker.ReportProgress(100); }
private void onImportWorkerOnDoWork(object sender, DoWorkEventArgs e) { var contacts = (ObservableCollection<object>)e.Argument; for (int i = 0; i < contacts.Count; i++) { ContactItem contactItem = (ContactItem)contacts[i]; var contact = new Contact(); contact.Title = contactItem.Title; contact.FirstName = contactItem.FirstName; contact.LastName = contactItem.LastName; contact.Suffix = contactItem.Suffix; contact.Telephone = contactItem.BusinessTelephoneNumber; contact.Fax = contactItem.BusinessFaxNumber; contact.Mobile = contactItem.MobileTelephoneNumber; contact.HomeTelephone = contactItem.HomeTelephoneNumber; contact.Website = contactItem.WebPage; contact.EmailAddress = contactItem.Email1Address; contact.EmailAddress1 = contactItem.Email2Address; contact.EmailAddress2 = contactItem.Email3Address; var company = CompaniesManager.Current.LoadCompanies().Where(c => c.Name == contactItem.CompanyName).FirstOrDefault(); contact.Company = company; if (contact.Title == null) contact.Title = string.Empty; if (contact.Suffix == null) contact.Suffix = string.Empty; if (contact.FirstName == null) contact.FirstName = string.Empty; if (contact.LastName == null) contact.LastName = string.Empty; ContactsManager.Current.Save(contact); _importWorker.ReportProgress(Convert.ToInt32(Math.Round((double)(i + 1) / contacts.Count * 100.0, 0))); } }
/// <summary> /// Saves changes to the database. /// </summary> /// <param name="contact"></param> public void Save(Contact contact) { if (contact == null) throw new ArgumentNullException("contact"); if (contact.ContactID == Guid.Empty || Context.Contacts.Where(c => c.ContactID == contact.ContactID).FirstOrDefault() == null) { if (contact.ContactID == Guid.Empty) contact.ContactID = Guid.NewGuid(); Context.Contacts.AddObject(contact); } Context.SaveChanges(); RefreshCache(OrderByField); }