Files
zszq-trs/YLErpWeb/Controllers/trade_groupController.cs
T
2024-05-09 14:06:26 +08:00

255 lines
7.6 KiB
C#

using System.Transactions;
using YLErp.Commons;
namespace YLErp.Web.Controllers
{
public class trade_groupController : BaseController
{
public static List<SelectListItem> 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<int> 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);
}
/// <summary>
/// 根据主键获取
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[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<ActionResult> 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<TradeGroup> 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("删除成功");
}
}
}