Exemplo n.º 1
0
        public ActionResult WxDetail(AccessDashboardConditionView condition)
        {
            if (string.IsNullOrEmpty(ViewBag.LillyId))
            {
                return(Redirect("/notauthed.html"));
            }

            if (!BeforeSearch(condition))
            {
                return(View("../AccessDashboard/WxMain"));
            }

            Expression <Func <AccessDashboard, bool> > predicate = x => true;

            predicate = predicate.AndAlso(x => condition.TherapeuticArea.Equals(x.TherapeuticArea) &&
                                          condition.TradeName.Equals(x.TradeName) &&
                                          condition.DosageForm.Equals(x.DosageForm) &&
                                          condition.Province.Equals(x.Province) &&
                                          condition.Municipalit.Equals(x.Municipalit) &&
                                          condition.Specification.Equals(x.Specification));

            var list = _objService.GetSearchResult <AccessDashboardView>(predicate);
            AccessDashboardView AccessDash = new AccessDashboardView();

            AccessDash.List = list;
            //记录用户行为
            ExecuteBehavior(23, 14, "ACCESSDASHBOARD_DETAIL");
            return(View("../AccessDashboard/WxDetail", AccessDash));
        }
Exemplo n.º 2
0
        private bool BeforeSearch(AccessDashboardConditionView condition)
        {
            if (condition == null)
            {
                return(false);
            }

            if (string.IsNullOrEmpty(condition.TherapeuticArea) ||
                string.IsNullOrEmpty(condition.TradeName) ||
                string.IsNullOrEmpty(condition.DosageForm) ||
                string.IsNullOrEmpty(condition.Specification) ||
                string.IsNullOrEmpty(condition.Province) ||
                string.IsNullOrEmpty(condition.Municipalit))
            {
                return(false);
            }

            return(true);
        }
        public AccessDashboardConditionView GetAccessDashboardConditions()
        {
            AccessDashboardConditionView result = new AccessDashboardConditionView();
            var allAccessDashboardList          = Repository.Entities.ToList();

            if (!allAccessDashboardList.Any())
            {
                return(null);
            }

            result.TherapeuticAreaList = new List <TherapeuticAreaView>();
            result.TradeNameList       = new List <TradeNameView>();
            result.DosageFormList      = new List <DosageFormView>();
            result.ProvinceInfo        = new List <ProvinceWithCityView>();

            var therapeuticAreaList = allAccessDashboardList.Select(x => x.TherapeuticArea.Trim()).Distinct().ToList();

            therapeuticAreaList.ForEach(therapeuticArea =>
            {
                // 治疗领域 -> 商品名称级联作成
                TherapeuticAreaView tav = new TherapeuticAreaView();
                tav.TherapeuticArea     = therapeuticArea;
                tav.TradeNameList       = allAccessDashboardList.Where(x => x.TherapeuticArea.Contains(therapeuticArea)).Select(x => x.TradeName.Trim()).Distinct().ToList();
                result.TherapeuticAreaList.Add(tav);
            });

            var tradeNameList = allAccessDashboardList.Select(x => x.TradeName.Trim()).Distinct().ToList();

            tradeNameList.ForEach(tradeName =>
            {
                // 商品名称 -> 剂型级联作成
                TradeNameView tnv  = new TradeNameView();
                tnv.TradeName      = tradeName;
                tnv.DosageFormList = allAccessDashboardList.Where(x => x.TradeName.Contains(tradeName)).Select(x => x.DosageForm.Trim()).Distinct().ToList();
                result.TradeNameList.Add(tnv);
            });

            var dosageFormList = allAccessDashboardList.Select(x => x.DosageForm.Trim()).Distinct().ToList();

            dosageFormList.ForEach(dosageForm =>
            {
                // 剂型 -> 规格级联作成
                DosageFormView dfv    = new DosageFormView();
                dfv.DosageForm        = dosageForm;
                dfv.SpecificationList = allAccessDashboardList.Where(x => x.DosageForm.Contains(dosageForm)).Select(x => x.Specification.Trim()).Distinct().ToList();
                result.DosageFormList.Add(dfv);
            });

            var provinceList = allAccessDashboardList.OrderBy(x => x.Province).Select(x => x.Province.Trim()).Distinct().ToList();

            provinceList.ForEach(item =>
            {
                // 省 -> 城市级联作成
                ProvinceWithCityView info = new ProvinceWithCityView();
                info.ProvinceName         = item;
                info.CityList             = allAccessDashboardList.Where(x => x.Province.Contains(item)).OrderBy(x => x.Municipalit).Select(x => x.Municipalit.Trim()).Distinct().ToList();
                result.ProvinceInfo.Add(info);
            });

            return(result);
        }