protected void EditContact(VMContactItem contactItem, MasterEntity entity) { using(var c = NestedContainer) { Contact contact = null; if (Using<IEditContactModal>(c).AddUserContact(contactItem.Contact, out contact)) AddContactToList(entity, contact); } }
private async void DeleteContact(VMContactItem contact) { using (StructureMap.IContainer c = NestedContainer) { ResponseBool response = null; _proxy = Using<IDistributorServiceProxy>(c); response = await _proxy.ContactDeleteAsync(contact.Contact.Id); MessageBox.Show(response.ErrorInfo, "Agrimanagr: Manage Contacts", MessageBoxButton.OK, MessageBoxImage.Information); if (response.Success) ContactsList.Remove(ContactsList.FirstOrDefault(n => n.Contact.Id == contact.Contact.Id)); } }
private void AddContactToList(MasterEntity entity, Contact contact) { VMContactItem contactItem = new VMContactItem {IsNew = contact._Status == EntityStatus.New, IsDirty = true}; if (contact.Id == Guid.Empty) { contact.Id = Guid.NewGuid(); contact.ContactOwnerType = ContactOwnerType.User; if (contact.ContactClassification == ContactClassification.None) contact.ContactClassification = ContactClassification.SecondaryContact; if(ContactsList.All(n => n.Contact.ContactClassification != ContactClassification.PrimaryContact)) contact.ContactClassification = ContactClassification.PrimaryContact; } if (contact.ContactClassification == ContactClassification.PrimaryContact) { foreach (var cont in ContactsList.Where(n => n.IsPrimaryContact)) { cont.Contact.ContactClassification = ContactClassification.SecondaryContact; cont.IsDirty = true; } } var existing = ContactsList.FirstOrDefault(n => n.Contact.Id == contact.Id); if (existing != null) ContactsList.Remove(existing); contact.ContactOwnerMasterId = entity.Id; contactItem.Contact = contact; ContactsList.Add(contactItem); }
protected abstract void EditContact(VMContactItem contactItem);
protected override void EditContact(VMContactItem contactItem) { base.EditContact(contactItem, CommoditySupplier); }
private async void Save() { DateTime now = DateTime.Now; CommoditySupplier.CommoditySupplierType = CommoditySupplierType.Individual; CommoditySupplier.JoinDate = now; CommoditySupplier.Contact.Clear(); CommoditySupplier.Name = CommodityOwner.FullName; CommoditySupplier.BankId =SelectedBank!=null? SelectedBank.Id:Guid.Empty; CommoditySupplier.BankBranchId = SelectedBankBranch != null ? SelectedBankBranch.Id : Guid.Empty; CommoditySupplier.AccountNo = AccountNumber; CommoditySupplier.AccountName = AccountName; if (!IsValid(CommoditySupplier)) return; CommodityOwner.CommodityOwnerType = SelectedCommodityOwnerType; CommodityOwner.MaritalStatus = SelectedMaritalStatus; CommodityOwner.DateOfBirth = DateOfBirth; if (DateOfBirth.Year < 18) { MessageBox.Show("Farmer must be over 18 years old.", "Agrimanagr: Farmer Management", MessageBoxButton.OK); return; } CommodityOwner._SetStatus(EntityStatus.Active); if (!IsValid() || !IsValid(CommodityOwner)) return; CommodityProducer.CommodityProducerCentres.Clear(); CommodityProducer.CommodityProducerCentres.AddRange(AssignedCentresList.Select(n => n.Centre)); if (!IsValid() || !IsValid(CommodityProducer)) return; using (var c = NestedContainer) { string responseMsg = ""; _proxy = Using<IDistributorServiceProxy>(c); ResponseBool response = await _proxy.CommoditySupplierAddAsync(CommoditySupplier); responseMsg += response.ErrorInfo + "\n"; string log = string.Format("Created commodity supplier: {0}; Code: {1}; And Type {2}", CommoditySupplier.Name, CommoditySupplier.CostCentreCode, CommoditySupplier.CommoditySupplierType); Using<IAuditLogWFManager>(c).AuditLogEntry("Manage Commodity Suppliers", log); if (response.Success) {ContactsList.Clear(); var coResponse = await SaveCommodityOwner(); if (coResponse.ErrorInfo != "") responseMsg += coResponse.ErrorInfo + "\n"; var cpResponse = await SaveCommodityProducer(); if (cpResponse.ErrorInfo != "") responseMsg += cpResponse.ErrorInfo + "\n"; var enve = new VMContactItem(); var contact = new Contact(Guid.NewGuid()); contact.BusinessPhone = CommodityOwner.BusinessNumber; contact.ContactClassification=ContactClassification.PrimaryContact; contact.ContactOwnerMasterId = CommoditySupplier.Id; contact.DateOfBirth = CommodityOwner.DateOfBirth; contact.Email = CommodityOwner.Email; contact.Fax = CommodityOwner.FaxNumber; contact.Firstname = CommodityOwner.FirstName; contact.HomePhone = CommodityOwner.PhoneNumber; contact.JobTitle = "Farmer"; contact.Lastname = CommodityOwner.LastName; contact.MStatus =CommodityOwner.MaritalStatus; contact.PhysicalAddress = CommodityOwner.PhysicalAddress; contact.PostalAddress = CommodityOwner.PostalAddress; contact.MobilePhone = CommodityOwner.PhoneNumber; contact.ContactType = SelectedContactOwnerType; enve.IsDirty = true; enve.IsNew = true; enve.Contact = contact; ContactsList.Add(enve); bool success = await SaveContacts(CommoditySupplier); if (!coResponse.Success || !cpResponse.Success || !success) response.Success = false; } MessageBox.Show(responseMsg, "Agrimanagr: Manage Farmer", MessageBoxButton.OK, MessageBoxImage.Information); if (response.Success) SendNavigationRequestMessage( new Uri("views/admin/commodityowners/listcommodityowners.xaml", UriKind.Relative)); } }
protected async Task<bool> SaveContacts(Guid entityId, VMContactItem item) { using (var c = NestedContainer) { _proxy = Using<IDistributorServiceProxy>(c); ResponseBool response = null; var itemsToSave = new List<ContactItem>(); var contactItem = new ContactItem { MasterId = item.Contact.Id, DateOfBirth = item.Contact.DateOfBirth, MaritalStatusMasterId = (int)item.Contact.MStatus, BusinessPhone = item.Contact.BusinessPhone, ChildrenNames = item.Contact.ChildrenNames, City = item.Contact.City, Company = item.Contact.Company, ContactClassification = (int)item.Contact.ContactClassification, ContactOwnerType = item.Contact.ContactOwnerType, ContactOwnerMasterId = entityId, DateCreated = item.Contact._DateCreated, Email = item.Contact.Email, Fax = item.Contact.Fax, Firstname = item.Contact.Firstname, HomePhone = item.Contact.HomePhone, HomeTown = item.Contact.HomeTown, JobTitle = item.Contact.JobTitle, Lastname = item.Contact.Lastname, MobilePhone = item.Contact.MobilePhone, PhysicalAddress = item.Contact.PhysicalAddress, PostalAddress = item.Contact.PostalAddress, SpouseName = item.Contact.SpouseName, WorkExtPhone = item.Contact.WorkExtPhone, DateLastUpdated = DateTime.Now, StatusId = (int)EntityStatus.Active, IsNew = item.IsNew }; if (item.Contact.ContactType != null) contactItem.ContactTypeMasterId = item.Contact.ContactType.Id; itemsToSave.Add(contactItem); response = await _proxy.ContactsAddAsync(itemsToSave.ToList()); MessageBox.Show(response.ErrorInfo, "Agrimanagr: Manage contacts", MessageBoxButton.OK, MessageBoxImage.Information); return response.Success; } }
private VMContactItem AddContactToList(Guid entityId, Contact contact) { VMContactItem contactItem = new VMContactItem(); if (contact.Id == Guid.Empty) { contact.Id = Guid.NewGuid(); contactItem.IsNew = true; contact.ContactOwnerType = ContactOwnerType.User; } if (contact.ContactClassification == ContactClassification.PrimaryContact) { foreach (var cont in ContactsList.Where(n => n.IsPrimaryContact)) { cont.Contact.ContactClassification = ContactClassification.SecondaryContact; cont.IsDirty = true; } } var existing = ContactsList.FirstOrDefault(n => n.Contact.Id == contact.Id); if (existing != null) ContactsList.Remove(existing); contact.ContactOwnerMasterId = entityId; contactItem.Contact = contact; contactItem.IsDirty = true; ContactsList.Add(contactItem); return contactItem; }
protected override void EditContact(VMContactItem contactItem) { base.EditContact(contactItem, User); }