using DataServer.api; using Microsoft.Ajax.Utilities; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Http; using System.Text; using System.Web.Http; namespace JinanCementFactoryAPI.Controllers.api { /// /// 碳中和 /// public class GetCarbonNeutralController : ApiController { DataServer.BLL.coal_equipment bll = new DataServer.BLL.coal_equipment(); // GET api/ public HttpResponseMessage Get() { var res = new get_emission_ratio(); try { var list = bll.GetModelList(""); var alist = new List(); var model = new emission_ratioData(); decimal? num = 0; foreach (var item in list) { num += item.CoalValue; var list1 = list.DistinctBy(x => x.CoalName).ToList(); var blist = new List(); foreach (var citem in list1) { var amodel = new emission_ratio(); amodel.EmissionName = citem.CoalName; var list2 = list.Where(x => x.CoalName == amodel.EmissionName).ToList(); decimal? num2 = 0; foreach (var aitem in list2) { num2 += aitem.CoalValue; } amodel.EmissionValue = num2 * Convert.ToDecimal(25.909) * Convert.ToDecimal(0.02610) * 44 / 12; ; blist.Add(amodel); model.list = blist; } model.Amount = num * Convert.ToDecimal(25.909) * Convert.ToDecimal(0.02610) * 44 / 12; ; } alist.Add(model); res.code = 200; res.msg = "成功"; res.data = alist; } catch (Exception ex) { res.code = 500; res.msg = ex.Message; } HttpResponseMessage result = new HttpResponseMessage { Content = new StringContent(JsonConvert.SerializeObject(res), Encoding.GetEncoding("UTF-8"), "application/json") }; return result; } } }