public List<CustomerProspectOptionValue> GetSelectedOptionsFromPostData(TarificationModel _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.idCustomerProspect; 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; }
public List<CustomerProspectOptionAttributeValue> GetAttributValueFromPostData(TarificationModel _dataModel, int idOption) { List<CustomerProspectOptionAttributeValue> retVal = new List<CustomerProspectOptionAttributeValue>(); Option targetOption = _dataModel.Option.Where(o => o.idOption.Equals(idOption)).FirstOrDefault(); if (targetOption.OptionAttribute != null) { foreach (var optAttr in targetOption.OptionAttribute) { string idPrefix = string.Empty; string dataType = optAttr.Datatype.ToLower(); if (dataType.Equals("string") || dataType.Equals("multiline")) idPrefix = "txt_{0}_{1}"; else if (dataType.Equals("int") || dataType.Equals("float")) idPrefix = "txt_{0}_{1}"; else if (dataType.Equals("datetime")) idPrefix = "dt_{0}_{1}"; string ParamName = string.Format(idPrefix, optAttr.idOption, optAttr.idOptionAttribute); if (!string.IsNullOrEmpty(Request.Params[ParamName])) { string strVal = Request.Params[ParamName]; CustomerProspectOptionAttributeValue newVal = new CustomerProspectOptionAttributeValue(); newVal.idOptionAttribute = optAttr.idOptionAttribute; newVal.idCustomerProspect = _dataModel.idCustomerProspect; newVal.Value = strVal; retVal.Add(newVal); } } } return retVal; }
public List<CustomerProspectOptionValue> GetSelectedOptions(TarificationModel _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.idCustomerProspect; newVal.idOption = parent.idOption; newVal.Option = parent; retVal.Add(newVal); retVal.AddRange(selectedChild); } } } return retVal; }
public void UpdateData(TarificationModel _dataModel) { //Retrieve selected Options List<CustomerProspectOptionValue> SelectedOptions = GetSelectedOptions(_dataModel); //Retrieve Set Attribute Values foreach (var optionVal in SelectedOptions) { foreach (var data in GetAttributValueFromPostData(_dataModel, optionVal.idOption)) { optionVal.CustomerProspectOptionAttributeValue.Add(data); } } //Send Data CustomerProspectOptionBL.UpdateCustomerProspectOptions(_dataModel.idCustomerProspect, SelectedOptions); }
public List<TarificationOption> DeriveDataForView(TarificationModel inputData, List<FirmInstitutionOptionValue> lstFirmInstitutionOptionValues) { List<TarificationOption> retVal = new List<TarificationOption>(); foreach (Option opt in inputData.Option) { //Set default values : values from FirmInstitution Tarification TarificationOption optModel = new TarificationOption(opt); int idOptionFirmEquivalent = inputData.GetDefaultId(opt.idOption); var optFirmValue = lstFirmInstitutionOptionValues.Where(ov => ov.idOption.Equals(idOptionFirmEquivalent)); if (optFirmValue != null) { optModel.IsSelected = optFirmValue.Count() > 0; } retVal.Add(optModel); } return retVal; }
public List<TarificationOption> DeriveDataForView(TarificationModel inputData) { List<TarificationOption> retVal = new List<TarificationOption>(); foreach (Option opt in inputData.Option) { TarificationOption optModel = new TarificationOption(opt); var optValue = inputData.OptionValue.Where(ov => ov.idOption.Equals(optModel.Option.idOption)); if (optValue != null) { optModel.IsSelected = optValue.Count() > 0; } retVal.Add(optModel); } return retVal; }
public TarificationModel GetViewDataModel(Guid idTargetCustomer) { var SessionInstitution = Business.Utility.SessionManager.GetFirmInstitutionSession(); TarificationModel retVal = new TarificationModel(); //retVal.CustomerProspect = TarificationBL // .GetCustomersForTarificationByIdFirmInstitution(SessionInstitution.idFirmInstitution) // .Where(c => c.idCustomer.Equals(idTargetCustomer)).FirstOrDefault(); retVal.CustomerProspect = CustomerProspectBL.GetCustomerProspectById(idTargetCustomer); retVal.idCustomerProspect = idTargetCustomer; //Retrieve Options and Attributes data var option = OptionBL.GetOptionsByIdParent(_tarificationParentID); if (option != null) retVal.Option = option.ToList(); //Update Data if (Request.RequestType.ToLower() != "get") { UpdateData(retVal); } //Retrieve Option Value and OptionAttribute Value retVal.OptionValue = CustomerProspectOptionBL.GetOptionValueListWithIdCustomerProspectAndIdParentOption(idTargetCustomer, _tarificationParentID); //TODO : If no tarification value, get FirmInstitution tarification values as default if (retVal.OptionValue.Count == 0) { List<FirmInstitutionOptionValue> lstFirmInstitutionOptionValues = this.GetFirmInstitutionTarificationValues(); retVal.OptionAttributeValueDefault = this.GetFirmInstitutionOptionAttributeValues(lstFirmInstitutionOptionValues); //Map data to View Model retVal.OptionData = DeriveDataForView(retVal, lstFirmInstitutionOptionValues); } else { retVal.OptionAttributeValueDefault = new List<FirmInstitutionOptionAttributeValue>(); //Map data to View Model retVal.OptionData = DeriveDataForView(retVal); } return retVal; }