using YLErp.Modules.MarginModule; namespace YLErp.Web.Controllers { public class margin_templateController : BaseController { [MyAuthorize("基础参数管理-预付金模板")] public ActionResult margin_templateList() { return View(); } [HttpPost] public JsonResult margin_templateGroupQuery(margin_templateReq req) { var sList = new MarginTemplateService(CurUser).SearchTradeMarginList(req); return Json(sList); } public ActionResult margin_templateView(string enid) { var intid = DecryptInt(enid); var r = yldb.margin_template.Find(intid); return View(r); } public ActionResult margin_templateEdit(string enid) { if (string.IsNullOrEmpty(enid) || enid == "0") { return View(new margin_template()); } var intid = DecryptInt(enid); var r = yldb.margin_template.AsNoTracking().FirstOrDefault(n => n.id == intid); if (r == null) { return ShowError("数据不存在"); } return View(r); } [HttpPost] public async Task margin_templateEditJson(margin_templateReq req) { var id = 0; if (!string.IsNullOrEmpty(req.EncryptId)) { id = DecryptInt(req.EncryptId); } if (yldb.margin_template.Any(x => x.id != id && x.Name == req.Name)) { throw new Exception("该模板名已经存在,保存失败"); } try { var r = await Savemargin_template(id); return JsonSuccess("更新成功", r); } catch (Exception ex) { return JsonError(ex.Message); } } public JsonResult Deletemargin_template(string encryptId) { var intid = DecryptInt(encryptId); var r = yldb.margin_template.Find(intid); if (r == null) { return JsonError("未找到该记录"); } else { yldb.margin_template.Remove(r); yldb.SaveChanges(); return JsonSuccess("已删除"); } } private async Task Savemargin_template(int? id) { margin_template r; var isAddNew = id == null || id == 0; if (isAddNew) { r = new margin_template { OptDate = DateTime.Now, OptId = CurUser.UserId, OptName = CurUser.UserName }; yldb.margin_template.Add(r); } else { r = yldb.margin_template.Find(id); } await TryUpdateModelAsync(r); yldb.SaveChanges(); return r; } public static string GetMarginType(int marginType) { if (marginType == 2) { return "按固定预付金率"; } else if (marginType == 3) { return "按浮动盈亏和初始名义本金"; } else if (marginType == 4) { return "按浮动盈亏和持仓名义本金"; } else if (marginType == 5) { return "Max(0,Span幅度估值)"; } else if (marginType == 6) { return "Max(初始预付金,Span幅度估值)"; } return ""; } } }