public ActionResult priceecs(int? page, int? pagesize, string v, string vname, string vunit)
        {
            LogHelper.Info(Masterpage.CurrUser.alias, "401015:客户" + Masterpage.CurrUser.client_code + ",查看能资源" + vname + "的价格列表");

            dynamic data = new System.Dynamic.ExpandoObject();
            var list = costanalysisService.GetPriceManagementByName(Masterpage.CurrUser.client_code, vname);
            var units = costanalysisService.GetEnergyCategory("PRICE_ENERGY_UNIT").Select(x => new SelectListItem
            {
                Text = x.key,
                Value = x.value
            }).ToList();
            List<EnergyPriceModel> show = new List<EnergyPriceModel>();
            #region 电合并
            if (vname == "电")
            {
                List<DateTime> starts = new List<DateTime>();
                foreach (var item in list)
                {
                    if (starts.Contains(item.EnergyPriceBeginningDate.Value)) continue;
                    var t = list.Where(p => p.EnergyPriceBeginningDate == item.EnergyPriceBeginningDate);
                    EnergyPriceModel o = new EnergyPriceModel();
                    o.start = item.EnergyPriceBeginningDate;
                    o.end = item.EnergyPriceEndingDate;
                    o.price = "";
                    foreach (var ot in t)
                    {
                        //o.price += ot.EnergyResourceName.Replace(vname, "") + ":" + ot.EnergyPrice.ToString("N")  + ";   ";//+ ot.EnergyPriceUnit
                        if (ot.EnergyResourceName.Contains("峰"))  o.pricef = ot.EnergyPrice.ToString("N");
                        if (ot.EnergyResourceName.Contains("谷")) o.priceg = ot.EnergyPrice.ToString("N");
                        if (ot.EnergyResourceName.Contains("平")) o.pricep = ot.EnergyPrice.ToString("N");
                    }
                    show.Add(o);
                    starts.Add(item.EnergyPriceBeginningDate.Value);
                }
            }
            else
            {
                foreach (var ot in list)
                {
                    EnergyPriceModel o = new EnergyPriceModel();
                    o.start = ot.EnergyPriceBeginningDate;
                    o.end = ot.EnergyPriceEndingDate;
                    o.price = ot.EnergyPrice.ToString("N");// + ot.EnergyPriceUnit
                    show.Add(o);
                }
            }
            #endregion
            int _page = page.HasValue ? page.Value : 1;
            int _pagesize = pagesize.HasValue ? pagesize.Value : 12;
            var vs = show.ToPagedList(_page, _pagesize);
            data.vname = vname;
            data.vunit = vunit;
            data.v = v;
            data.units = units;
            data.list = vs;
            data.pageSize = _pagesize;
            data.pageIndex = _page;
            data.totalCount = vs.TotalCount;
            return PartialView("priceecs", data);
        }
Exemple #2
0
        public ActionResult priceecs(int?page, int?pagesize, string v, string vname, string vunit)
        {
            LogHelper.Info(Masterpage.CurrUser.alias, "401015:客户" + Masterpage.CurrUser.client_code + ",查看能资源" + vname + "的价格列表");

            dynamic data  = new System.Dynamic.ExpandoObject();
            var     list  = costanalysisService.GetPriceManagementByName(Masterpage.CurrUser.client_code, vname);
            var     units = costanalysisService.GetEnergyCategory("PRICE_ENERGY_UNIT").Select(x => new SelectListItem
            {
                Text  = x.key,
                Value = x.value
            }).ToList();
            List <EnergyPriceModel> show = new List <EnergyPriceModel>();

            #region 电合并
            if (vname == "电")
            {
                List <DateTime> starts = new List <DateTime>();
                foreach (var item in list)
                {
                    if (starts.Contains(item.EnergyPriceBeginningDate.Value))
                    {
                        continue;
                    }
                    var t = list.Where(p => p.EnergyPriceBeginningDate == item.EnergyPriceBeginningDate);
                    EnergyPriceModel o = new EnergyPriceModel();
                    o.start = item.EnergyPriceBeginningDate;
                    o.end   = item.EnergyPriceEndingDate;
                    o.price = "";
                    foreach (var ot in t)
                    {
                        //o.price += ot.EnergyResourceName.Replace(vname, "") + ":" + ot.EnergyPrice.ToString("N")  + ";   ";//+ ot.EnergyPriceUnit
                        if (ot.EnergyResourceName.Contains("峰"))
                        {
                            o.pricef = ot.EnergyPrice.ToString("N");
                        }
                        if (ot.EnergyResourceName.Contains("谷"))
                        {
                            o.priceg = ot.EnergyPrice.ToString("N");
                        }
                        if (ot.EnergyResourceName.Contains("平"))
                        {
                            o.pricep = ot.EnergyPrice.ToString("N");
                        }
                    }
                    show.Add(o);
                    starts.Add(item.EnergyPriceBeginningDate.Value);
                }
            }
            else
            {
                foreach (var ot in list)
                {
                    EnergyPriceModel o = new EnergyPriceModel();
                    o.start = ot.EnergyPriceBeginningDate;
                    o.end   = ot.EnergyPriceEndingDate;
                    o.price = ot.EnergyPrice.ToString("N");// + ot.EnergyPriceUnit
                    show.Add(o);
                }
            }
            #endregion
            int _page     = page.HasValue ? page.Value : 1;
            int _pagesize = pagesize.HasValue ? pagesize.Value : 12;
            var vs        = show.ToPagedList(_page, _pagesize);
            data.vname      = vname;
            data.vunit      = vunit;
            data.v          = v;
            data.units      = units;
            data.list       = vs;
            data.pageSize   = _pagesize;
            data.pageIndex  = _page;
            data.totalCount = vs.TotalCount;
            return(PartialView("priceecs", data));
        }