using Cksoft.Data; using Cksoft.Data.Repository; using Cksoft.Unity; using Cksoft.Unity.Log4NetConfig; using DllEapDal.OFILM; using DllEapEntity; using DllEapEntity.Dtos; using Microsoft.AspNetCore.Mvc; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace DllEapBll.OFILM { [Route("eap/api/[controller]/[action]")] public class MtbacodeController : ControllerBase { [HttpGet] public LayuiModel Get(string filter, int pageIndex = 1, int pageSize = 10, string sortField = "errorcode", string sortOrder = "ascend") { if (sortOrder == "descend") { sortOrder = "desc"; } else { sortOrder = "asc"; } int start, end; start = (pageIndex - 1) * pageSize + 1; end = start + pageSize; using (IDatabase db = DbFactory.Base("eapslave")) { db.BeginTrans(); var dal = new MtbacodeDal(db); string errorinfo = string.Empty; var roles = dal.Get(start, pageSize, sortOrder, sortField, filter, errorinfo); var total = dal.GetCount(filter); return new LayuiModel { code = 1, count = total, data = roles, msg = "" }; } } [HttpGet] public Mtbacode GetSingle(int id) { using (IDatabase db = DbFactory.Base("eapslave")) { var dal = new MtbacodeDal(db); return dal.Get(id); } } [HttpPost] public EapResponse Add([FromBody] Mtbacode programMst) { string usercode = Request.Headers["usercode"]; using (IDatabase db = DbFactory.Base("eap")) { db.BeginTrans(); var dal = new MtbacodeDal(db); string errorinfo = string.Empty; var response = new EapResponse() { Code = 1, Msg = string.Empty }; int id = -1; if (programMst.ID == 0) { id = dal.Add(programMst, usercode, ref errorinfo); } else { id = dal.Update(programMst, usercode, ref errorinfo); } if (id < 0) { db.Rollback(); response.Code = -1; response.Msg = errorinfo; } else { db.Commit(); if (programMst.ID == 0) { LogHelper.LogFatal("新增Mtbacode-->" + Json.ToJson(programMst), "用户操作", usercode); } else LogHelper.LogFatal("修改Mtbacode-->" + Json.ToJson(programMst), "用户操作", usercode); } response.Id = id; return response; } } [HttpPost] public EapResponse Delete([FromBody] int id) { IDatabase db = null; string errormsg = string.Empty; try { db = DbFactory.Base("eap"); var dal = new MtbacodeDal(db); var model = dal.Get(id); var modelsec = dal.Get(id); //db.BeginTrans(); var res = dal.Delete(id, ref errormsg); if (res < 0) { // db.Rollback(); return new EapResponse() { Code = -1, Msg = errormsg }; } //db.Commit(); LogHelper.LogFatal("删除Mtbacode-->:" + Json.ToJson(modelsec) + ";apappservermac" + Json.ToJson(model), "用户操作", Request.Headers["usercode"]); return new EapResponse() { Code = 1, Msg = "" }; } catch (Exception e) { errormsg = e.Message; return new EapResponse { Code = -1, Msg = errormsg }; } finally { if (db != null) db.Close(); } } [HttpPost] public EapResponse SetControlByTrans([FromBody] Dictionary valuePairs) { var res = new EapResponse { Code = 1, Msg = string.Empty }; string errorinfo = string.Empty; string usercode = Request.Headers["usercode"]; if (valuePairs == null || valuePairs.Keys.Count <= 0) { res.Code = -1; res.Msg = "参数不能为空"; return res; } var ids = valuePairs["ids"]; var idArr = ids.Split(new char[] { ',' }).Select(c => Convert.ToInt32(c)); var field = valuePairs["field"]; var value = valuePairs["value"]; var userCode = Request.Headers["usercode"]; using (IDatabase db = DbFactory.Base("eap")) { var dal = new MtbacodeDal(db); var i = dal.SetControlByTrans(idArr, field, value, usercode, ref errorinfo); if (i < 0) { res.Code = -1; res.Msg = errorinfo; return res; } //var machines = dal.Get($" and a.id in ({ids})"); //// 写日志 //LogHelper.LogFatal($"修改机台字段[{field}]-->修改值:{value}, " + // $"被修改机台号:{JsonConvert.SerializeObject(machines.Select(c => c.FCode))}", "用户操作", userCode); return res; } } public EapResponse Update([FromBody] dynamic programMst) { var list = JsonConvert.DeserializeObject(Convert.ToString(programMst)).data; List qo = list.ToObject>(); string usercode = Request.Headers["usercode"]; using (IDatabase db = DbFactory.Base("eap")) { db.BeginTrans(); var dal = new MtbacodeDal(db); string errorinfo = string.Empty; var response = new EapResponse() { Code = 1, Msg = string.Empty }; int id = -1; id = dal.Updates(qo,usercode, ref errorinfo); if (id < 0) { db.Rollback(); response.Code = -1; response.Msg = errorinfo; } else { db.Commit(); if (programMst.ID == 0) { LogHelper.LogFatal("新增Mtbacode-->" + Json.ToJson(programMst), "用户操作", usercode); } else LogHelper.LogFatal("修改Mtbacode-->" + Json.ToJson(programMst), "用户操作", usercode); } response.Id = id; return response; } } } }