using System.Transactions; using YLErp.Commons; namespace YLErp.Web.Controllers { public class trade_groupController : BaseController { public static List GetAlltrade_group() { var modelList = trade_groupBLL.GetAlltrade_groupModel(); return modelList.Select(m => new SelectListItem { Text = m.GroupName + "", Value = m.GroupName + "" }).ToList(); } public JsonResult check_trade_group(string groupname) { var isExist = yldb.trade_group.Any(t => t.GroupName == groupname); return JsonSuccess("", isExist); } public ActionResult add_trade_group() { ViewBag.groupName = UniqueTimeId.GetStr(); return View(); } public JsonResult cancelTradeGroup(List tradeids) { if (tradeids == null) { return JsonError("请选中交易取消分组"); } var canceltrades = yldb.trade.Where(t => tradeids.Contains(t.id)).ToList(); if (canceltrades.TrueForAll(t => !t.GroupId.HasValue)) { return JsonSuccess("所选交易都不在分组内"); } canceltrades.ForEach(c => { c.GroupName = ""; c.GroupId = null; }); yldb.SaveChanges(); return JsonSuccess("取消分组成功"); } public ActionResult set_trade_group() { return View(); } [HttpPost] public JsonResult SaveEditInnertrade_group() { var dataCount = int.Parse(HttpContext.Request.Form["dataCount"]); var row = 0; using (var transaction = new TransactionScope()) { for (var i = 1; i <= dataCount; i++) { var serverCount = int.Parse(HttpContext.Request.Form["ServerCount" + i]); var pk = int.Parse(HttpContext.Request.Form["id" + i]); var data = yldb.trade_group.Find(pk); data.OptId = int.Parse(HttpContext.Request.Form["OptId" + i]); data.OptName = HttpContext.Request.Form["OptName" + i]; data.ValidState = HttpContext.Request.Form["ValidState" + i]; data.GroupName = HttpContext.Request.Form["GroupName" + i]; row++; } yldb.SaveChanges(); transaction.Complete(); } if (row > 0) { return JsonSuccess("trade_group列表保存成功"); } else { return JsonError("trade_group列表保存失败"); } } public ActionResult PickSingletrade_group() { return View(); } public JsonResult Insert(TradeGroup data) { var r = data; r.OptId = CurUser.UserId; r.OptName = CurUser.UserName; r.OptDate = DateTime.Now; yldb.trade_group.Add(r); yldb.SaveChanges(); trade_groupBLL.RefreshTradeGroupWithTask(); return JsonSuccess("新增成功", r); } /*---------------------- trade_group------------------------------*/ // [MyAuthorize("交易组-交易组查看")] public ActionResult trade_groupList() { return View(); } public JsonResult trade_group_save(TradeGroupSaveReq req) { if (req.tradeids == null || req.tradeids.Count == 0) { return JsonError("请输入分组交易"); } req.group.GroupName = req.group.GroupName.Trim(); var group = yldb.trade_group.FirstOrDefault(g => g.GroupName == req.group.GroupName); if (group == null) { req.group.OptDate = DateTime.Now; req.group.OptId = CurUser.UserId; req.group.OptName = CurUser.UserName; yldb.trade_group.Add(req.group); yldb.SaveChanges(); trade_groupBLL.RefreshTradeGroupWithTask(); } else { req.group = group; } var trades = yldb.trade.Where(t => req.tradeids.Contains(t.id)).ToList(); trades.ForEach(t => { t.GroupName = req.group.GroupName; t.GroupId = req.group.id; }); yldb.SaveChanges(); return Json(""); } [HttpPost] public JsonResult trade_groupQuery(TradeGroupReq req) { var bll = new trade_groupBLL(); var sList = bll.SearchList(req); return Json(sList); } /// /// 根据主键获取 /// /// /// [HttpGet] public JsonResult trade_groupGetById(int id) { var data = yldb.trade_group.Find(id); return Json(data); } public ActionResult trade_groupView(string enid) { var intid = DataProtectHelper.DecryptInt(enid); var r = yldb.trade_group.Find(intid); return View(r); } public ActionResult trade_groupEdit(string enid) { TradeGroup r = null; var isAdd = string.IsNullOrEmpty(enid) || enid == "0"; if (isAdd) { return View(r); } var intid = DataProtectHelper.DecryptInt(enid); r = yldb.trade_group.Find(intid); return View(r); } [HttpPost] public JsonResult trade_groupEditJson(TradeGroupReq req) { var id = 0; if (!string.IsNullOrEmpty(req.EncryptId)) { id = DataProtectHelper.DecryptInt(req.EncryptId); } var r = savetrade_group(id); return JsonSuccess("更新成功", r); } [HttpPost] public async Task trade_groupEdit(TradeGroupReq req) { var id = DataProtectHelper.DecryptInt(req.EncryptId); var r = await savetrade_group(id); return Redirect("~/trade_group/trade_groupView/?id=" + r.EncryptId); } async Task savetrade_group(int? id) { TradeGroup r; var isAddNew = id == null || id == 0; if (isAddNew) { r = new TradeGroup { OptId = CurUser.UserId, OptName = CurUser.UserName, OptDate = DateTime.Now }; yldb.trade_group.Add(r); } else { r = yldb.trade_group.Find(id); } await TryUpdateModelAsync(r); yldb.SaveChanges(); trade_groupBLL.RefreshTradeGroupWithTask(); return r; } [HttpPost] public JsonResult Deletetrade_group(string id) { var intid = DataProtectHelper.DecryptInt(id); var r = yldb.trade_group.Find(intid); if (r == null) { return JsonError("找不到交易组"); } yldb.trade_group.Remove(r); yldb.SaveChanges(); trade_groupBLL.RefreshTradeGroupWithTask(); return JsonSuccess("删除成功"); } } }