Ejemplo n.º 1
0
        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));
        }