using System; using System.Collections.Generic; using System.Linq; using MySystem.MainModels; using Library; using LitJson; using System.Data; namespace MySystem { public class ConsumerProfitService { string _conn = ""; public ConsumerProfitService() { _conn = ConfigurationManager.AppSettings["SqlConnStr"].ToString(); } /// <summary> /// 查询列表 /// </summary> /// <param name="fields">查询条件(单个字段)</param> /// <param name="condition">查询条件(sql语句)</param> /// <param name="page">页码</param> /// <param name="limit">每页条数</param> /// <returns></returns> public List<Dictionary<string, object>> List(List<FieldItem> fields, string condition, int page = 1, int limit = 30, string orderby = "Id desc") { Dictionary<string, object> obj = new DbService(AppConfig.Base.mainTables, _conn).IndexData("ConsumerProfit", fields, orderby, "0", page, limit, condition); List<Dictionary<string, object>> diclist = obj["data"] as List<Dictionary<string, object>>; return diclist; } /// <summary> /// 查询一条记录 /// </summary> /// <param name="Id">主键Id</param> /// <returns></returns> public ConsumerProfit Query(int Id) { WebCMSEntities db = new WebCMSEntities(); ConsumerProfit editData = db.ConsumerProfit.FirstOrDefault(m => m.Id == Id) ?? new ConsumerProfit(); db.Dispose(); return editData; } public Dictionary<string, string> Sum(string field, string condition) { Dictionary<string, string> result = new Dictionary<string, string>(); string sumString = ""; string[] fieldlist = field.Split(','); foreach(string f in fieldlist) { sumString += "sum(" + f + ") " + f + ","; } sumString = sumString.TrimEnd(','); DataTable dt = CustomerSqlConn.dtable("select " + sumString + " from ConsumerProfit where 1=1" + condition, _conn); if(dt.Rows.Count > 0) { foreach(string f in fieldlist) { result.Add(f, function.CheckNum(dt.Rows[0][f].ToString())); } } return result; } /// <summary> /// 添加数据 /// </summary> /// <param name="Fields">要设置的字段</param> /// <returns></returns> public int Add(Dictionary<string, object> Fields) { return new DbService(AppConfig.Base.mainTables, _conn).Add("ConsumerProfit", Fields, 0); } /// <summary> /// 修改数据 /// </summary> /// <param name="Fields">要设置的字段</param> /// <param name="Id">主键Id</param> public void Edit(Dictionary<string, object> Fields, int Id) { new DbService(AppConfig.Base.mainTables, _conn).Edit("ConsumerProfit", Fields, Id); } /// <summary> /// 删除数据 /// </summary> /// <param name="Id">主键Id</param> public void Delete(int Id) { new DbService(AppConfig.Base.mainTables, _conn).Delete("ConsumerProfit", Id); } /// <summary> /// 排序 /// </summary> /// <param name="Id">主键Id</param> /// <param name="Sort">排序序号</param> public void Sort(int Id, int Sort) { new DbService(AppConfig.Base.mainTables, _conn).Sort("ConsumerProfit", Sort, Id); } /// <summary> /// 导入数据 /// </summary> /// <param name="ExcelData">json数据</param> public void Import(string ExcelData) { WebCMSEntities db = new WebCMSEntities(); JsonData list = JsonMapper.ToObject(ExcelData); for (int i = 1; i < list.Count;i++ ) { JsonData dr = list[i]; db.ConsumerProfit.Add(new ConsumerProfit() { CreateDate = DateTime.Now, UpdateDate = DateTime.Now, }); db.SaveChanges(); } db.Dispose(); } /// <summary> /// 导出excel表格 /// </summary> /// <param name="fields">查询条件(单个字段)</param> /// <param name="condition">查询条件(sql语句)</param> /// <returns></returns> public Dictionary<string, object> ExportExcel(List<FieldItem> fields, string condition, string orderby = "Id desc") { Dictionary<string, object> obj = new DbService(AppConfig.Base.mainTables, _conn).IndexData("ConsumerProfit", fields, orderby, "0", 1, 20000, condition, "Id", false); List<Dictionary<string, object>> diclist = obj["data"] as List<Dictionary<string, object>>; foreach (Dictionary<string, object> dic in diclist) { } Dictionary<string, object> result = new Dictionary<string, object>(); result.Add("Status", "1"); result.Add("Info", "Excel报表-" + DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss") + ".xlsx"); result.Add("Obj", diclist); Dictionary<string, object> ReturnFields = new Dictionary<string, object>(); result.Add("Fields", ReturnFields); return result; } } }