public virtual ActionResult GetOverallStageByOperationType(string operationTypeId) { var masterDataRepository = _catalogService .GetMasterDataListByTypeCode( hideExpired: true, typeCodes: ConvergenceMasterDataTypeEnum.OverallStage.GetEnumDescription()); var overallStageList = new List <MultiSelectListItem>(); int opTypeId; if (int.TryParse(operationTypeId, out opTypeId)) { var overallStageByTemplate = _searchService .GetOverallStageByCaseTemplateAndOperationType(opTypeId); var overallStageByOpType = _searchService .GetOverallStageByOperationType(opTypeId); overallStageList = overallStageByTemplate .BuildMultiSelectItemList( o => o.OperationStage.NameEn, o => o.OperationStageId.ToString()) .ToList(); if (overallStageByOpType.IsValid) { overallStageList.AddRange(overallStageByOpType.Models .BuildMultiSelectItemList( o => o.NameEn, o => o.ConvergenceMasterDataId.ToString())); } } else { foreach (var item in masterDataRepository.MasterDataCollection) { switch (item.NameEn) { case SearchValues.OVERALLSTAGE_ORDER_1: item.Order = 1; break; case SearchValues.OVERALLSTAGE_ORDER_3: item.Order = 3; break; case SearchValues.OVERALLSTAGE_ORDER_4: item.Order = 4; break; case SearchValues.OVERALLSTAGE_ORDER_5: item.Order = 5; break; case SearchValues.OVERALLSTAGE_ORDER_6: item.Order = 6; break; case SearchValues.OVERALLSTAGE_ORDER_7: item.Order = 7; break; case SearchValues.OVERALLSTAGE_ORDER_8: item.Order = 8; break; case SearchValues.OVERALLSTAGE_ORDER_9: item.Order = 9; break; case SearchValues.OVERALLSTAGE_ORDER_10: item.Order = 10; break; case SearchValues.OVERALLSTAGE_ORDER_11: item.Order = 11; break; case SearchValues.OVERALLSTAGE_ORDER_12: item.Order = 12; break; case SearchValues.OVERALLSTAGE_ORDER_13: item.Order = 13; break; case SearchValues.OVERALLSTAGE_ORDER_14: item.Order = 14; break; case SearchValues.OVERALLSTAGE_ORDER_15: item.Order = 15; break; case SearchValues.OVERALLSTAGE_ORDER_16: item.Order = 16; break; case SearchValues.OVERALLSTAGE_ORDER_17: item.Order = 17; break; case SearchValues.OVERALLSTAGE_ORDER_18: item.Order = 18; break; case SearchValues.OVERALLSTAGE_ORDER_19: item.Order = 19; break; case SearchValues.OVERALLSTAGE_ORDER_20: item.Order = 20; break; case SearchValues.OVERALLSTAGE_ORDER_21: item.Order = 21; break; case SearchValues.OVERALLSTAGE_ORDER_22: item.Order = 22; break; case SearchValues.OVERALLSTAGE_ORDER_23: item.Order = 23; break; } } masterDataRepository.MasterDataCollection = masterDataRepository.MasterDataCollection.OrderBy(q => q.Order).ToList(); if (masterDataRepository.IsValid && masterDataRepository.MasterDataCollection.Any()) { overallStageList = masterDataRepository.MasterDataCollection .BuildMultiSelectItemList( o => o.NameEn, o => o.MasterId.ToString()) .ToList(); } } ViewModelMapperHelper.FillDefaultOverallStage(masterDataRepository, overallStageList); ViewBag.OverallStage = overallStageList.DistinctBy(q => q.Value).ToList(); return(Json(overallStageList, JsonRequestBehavior.AllowGet)); }