public static void UpdateEditIndicatorPageViewModelFund(this EditIndicatorPageViewModel <FundBasicDataViewModel> model, ClientFieldData[] formData) { model.UpdateEditIndicatorPageViewModelCommon(formData); model.Indicator.Specific.Disaggretations = formData.GetSubindicatorData("FundDisaggregation"); var field = formData.First(x => x.Name == "isActive"); if (field != null) { model.Indicator.Specific.IsActive = GetBoolValue(field.Value); } field = formData.First(x => x.Name == "fund"); if (field != null) { model.Indicator.Specific.FundId = int.Parse(field.Value); } field = formData.FirstOrDefault(x => x.Name == "theme"); model.Indicator.Specific.ThemeIds.Clear(); if (field != null) { var list = field.Value.Split(',').Select(x => int.Parse(x)).ToList(); model.Indicator.Specific.ThemeIds = list; } }
private EditIndicatorPageViewModel <FWBasicDataViewModel> GetIndicator(int indicatorId) { var havePermission = SetViewBagGlobalPermissionAndCheckAny(ActionEnum.FWIndicatorWritePermission, ActionEnum.FWIndicatorTemplateWritePermission); EditIndicatorPageViewModel <FWBasicDataViewModel> result = null; if (havePermission) { result = new EditIndicatorPageViewModel <FWBasicDataViewModel>() { ControllerName = base.ControllerName }; var response = (GetIndicatorResponse <FWBasicDataViewModel>)_resultFrameworkService.GetIndicator(indicatorId); if (response.IsValid) { result.Indicator = response.Indicator; } SetViewBagErrorMessageInvalidResponse(response); SetViewBagEditIndicator(result); } else { ViewBag.ErrorMessage = Localization.GetText(FRIENDLY_PERMISSION_ERROR); } return(result); }
private void SetViewBagEditIndicator(EditIndicatorPageViewModel <FundBasicDataViewModel> model) { ViewBag.UnitOfMeasureList = new List <SelectListItem>(); ViewBag.FundList = new List <SelectListItem>(); ViewBag.ThemeList = new List <MultiDropDownItem>(); this.SetViewBagListFromCatalog(_catalogService, new Dictionary <ConvergenceMasterDataTypeEnum, string> { { ConvergenceMasterDataTypeEnum.UnitMeasureCGM, "UnitOfMeasureList" }, }); var responseThemes = _catalogService.GetMasterDataListByTypeCode(false, ConvergenceMasterDataTypeEnum.IndicatorTheme.GetEnumDescription()); if (responseThemes.MasterDataCollection == null) { responseThemes.MasterDataCollection = new List <MasterDataViewModel>(); } ViewBag.ThemeList = responseThemes.MasterDataCollection.ConvertToMultiDropDownItems(); var responseFund = _fundService.GetFunds(); if (responseFund.IsValid) { ViewBag.FundList = responseFund.Funds; } ViewBag.indicatorTemplateList = base.GetTemplatesCombo(_fundService); }
private void SetViewBagEditIndicator( EditIndicatorPageViewModel <StandardizedBasicDataViewModel> model) { ViewBag.indicatorTemplateList = base.GetTemplatesCombo(_standardizedOutputService); ViewBag.UnitMeasureList = new List <SelectListItem>(); ViewBag.BusinessLineList = new List <SelectListItem>(); ViewBag.OutputGroupList = new List <SelectListItem>(); ViewBag.ThemeList = new List <MultiDropDownItem>(); ViewBag.FundsIndByTheme = new Dictionary <int, List <Tuple <string, List <MultiDropDownItem> > > >(); var attributesResponse = _standardizedOutputService .GetAttributesForTemplate(model.Indicator.Common.TemplateVersionId); if (attributesResponse.IsValid) { List <AttributeCategoryViewModel> simpleLevelList = null; if (attributesResponse.SimpleLevelAttributes.ContainsKey(IndicatorAttributeTypeEnum.BusinessLine)) { simpleLevelList = attributesResponse.SimpleLevelAttributes[IndicatorAttributeTypeEnum.BusinessLine]; ViewBag.BusinessLineList = simpleLevelList.ConvertToSelectListItem(); } if (attributesResponse.SimpleLevelAttributes.ContainsKey(IndicatorAttributeTypeEnum.OutputGroup)) { simpleLevelList = attributesResponse.SimpleLevelAttributes[IndicatorAttributeTypeEnum.OutputGroup]; ViewBag.OutputGroupList = simpleLevelList.ConvertToSelectListItem(); } } this.SetViewBagListFromCatalog( _catalogService, new Dictionary <ConvergenceMasterDataTypeEnum, string> { { ConvergenceMasterDataTypeEnum.UnitMeasureCGM, "UnitMeasureList" }, }); var responseThemes = _commonTCMService.GetOutputThemes(model.Indicator.Specific.ThemeIds) .Select(x => new MasterDataViewModel { MasterId = x.ConvergenceMasterDataId, NameEn = x.NameEn, NameEs = x.NameEs, NameFr = x.NameFr, NamePt = x.NamePt }) .ToList(); ViewBag.ThemeList = responseThemes.ConvertToMultiDropDownItems(); var themesIds = responseThemes.Select(x => x.MasterId); var fundByThemeResponse = _standardizedOutputService .GetIndicatorsAndFundByTheme(themesIds.ToArray()); if (fundByThemeResponse.IsValid) { ViewBag.FundsIndByTheme = ConvertToMultiDropDownItem(fundByThemeResponse.FundsByTheme); } }
public static void UpdateEditIndicatorPageViewModelStandardized(this EditIndicatorPageViewModel <StandardizedBasicDataViewModel> model, ClientFieldData[] formData) { model.UpdateEditIndicatorPageViewModelCommon(formData); var field = formData.First(x => x.Name == "indicatorNumberPrefix"); if (field != null) { model.Indicator.Common.IndicatorNumber = string.Format("{0}.{1}", field.Value, model.Indicator.Common.IndicatorNumber); } field = formData.First(x => x.Name == "isActive"); if (field != null) { model.Indicator.Specific.IsActive = GetBoolValue(field.Value); } field = formData.First(x => x.Name == "isContribution"); if (field != null) { model.Indicator.Specific.IsContribution = GetBoolValue(field.Value); } field = formData.FirstOrDefault(x => x.Name == "businessLineId"); model.Indicator.Specific.BusinessLineId = 0; if (field != null) { model.Indicator.Specific.BusinessLineId = int.Parse(field.Value); } field = formData.FirstOrDefault(x => x.Name == "outputGroupId"); model.Indicator.Specific.OutputGroupId = 0; if (field != null) { model.Indicator.Specific.OutputGroupId = int.Parse(field.Value); } field = formData.FirstOrDefault(x => x.Name == "theme"); model.Indicator.Specific.ThemeIds.Clear(); if (field != null) { var list = field.Value.Split(',').Select(x => int.Parse(x)).ToList(); model.Indicator.Specific.ThemeIds = list; } model.Indicator.Specific.FundIdsByTheme = model.Indicator.Specific.FundIdsByTheme.ConvertFundIdsByTheme( model.Indicator.Specific.ThemeIds, formData); model.Indicator.Specific.Disaggretations = formData.GetSubindicatorData("StandardizedDisaggregation"); }
private void SetViewBagEditIndicator(EditIndicatorPageViewModel <FWBasicDataViewModel> model) { ViewBag.indicatorTemplateList = base.GetTemplatesCombo(_resultFrameworkService); ViewBag.PriorityAreaList = new List <MultiDropDownItem>(); ViewBag.DisaggregationList = new List <MultiDropDownItem>(); ViewBag.TypeCRFList = new List <SelectListItem>(); ViewBag.UnitMeasureList = new List <SelectListItem>(); var attributesResponse = _resultFrameworkService.GetAttributesForTemplate(model.Indicator.Common.TemplateVersionId); if (attributesResponse.IsValid) { List <AttributeCategoryViewModel> simpleLevelList = null; List <AttributeLevelViewModel> multiLevelList = null; if (attributesResponse.SimpleLevelAttributes.ContainsKey(IndicatorAttributeTypeEnum.TypeCRF)) { simpleLevelList = attributesResponse.SimpleLevelAttributes[IndicatorAttributeTypeEnum.TypeCRF]; ViewBag.TypeCRFList = simpleLevelList.ConvertToSelectListItem(); } if (attributesResponse.MultiLevelAttributes.ContainsKey(IndicatorAttributeTypeEnum.PriorityArea)) { multiLevelList = attributesResponse.MultiLevelAttributes[IndicatorAttributeTypeEnum.PriorityArea]; ViewBag.PriorityAreaList = multiLevelList.ConvertToMultiDropDownItems(); } if (attributesResponse.MultiLevelAttributes.ContainsKey(IndicatorAttributeTypeEnum.Disaggregation)) { multiLevelList = attributesResponse.MultiLevelAttributes[IndicatorAttributeTypeEnum.Disaggregation]; ViewBag.DisaggregationList = multiLevelList.ConvertToMultiDropDownItems(); } } var masterTypeUOM = GetUOMMasterTypeByTemplate(model.Indicator.Common.TemplateVersionId); this.SetViewBagListFromCatalog( _catalogService, new Dictionary <ConvergenceMasterDataTypeEnum, string> { { masterTypeUOM, "UnitMeasureList" }, }); }
public static void UpdateEditIndicatorPageViewModelFramework(this EditIndicatorPageViewModel <FWBasicDataViewModel> model, ClientFieldData[] formData) { model.UpdateEditIndicatorPageViewModelCommon(formData); var field = formData.FirstOrDefault(x => x.Name == "priorityAreaId"); model.Indicator.Specific.PriorityAreaIds.Clear(); if (field != null) { var list = field.Value.Split(',').Select(x => int.Parse(x)).ToList(); model.Indicator.Specific.PriorityAreaIds = list; } field = formData.FirstOrDefault(x => x.Name == "disaggregationId"); model.Indicator.Specific.DisaggregationIds.Clear(); if (field != null) { var list = field.Value.Split(',').Select(x => int.Parse(x)).ToList(); model.Indicator.Specific.DisaggregationIds = list; } model.Indicator.Specific.Subindicators = formData.GetSubindicatorData("CRFSubindicator"); field = formData.First(x => x.Name == "isActive"); if (field != null) { model.Indicator.Specific.IsActive = GetBoolValue(field.Value); } field = formData.First(x => x.Name == "isContribution"); if (field != null) { model.Indicator.Specific.IsContribution = GetBoolValue(field.Value); } field = formData.First(x => x.Name == "isStrategicAlignment"); if (field != null) { model.Indicator.Specific.IsStrategicAlignment = GetBoolValue(field.Value); } field = formData.First(x => x.Name == "isAlignment"); if (field != null) { model.Indicator.Specific.isAlignment = GetBoolValue(field.Value); } field = formData.First(x => x.Name == "isRegionalContext"); if (field != null) { model.Indicator.Specific.IsRegionalContext = GetBoolValue(field.Value); } field = formData.First(x => x.Name == "isLinkToCS"); if (field != null) { model.Indicator.Specific.IsLinkToCS = GetBoolValue(field.Value); } field = formData.First(x => x.Name == "isRMIndicatorRequirement"); if (field != null) { model.Indicator.Specific.IsRMIndicatorRequirement = GetBoolValue(field.Value); } field = formData.FirstOrDefault(x => x.Name == "typeCRFId"); model.Indicator.Specific.TypeCRFId = 0; if (field != null) { model.Indicator.Specific.TypeCRFId = int.Parse(field.Value); } }
private static void UpdateEditIndicatorPageViewModelCommon <T>(this EditIndicatorPageViewModel <T> model, ClientFieldData[] formData) where T : new() { var field = formData.FirstOrDefault(x => x.Name == "indicatorTemplate"); if (field != null) { model.Indicator.Common.TemplateVersionId = int.Parse(field.Value); } field = formData.First(x => x.Name == "indicatorNumber"); model.Indicator.Common.IndicatorNumber = null; if (field != null) { var indicatorNumber = field.Value.ToString(); model.Indicator.Common.IndicatorNumber = indicatorNumber; } field = formData.First(x => x.Name == "effectiveDate"); model.Indicator.Common.EffectiveDate = null; if (field != null) { var date = DateTime.ParseExact(field.Value, DATETIME_PARSE_FORMAT, CultureInfo.InvariantCulture); model.Indicator.Common.EffectiveDate = date; } field = formData.First(x => x.Name == "expirationDate"); model.Indicator.Common.ExpirationDate = null; if (field != null) { var date = DateTime.ParseExact(field.Value, DATETIME_PARSE_FORMAT, CultureInfo.InvariantCulture); model.Indicator.Common.ExpirationDate = date; } field = formData.First(x => x.Name == "indicatorNameEn"); if (field != null) { model.Indicator.Common.IndicatorNameEn = field.Value; } field = formData.FirstOrDefault(x => x.Name == "indicatorNameEs"); model.Indicator.Common.IndicatorNameEs = string.Empty; if (field != null) { model.Indicator.Common.IndicatorNameEs = field.Value; } field = formData.FirstOrDefault(x => x.Name == "indicatorNamePt"); model.Indicator.Common.IndicatorNamePt = string.Empty; if (field != null) { model.Indicator.Common.IndicatorNamePt = field.Value; } field = formData.FirstOrDefault(x => x.Name == "indicatorNameFr"); model.Indicator.Common.IndicatorNameFr = string.Empty; if (field != null) { model.Indicator.Common.IndicatorNameFr = field.Value; } field = formData.FirstOrDefault(x => x.Name == "unitMeasure"); model.Indicator.Common.UnitMeasureId = null; if (field != null) { model.Indicator.Common.UnitMeasureId = int.Parse(field.Value); } field = formData.FirstOrDefault(x => x.Name == "unitMeasureEn"); model.Indicator.Common.UnitMeasureEn = string.Empty; if (field != null) { model.Indicator.Common.UnitMeasureEn = field.Value; } field = formData.FirstOrDefault(x => x.Name == "unitMeasureEs"); model.Indicator.Common.UnitMeasureEs = string.Empty; if (field != null) { model.Indicator.Common.UnitMeasureEs = field.Value; } field = formData.FirstOrDefault(x => x.Name == "unitMeasurePt"); model.Indicator.Common.UnitMeasurePt = string.Empty; if (field != null) { model.Indicator.Common.UnitMeasurePt = field.Value; } field = formData.FirstOrDefault(x => x.Name == "unitMeasureFr"); model.Indicator.Common.UnitMeasureFr = string.Empty; if (field != null) { model.Indicator.Common.UnitMeasureFr = field.Value; } field = formData.FirstOrDefault(x => x.Name == "strAlingmentImageAsociated"); model.Indicator.Common.StrAlingImageId = null; if (field != null && !string.IsNullOrEmpty(field.Value)) { model.Indicator.Common.StrAlingImageId = int.Parse(field.Value); } model.Indicator.Common.TechnicalFields.Clear(); var technicalFields = formData.Where(x => x.Name == "technicalFieldValue"); foreach (var item in technicalFields) { var it = new TechnicalFieldViewModel() { TechnicalFieldTemplateId = int.Parse(item.Id), Value = item.Value }; model.Indicator.Common.TechnicalFields.Add(it); } }