Esempio n. 1
0
        static List <SupplierPpeType> extractSupplierPpeType(SuppliesPost post)
        {
            List <SupplierPpeType> ppeList = new List <SupplierPpeType>();

            foreach (string ppe in post.PpeTypes)
            {
                SupplierPpeType supplyPpe = new SupplierPpeType();

                if (Enum.TryParse(ppe, out PpeTypes ppeType))
                {
                    supplyPpe.PpeTypeId = (byte)ppeType;

                    if (ppeType == PpeTypes.Other)
                    {
                        supplyPpe.PpeTypeOther = post.OtherPpeTypes; //only add other if ppetype is other
                    }
                }
                else //fallback in case some ppe doesn't match our enums
                {
                    supplyPpe.PpeTypeId    = (int)PpeTypes.Other;
                    supplyPpe.PpeTypeOther = post.OtherPpeTypes;
                }

                ppeList.Add(supplyPpe);
            }

            return(ppeList);
        }
Esempio n. 2
0
        /// <summary>
        /// Handle the PPE Types on LEFT (i.e. basic details HWCs submit)
        /// </summary>
        void updateBasicPpeDetails(EditSuppliesPost s)
        {
            List <PpeTypes> existingPpeTypes = SupplierPpeTypes.SelectToList(p => (PpeTypes)p.PpeTypeId);

            //create new
            List <SupplierPpeTypeModel> ppeTypesToAdd = s.Supplies.PpeTypes.WhereToList(p => p.Selected && !existingPpeTypes.Contains(p.Type));

            foreach (SupplierPpeTypeModel supplierPpeTypeViewModel in ppeTypesToAdd)
            {
                SupplierPpeType ppeTypeToAdd = SupplierPpeType.Create_FromViewModel(supplierPpeTypeViewModel, this);
                SupplierPpeTypes.Add(ppeTypeToAdd);
            }

            //remove deselected
            List <SupplierPpeTypeModel> ppeTypesToRemove = s.Supplies.PpeTypes.WhereToList(p => !p.Selected && existingPpeTypes.Contains(p.Type));

            foreach (SupplierPpeTypeModel supplierPpeTypeViewModel in ppeTypesToRemove)
            {
                SupplierPpeType typeToRemove = SupplierPpeTypes.Single(p => p.PpeTypeId == (byte)supplierPpeTypeViewModel.Type);
                SupplierPpeTypes.Remove(typeToRemove);
            }

            //edit rest (existing)
            List <SupplierPpeTypeModel> ppeTypesToModify = s.Supplies.PpeTypes.WhereToList(p => p.Selected && existingPpeTypes.Contains(p.Type));

            foreach (SupplierPpeTypeModel supplierPpeTypeViewModel in ppeTypesToModify)
            {
                SupplierPpeType supplierExisting = SupplierPpeTypes.SingleOrDefault(p => p.PpeTypeId == (byte)supplierPpeTypeViewModel.Type);
                supplierExisting?.Modify(supplierPpeTypeViewModel);
            }
        }
        public static SupplierPpeType Create_FromViewModel(SupplierPpeTypeModel s, Supplier supplier)
        {
            SupplierPpeType respVal = new SupplierPpeType();

            respVal.Supplier     = supplier;
            respVal.PpeTypeId    = (byte)s.Type;
            respVal.PpeTypeOther = s.PpeOther;
            respVal.MeetsRegulatoryRequirementsId = (int)s.MeetsRegulations.Value;
            respVal.CostTypeId      = (int)s.CostType.Value;
            respVal.CostTypeOther   = s.CostTypeOther;
            respVal.CapacityPerWeek = s.CapacityPerWeek.Value;
            respVal.CurrentStock    = s.CurrentStock.Value;
            respVal.LeadTimeInDays  = s.LeadTimeInDays.Value;
            respVal.Notes           = s.Notes;

            return(respVal);
        }