Пример #1
0
        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);
        }
Пример #7
0
  /// <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;
  }
Пример #8
0
 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;
 }