using Cksoft.Data; using Cksoft.Data.Repository; using DllEapEntity.Dtos; using Microsoft.AspNetCore.Mvc; using System; using System.Collections.Generic; using System.Text; using DllEapDal; using DllEapEntity.Rms; using System.Linq; using Cksoft.Unity; using Cksoft.Unity.Log4NetConfig; using Microsoft.AspNetCore.Authorization; namespace DllEapBll.Controllers { /// /// 程序 /// [Authorize] [ApiController] [Route("eap/api/[controller]/[action]")] public class ProgramMstController : ControllerBase { /// /// 列表 /// /// /// /// /// /// /// [HttpGet] public LayuiModel Get(string filter, int pageIndex = 1, int pageSize = 10, string sortField = "ID", 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 ProgramMstDal(db); var total = dal.GetCount(filter); string errorinfo = string.Empty; var roles = dal.Get(start, pageSize, sortOrder, sortField, filter, errorinfo); return new LayuiModel { code = 1, count = total, data = roles, msg = "" }; } } /// /// 详情 /// /// /// [HttpGet] public ProgramMst GetSingle(int id) { using (IDatabase db = DbFactory.Base("eapslave")) { var dal = new ProgramMstDal(db); return dal.Get(id); } } /// /// 获取全部程序 /// /// [HttpGet] public IEnumerable> GetAll() { using (IDatabase db = DbFactory.Base("eapslave")) { var dal = new ProgramMstDal(db); return dal.GetPrograms(); } } /// /// 新增/修改 /// /// /// [HttpPost] public EapResponse Add([FromBody] ProgramMst programMst) { string usercode = Request.Headers["usercode"]; IDatabase db = null; var response = new EapResponse() { Code = 1, Msg = string.Empty }; try { db = DbFactory.Base("eap"); db.BeginTrans(); var dal = new ProgramMstDal(db); string errorinfo = 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("新增ProgramMst-->" + Json.ToJson(programMst), "用户操作", usercode); } else { LogHelper.LogFatal("修改ProgramMst-->" + Json.ToJson(programMst), "用户操作", usercode); } } response.Id = id; return response; } catch (Exception e) { db.Rollback(); response.Code = -1; response.Msg = e.Message; return response; } finally { if (db != null) db.Close(); } } /// /// 删除 /// /// /// [HttpPost] public EapResponse Delete([FromBody] int id) { IDatabase db = null; string errormsg = string.Empty; try { db = DbFactory.Base("eap"); var dal = new ProgramMstDal(db); db.BeginTrans(); var model = dal.getppsubdetail(id); var modelsec = dal.getProgramParamsDetail(id); var res = dal.Delete(id, ref errormsg); if (res < 0) { db.Rollback(); return new EapResponse() { Code = -1, Msg = errormsg }; } db.Commit(); LogHelper.LogFatal("删除ppsubdetail-->:" + Json.ToJson(model) + ";ProgramParamsDetail" + Json.ToJson(modelsec), "用户操作", 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(); } } /// /// 获取级联下拉框数据源 /// /// [HttpGet] public IEnumerable GetCasMaModels() { using (IDatabase db = DbFactory.Base("eapslave")) { var dal = new ProgramMstDal(db); return dal.GetCasMaModels(); } } /// /// 获取参数列表 /// /// /// [HttpGet] public IEnumerable> GetParamsList(string macmodelCode) { using (IDatabase db = DbFactory.Base("eapslave")) { var dal = new ProgramMstDal(db); return dal.GetParamsList(macmodelCode); } } /// /// 获取字典项 /// /// /// [HttpGet] public IEnumerable> GetConstItems(string dicName) { using (IDatabase db = DbFactory.Base("eapslave")) { var dal = new ConstItemDal(db); return dal.Get(dicName); } } /// /// 更新文件参数 /// /// /// [HttpPost] public EapResponse UpdateFileParams([FromBody] ProgramMst mst) { string userCode = Request.Headers["usercode"]; string errorinfo = string.Empty; using (IDatabase db = DbFactory.Base("eap")) { var dal = new ProgramMstDal(db); if (dal.UpdateFileParams(mst, userCode, ref errorinfo) > 0) { LogHelper.LogFatal("修改ProgramMst-->" + Json.ToJson(mst), "用户操作", userCode); return new EapResponse { Code = 1, Msg = "" }; } return new EapResponse { Code = -1, Msg = errorinfo }; } } } }