private void SaveMasterData(MasterEntity entity, MasterDataDTOSaveCollective collective) { switch (collective) { case MasterDataDTOSaveCollective.Outlet: if (entity is Outlet) _costCentreRepository.Save(entity as Outlet); break; case MasterDataDTOSaveCollective.Contact: if (entity is Contact) _contactRepository.Save(entity as Contact); break; case MasterDataDTOSaveCollective.Asset: if (entity is Asset) _assetRepository.Save(entity as Asset); break; case MasterDataDTOSaveCollective.DistributrFile: if (entity is DistributrFile) _distributrFileRepository.Save(entity as DistributrFile); break; case MasterDataDTOSaveCollective.OutletVisitDay: if (entity is OutletVisitDay) _outletVisitDayRepository.Save(entity as OutletVisitDay); break; case MasterDataDTOSaveCollective.OutletPriority: if (entity is OutletPriority) _outletPriorityRepository.Save(entity as OutletPriority); break; case MasterDataDTOSaveCollective.Target: if (entity is Target) _targetRepository.Save(entity as Target); break; case MasterDataDTOSaveCollective.User: if (entity is User) _userRepository.Save(entity as User); break; case MasterDataDTOSaveCollective.DistributrSalesman: if (entity is DistributorSalesman) _costCentreRepository.Save(entity as DistributorSalesman); break; case MasterDataDTOSaveCollective.PasswordChange: if (entity != null && entity is User) _userRepository.Save(entity as User); break; case MasterDataDTOSaveCollective.AppSettings: if (entity != null && entity is AppSettings) _settingsRepository.Save(entity as AppSettings); break; case MasterDataDTOSaveCollective.InventorySerials: if (entity != null && entity is InventorySerials) _inventorySerialsRepository.AddInventorySerial(entity as InventorySerials); break; default: break; } }
protected async Task<bool> SaveContacts(MasterEntity entity) { using (var c = NestedContainer) { if(!ContactsList.Any(n => n.IsDirty)) return true; _proxy = Using<IDistributorServiceProxy>(c); ResponseBool response = new ResponseBool { Success = false }; var itemsToSave = new List<ContactItem>(); foreach (var item in ContactsList.Where(n => n.IsDirty)) { 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 = entity.Id, 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); } if (itemsToSave.Count > 0) { response = await _proxy.ContactsAddAsync(itemsToSave.ToList()); MessageBox.Show(response.ErrorInfo, "Agrimanagr: Manage contacts", MessageBoxButton.OK, MessageBoxImage.Information); } else response.Success = true; return response.Success; } }
protected void LoadEntityContacts(MasterEntity entity) { _entity = entity; using (var c = NestedContainer) { ContactsList.Clear(); var contacts = Using<IContactRepository>(c).GetByContactsOwnerId(entity.Id, ShowInactive) .Where(n => (n.Firstname.ToLower().Contains(SearchText.ToLower()) || n.Lastname.ToLower().Contains(SearchText.ToLower()) || n.MobilePhone.ToLower().Contains(SearchText.ToLower())) ); _pagedList = new PagenatedList<Contact>(contacts.AsQueryable(), CurrentPage, ItemsPerPage, contacts.Count()); _pagedList.ToList().ForEach( n => ContactsList.Add(new VMContactItem { Contact = n, IsDirty = false, IsNew = false })); UpdatePagenationControl(); } }
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); } }
protected void AddOrEditContact(Button btnAdd, MasterEntity entity) { using(var c = NestedContainer) { Expander expContact = btnAdd.FindParentByType<Expander>(); if (expContact != null && !expContact.IsExpanded) { expContact.IsExpanded = true; } Contact contact = null; if (Using<IEditContactModal>(c).AddUserContact(new Contact(Guid.Empty), out contact)) AddContactToList(entity, contact); } }
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); }
/// <summary> /// Dodgy mappings /// </summary> static void AfterMapAction(MasterEntity me, MasterBaseDTO mb) { if(me==null){ //Workaround for e.g. Route which bring a null me return; } mb.DateCreated = me._DateCreated; mb.MasterId = me.Id; mb.DateLastUpdated = me._DateLastUpdated; mb.StatusId = (int)me._Status; }
static void AfterMapAction(MasterBaseDTO dto, MasterEntity entity) { if (dto == null) { return; } entity._SetDateCreated(dto.DateCreated); entity._SetDateLastUpdated(dto.DateLastUpdated); entity._SetStatus((EntityStatus)dto.StatusId); }
private MasterBaseDTO MapResolver(MasterDataCollective masterData, MasterEntity me) { switch (masterData) { case MasterDataCollective.SaleProduct: return masterDataToDTOMapping.Map(me as SaleProduct); case MasterDataCollective.ReturnableProduct: return masterDataToDTOMapping.Map(me as ReturnableProduct); case MasterDataCollective.ConsolidatedProduct: return masterDataToDTOMapping.Map(me as ConsolidatedProduct); case MasterDataCollective.PricingTier: return masterDataToDTOMapping.Map(me as ProductPricingTier); case MasterDataCollective.Producer: Producer p = me as Producer; if (p == null) return null; return masterDataToDTOMapping.Map(p); case MasterDataCollective.Country: return masterDataToDTOMapping.Map(me as Country); case MasterDataCollective.OutletCategory: return masterDataToDTOMapping.Map(me as OutletCategory); case MasterDataCollective.OutletType: return masterDataToDTOMapping.Map(me as OutletType); case MasterDataCollective.Outlet: return masterDataToDTOMapping.Map(me as Outlet); case MasterDataCollective.Pricing: return masterDataToDTOMapping.Map(me as ProductPricing); /*case MasterDataCollective.PricingItem: return masterDataToDTOMapping.Map(me as ProductPricing.ProductPricingItem); break;*/ case MasterDataCollective.ProductBrand: return masterDataToDTOMapping.Map(me as ProductBrand); case MasterDataCollective.ProductFlavour: return masterDataToDTOMapping.Map(me as ProductFlavour); case MasterDataCollective.ProductPackagingType: return masterDataToDTOMapping.Map(me as ProductPackagingType); case MasterDataCollective.ProductType: return masterDataToDTOMapping.Map(me as ProductType); case MasterDataCollective.Region: return masterDataToDTOMapping.Map(me as Region); case MasterDataCollective.Territory: return masterDataToDTOMapping.Map(me as Territory); case MasterDataCollective.Area://no DTO for route yet return masterDataToDTOMapping.Map(me as Area); case MasterDataCollective.SocioEconomicStatus: return masterDataToDTOMapping.Map(me as SocioEconomicStatus); case MasterDataCollective.VatClass: return masterDataToDTOMapping.Map(me as VATClass); case MasterDataCollective.Distributor: return masterDataToDTOMapping.Map(me as Distributor); case MasterDataCollective.Route: return masterDataToDTOMapping.Map(me as Route); case MasterDataCollective.Contact: return masterDataToDTOMapping.Map(me as Contact); case MasterDataCollective.ProductPackaging: return masterDataToDTOMapping.Map(me as ProductPackaging); /*case MasterDataCollective.CostCentreApplication: return masterDataToDTOMapping.Map(me as CostCentreApplication);*/ case MasterDataCollective.DistributorSalesman: return masterDataToDTOMapping.Map(me as DistributorSalesman); case MasterDataCollective.User://no DTO for user yet return masterDataToDTOMapping.Map(me as User); case MasterDataCollective.DistributorPendingDispatchWarehouse: return masterDataToDTOMapping.Map(me as DistributorPendingDispatchWarehouse); case MasterDataCollective.ChannelPackaging : return masterDataToDTOMapping.Map(me as ChannelPackaging ); case MasterDataCollective.Competitor : return masterDataToDTOMapping.Map(me as Competitor); case MasterDataCollective.CompetitorProduct : return masterDataToDTOMapping.Map(me as CompetitorProducts ); case MasterDataCollective.Asset : return masterDataToDTOMapping.Map(me as Asset); case MasterDataCollective.AssetType : return masterDataToDTOMapping.Map(me as AssetType ); case MasterDataCollective.District : return masterDataToDTOMapping.Map(me as District); case MasterDataCollective.Province : return masterDataToDTOMapping.Map(me as Province); case MasterDataCollective.ReorderLevel : return masterDataToDTOMapping.Map(me as ReOrderLevel); //case MasterDataCollective.Returnables : // return masterDataToDTOMapping.Map(me as Returnables); //case MasterDataCollective.Shells : // return masterDataToDTOMapping.Map(me as Shells); case MasterDataCollective.TargetPeriod : return masterDataToDTOMapping.Map(me as TargetPeriod); case MasterDataCollective.Target: return masterDataToDTOMapping.Map(me as Target); case MasterDataCollective.ProductDiscount: return masterDataToDTOMapping.Map(me as ProductDiscount); case MasterDataCollective.SaleValueDiscount: return masterDataToDTOMapping.Map(me as SaleValueDiscount); case MasterDataCollective.DiscountGroup: return masterDataToDTOMapping.Map(me as DiscountGroup); case MasterDataCollective.CertainValueCertainProductDiscount: return masterDataToDTOMapping.Map(me as CertainValueCertainProductDiscount); case MasterDataCollective.PromotionDiscount: return masterDataToDTOMapping.Map(me as PromotionDiscount); case MasterDataCollective.ProductGroupDiscount: return masterDataToDTOMapping.Map(me as ProductGroupDiscount); case MasterDataCollective.FreeOfChargeDiscount: return masterDataToDTOMapping.Map(me as FreeOfChargeDiscount); case MasterDataCollective.SalesmanRoute: return masterDataToDTOMapping.Map(me as SalesmanRoute); case MasterDataCollective.SalesmanSupplier: return masterDataToDTOMapping.Map(me as SalesmanSupplier); case MasterDataCollective.UserGroup: return masterDataToDTOMapping.Map(me as UserGroup); case MasterDataCollective.UserGroupRole: return masterDataToDTOMapping.Map(me as UserGroupRoles); case MasterDataCollective.Bank: return masterDataToDTOMapping.Map(me as Bank); case MasterDataCollective.BankBranch: return masterDataToDTOMapping.Map(me as BankBranch); case MasterDataCollective.Supplier: return masterDataToDTOMapping.Map(me as Supplier); case MasterDataCollective.ContactType: return masterDataToDTOMapping.Map(me as ContactType); case MasterDataCollective.AssetStatus: return masterDataToDTOMapping.Map(me as AssetStatus); case MasterDataCollective.AssetCategory: return masterDataToDTOMapping.Map(me as AssetCategory); case MasterDataCollective.OutletPriority: return masterDataToDTOMapping.Map(me as OutletPriority); case MasterDataCollective.OutletVisitDay: return masterDataToDTOMapping.Map(me as OutletVisitDay); case MasterDataCollective.TargetItem: return masterDataToDTOMapping.Map(me as TargetItem); case MasterDataCollective.Setting: return masterDataToDTOMapping.Map(me as AppSettings); case MasterDataCollective.RetireSetting: return masterDataToDTOMapping.Map(me as RetireDocumentSetting); default: throw new Exception("Failed to map to DTO " + masterData.ToString()); } }
VMContactOwnerItem Map(MasterEntity entity) { if(entity is User) { return new VMContactOwnerItem() {Id = entity.Id, Name = ((User) entity).Username}; } else if(entity is CostCentre) { return new VMContactOwnerItem {Id = entity.Id, Name = ((CostCentre) entity).Name}; } return null; }