Exemplo n.º 1
0
        /// <summary>
        /// Handle the PPE Types on LEFT (i.e. basic details HWCs submit)
        /// </summary>
        void updateBasicPpeDetails(EditNeedsPost s)
        {
            List <PpeTypes> existingPpeTypes = NeedPpeTypes.SelectToList(p => (PpeTypes)p.PpeTypeId);

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

            foreach (NeedPpeTypeViewModel needPpeTypeViewModel in ppeTypesToAdd)
            {
                NeedPpeType ppeTypeToAdd = NeedPpeType.Create_FromViewModel(needPpeTypeViewModel, this);
                NeedPpeTypes.Add(ppeTypeToAdd);
            }

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

            foreach (NeedPpeTypeViewModel needPpeTypeViewModel in ppeTypesToRemove)
            {
                NeedPpeType typeToRemove = NeedPpeTypes.Single(p => p.PpeTypeId == (byte)needPpeTypeViewModel.Type);
                NeedPpeTypes.Remove(typeToRemove);
            }

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

            foreach (NeedPpeTypeViewModel needPpeTypeViewModel in ppeTypesToModify)
            {
                NeedPpeType needExisting = NeedPpeTypes.SingleOrDefault(p => p.PpeTypeId == (byte)needPpeTypeViewModel.Type);
                needExisting?.Modify(needPpeTypeViewModel);                 //works??
            }
        }
Exemplo n.º 2
0
 /// <summary>
 /// Handle the Needs Matching data ON RIGHT (i.e. Admin details such as PPE Status and Suppliers etc)
 /// mod those that are in post, and already exist
 /// </summary>
 void updatePpeMatchingDetails(EditNeedsPost s)
 {
     foreach (NeedsMatchData needsMatchData in s.NeedsMatching)
     {
         NeedPpeType needExisting = NeedPpeTypes.SingleOrDefault(p => p.PpeTypeId == (byte)needsMatchData.PpeType);
         needExisting?.Modify(needsMatchData);
     }
 }
Exemplo n.º 3
0
 public bool IsMarkedAllNotMet()
 {
     return(NeedPpeTypes.All(p => p.StatusId == (int)PpeStatus.NotMet));
 }