public List<CustomerProspectOptionValue> GetSelectedOptionsFromPostData(RegulatoryDocumentModel _dataModel, int idParent) { List<CustomerProspectOptionValue> retVal = new List<CustomerProspectOptionValue>(); Option ParentOption = _dataModel.Option.Where(o => o.idOption.Equals(idParent)).FirstOrDefault(); if (ParentOption != null) { var ChildOptions = _dataModel.Option.Where(o => o.idParent.HasValue && o.idParent.Value.Equals(ParentOption.idOption)); foreach (var childOp in ChildOptions) { bool isSelected = !ParentOption.SingleOption.HasValue; string idPrefix = string.Empty; if (ParentOption.SingleOption.HasValue) { if (ParentOption.SingleOption.Value) idPrefix = "rb_{0}_{1}"; else idPrefix = "chk_{0}_{1}"; string postDataName = string.Format(idPrefix, childOp.idParent.Value, childOp.idOption); if (!string.IsNullOrEmpty(Request.Params[postDataName]) && Request.Params[postDataName].ToLower().Equals("c")) { isSelected = true; } } if (isSelected) { CustomerProspectOptionValue newVal = new CustomerProspectOptionValue(); newVal.idCustomerProspect = _dataModel.TargetCustomerProspect.idCustomer; newVal.idOption = childOp.idOption; newVal.Option = childOp; retVal.Add(newVal); if (_dataModel.Option.Count(o => o.idParent.HasValue && o.idParent.Value.Equals(childOp.idOption)) > 0) { retVal.AddRange(GetSelectedOptionsFromPostData(_dataModel, childOp.idOption)); } } } } return retVal; }
private RegulatoryDocumentModel AddParentOptionToOptionValue(int idOption, int idOptionParent, RegulatoryDocumentModel regulatoryDocumentModel) { List<CustomerProspectOptionValue> lstRMValues = regulatoryDocumentModel.OptionValue; //exist optionvalue from RM ? CustomerProspectOptionValue rmOptValue = lstRMValues.Where(ov => ov.idOption == idOption).FirstOrDefault(); if (rmOptValue != null) { //Add optionParent if not exist CustomerProspectOptionValue rmOptParentValue = lstRMValues.Where(ov => ov.idOption == idOptionParent).FirstOrDefault(); if (rmOptParentValue == null) { rmOptParentValue = new CustomerProspectOptionValue() { idCustomerProspectOptionValue = 0, //?? idOption = idOptionParent, idCustomerProspect = regulatoryDocumentModel.TargetCustomerProspect.idCustomer, Value = string.Empty }; lstRMValues.Add(rmOptParentValue); } } return regulatoryDocumentModel; }
public List<CustomerProspectOptionValue> GetSelectedOptions(RegulatoryDocumentModel _dataModel) { List<CustomerProspectOptionValue> retVal = new List<CustomerProspectOptionValue>(); var ParentOptions = _dataModel.Option.Where(o => !o.idParent.HasValue); if (ParentOptions != null) { foreach (var parent in ParentOptions) { var selectedChild = GetSelectedOptionsFromPostData(_dataModel, parent.idOption); if (selectedChild.Count > 0) { CustomerProspectOptionValue newVal = new CustomerProspectOptionValue(); newVal.idCustomerProspect = _dataModel.TargetCustomerProspect.idCustomer; newVal.idOption = parent.idOption; newVal.Option = parent; retVal.Add(newVal); retVal.AddRange(selectedChild); } } } return retVal; }
private RegulatoryDocumentModel GetOptionAttributeValueFromLMtoRM(int idOptionLM, int idOptionAttributeLM, int idOptionRM, int idOptionAttributeRM, RegulatoryDocumentModel regulatoryDocumentModel) { List<CustomerProspectOptionValue> lstRMValues = regulatoryDocumentModel.OptionValue; List<CustomerProspectOptionValue> lstLMValues = regulatoryDocumentModel.LM_RemunerationOptionValues; //Get from RM string RM_AttributeValue = CustomerProspectOptionBL.GetAttributeValue(idOptionRM, idOptionAttributeRM, lstRMValues); if (!string.IsNullOrEmpty(RM_AttributeValue)) { //Remove old option and attribute values CustomerProspectOptionValue rmOptValue = lstRMValues.Where(ov => ov.idOption == idOptionRM).FirstOrDefault(); IList<CustomerProspectOptionAttributeValue> lstOptionAttributeValues = new List<CustomerProspectOptionAttributeValue>(rmOptValue.CustomerProspectOptionAttributeValue); foreach (var item in lstOptionAttributeValues) { var optionAttrValueToBeDel = rmOptValue.CustomerProspectOptionAttributeValue.Where(oa => oa.idCustomerProspectOptionAttributeValue == item.idCustomerProspectOptionAttributeValue).FirstOrDefault(); rmOptValue.CustomerProspectOptionAttributeValue.Remove(optionAttrValueToBeDel); } lstRMValues.Remove(rmOptValue); } //Get from LM string LM_AttributeValue = CustomerProspectOptionBL.GetAttributeValue(idOptionLM, idOptionAttributeLM, lstLMValues); if (!string.IsNullOrEmpty(LM_AttributeValue)) { //exist optionvalue from RM ? CustomerProspectOptionValue rmOptValue = lstRMValues.Where(ov => ov.idOption == idOptionRM).FirstOrDefault(); if (rmOptValue == null) { rmOptValue = new CustomerProspectOptionValue() { idCustomerProspectOptionValue = 0, //?? idOption = idOptionRM, idCustomerProspect = regulatoryDocumentModel.TargetCustomerProspect.idCustomer, Value = string.Empty }; lstRMValues.Add(rmOptValue); } CustomerProspectOptionAttributeValue newOptAttributeValue = new CustomerProspectOptionAttributeValue() { idCustomerProspectOptionAttributeValue = 0, //?? idOptionAttribute = idOptionAttributeRM, idCustomerProspect = regulatoryDocumentModel.TargetCustomerProspect.idCustomer, Value = LM_AttributeValue, }; //Add optionattribute to optionvalue rmOptValue.CustomerProspectOptionAttributeValue.Add(newOptAttributeValue); } return regulatoryDocumentModel; }