Beispiel #1
0
        public static PolicyWaiverViewModel UpdatePolicyWaiverViewModel(
            this PolicyWaiverViewModel viewModel, ClientFieldData[] clientFieldData)
        {
            var groupClientField = clientFieldData
                                   .Where(o => string.IsNullOrEmpty(o.Id) == false)
                                   .GroupBy(x => x.Id)
                                   .ToList();

            var policyForDeleted = clientFieldData.FirstOrDefault(o =>
                                                                  o.Name == VerSecurityValues.POLICY_WAIVER_FOR_DELETE);
            var requestPolicy = clientFieldData.FirstOrDefault(o =>
                                                               o.Name == VerSecurityValues.POLICY_WAIVER_REQUEST_POLICY);
            var sendPolicy = clientFieldData.FirstOrDefault(o =>
                                                            o.Name == VerSecurityValues.POLICY_WAIVER_SEND_RESPONSE_POLICY);
            var opcType = clientFieldData.FirstOrDefault(o =>
                                                         o.Name == VerSecurityValues.POLICY_WAIVER_OPC_TYPE);

            viewModel.IsRequested = requestPolicy != null && requestPolicy.Value == "true";
            viewModel.IsResponded = sendPolicy != null && sendPolicy.Value == "true";
            int opcTypeId;

            if (opcType != null && int.TryParse(opcType.Value, out opcTypeId))
            {
                viewModel.OpcTypeId = opcTypeId;
            }

            if (policyForDeleted != null && string.IsNullOrEmpty(policyForDeleted.Value) == false)
            {
                var policyForDeleteList = policyForDeleted.Value.Split('|').ToList();
                viewModel.PolicyWaiverList.ForEach(
                    o => o.IsDeleted =
                        policyForDeleteList.Any(x => x == o.OperationPolicyWaiverId.ToString()));
            }

            foreach (var group in groupClientField)
            {
                var register =
                    viewModel.PolicyWaiverList
                    .FirstOrDefault(o => o.OperationPolicyWaiverId.ToString() == group.Key);

                var fieldList = group.ToList();

                if (register != null)
                {
                    ProcessRegisterPolicyWaiver(register, fieldList, viewModel.IsRequested, viewModel.IsResponded);
                }
                else
                {
                    ProcessNewPolicyWaiver(viewModel, fieldList, viewModel.IsRequested);
                }
            }

            return(viewModel);
        }
Beispiel #2
0
        private static void ProcessNewPolicyWaiver(
            PolicyWaiverViewModel viewModel,
            IList <ClientFieldData> fieldList,
            bool isRequestPolicy)
        {
            var category = fieldList.FirstOrDefault(o =>
                                                    o.Name == VerSecurityValues.POLICY_WAIVER_CATEGORY);
            var policy = fieldList.FirstOrDefault(o =>
                                                  o.Name == VerSecurityValues.POLICY_WAIVER);
            var policyJustification = fieldList.FirstOrDefault(o =>
                                                               o.Name == VerSecurityValues.POLICY_WAIVER_JUSTIFICATION);
            var status = fieldList.FirstOrDefault(o =>
                                                  o.Name == VerSecurityValues.POLICY_WAIVER_STATUS);

            var newRegister = new PolicyWaiverRowViewModel
            {
                IsAdded = true
            };

            if (category != null)
            {
                newRegister.PolicyWaiverCategory = new FieldModel
                {
                    IntValue = Convert.ToInt32(category.Value),
                    IsEdited = true
                };
            }

            if (policy != null)
            {
                newRegister.PolicyWaiver = new FieldModel
                {
                    TextValue = policy.Value,
                    IsEdited  = true
                };
            }

            if (policyJustification != null)
            {
                newRegister.PolicyWaiverJustification = new FieldModel
                {
                    TextValue = policyJustification.Value,
                    IsEdited  = true
                };
            }

            if (status != null)
            {
                newRegister.PolicyWaiverStatus = new FieldModel
                {
                    IntValue = Convert.ToInt32(status.Value),
                    IsEdited = true
                };
            }

            if (isRequestPolicy)
            {
                newRegister.IsRequested = true;
            }

            viewModel.PolicyWaiverList.Add(newRegister);
        }