using System; using System.Linq; using System.Web.Mvc; using WX.CRM.BLL; using WX.CRM.BLL.Base; using WX.CRM.Common; using WX.CRM.IBLL.Res; using WX.CRM.Model.Entity; using WX.CRM.WebHelper; namespace WX.CRM.WEB.Controllers.Res { public class SalesGroupPromotionController : BaseController { private readonly IRES_SALESGROUPPROMOTION _resSalesgrouppromotion; private readonly IRES_SALESGROUPPROMOTION_DETAIL _resSalesgrouppromotionDetail; private readonly IRES_SALESGROUPPROMOTION_TAG _resSalesgrouppromotionTag; private readonly IRES_SALESGROUPPROMOTION_LOG _resSalesgrouppromotionLog; public SalesGroupPromotionController(IRES_SALESGROUPPROMOTION resSalesgrouppromotion, IRES_SALESGROUPPROMOTION_DETAIL resSalesgrouppromotionDetail, IRES_SALESGROUPPROMOTION_TAG resSalesgrouppromotionTag, IRES_SALESGROUPPROMOTION_LOG resSalesgrouppromotionLog) { _resSalesgrouppromotion = resSalesgrouppromotion; _resSalesgrouppromotionDetail = resSalesgrouppromotionDetail; _resSalesgrouppromotionTag = resSalesgrouppromotionTag; _resSalesgrouppromotionLog = resSalesgrouppromotionLog; } [HttpGet] [AuthorizeRedirect(Roles = InitRights.CONST_微信资源标签设置)] public ActionResult Index() { string tableId = "tablist"; Table tab = new Table(tableId); //tab.isCheckbox = true; tab.AddHiddenHeadCol("GROUPID", "组ID"); tab.AddHeadCol("GROUPNAME", "", "组名"); tab.AddHiddenHeadCol("INNERUSERID", "员工ID"); tab.AddHeadCol("EID", "", "员工"); tab.AddHeadCol("TAG", "", "标签"); tab.AddHeadCol("ALIAS", "", "工作微信号"); tab.AddHeadRow(); var groupList = _resSalesgrouppromotion.GetList().Select(item => new SelectListItem() { Text = item.NAME, Value = item.GROUPID.ToString() }).ToList(); var tagList = _resSalesgrouppromotionTag.GetList().Select(item => new SelectListItem() { Text = item.TAGNAME, Value = item.TAG }).ToList(); ViewBag.groupList = groupList; ViewBag.tagList = tagList; ViewBag.gridTable = tab.GetTable(); return View(); } [HttpPost] [AuthorizeRedirect(Roles = InitRights.CONST_微信资源标签设置)] public JsonResult Index(decimal? groupId, string tag, decimal? eid, string alias, string columns) { Table table = new Table(columns, true); //table.isCheckbox = true; var groupList = _resSalesgrouppromotion.GetList(); //var tagList = _resSalesgrouppromotionTag.GetList(); var where = PredicateExtensionses.True(); if (groupId.HasValue) where = where.And(p => p.GROUPID == groupId.Value); if (!string.IsNullOrEmpty(tag)) where = where.And(p => p.TAG == tag); if (eid.HasValue) where = where.And(p => p.INNERUSERID == InnerUserHelper.Instance.GetUserIdByEid(eid.Value)); if (!string.IsNullOrEmpty(alias)) where = where.And(p => p.ALIAS == alias); var list = _resSalesgrouppromotionDetail.GetList(where); foreach (var item in list) { table.AddHiddenCol(item.GROUPID); table.AddCol(groupList.FirstOrDefault(p => p.GROUPID == item.GROUPID).NAME); table.AddHiddenCol(item.INNERUSERID); table.AddCol(InnerUserHelper.Instance.EidAndName(item.INNERUSERID)); table.AddCol(item.TAG); table.AddCol(item.ALIAS); table.AddRow(); } var json = new { rowsList = table.GetRows() }; return Json(json, JsonRequestBehavior.AllowGet); } [HttpPost] [AuthorizeRedirect(Roles = InitRights.CONST_微信资源标签设置)] public JsonResult Add(decimal groupId, string tag, decimal eid, string alias) { try { var model = new RES_SALESGROUPPROMOTION_DETAIL() { GROUPID = groupId, TAG = tag, INNERUSERID = InnerUserHelper.Instance.GetUserIdByEid(eid), ALIAS = alias }; var result = _resSalesgrouppromotionDetail.Add(model); var modellog = new RES_SALESGROUPPROMOTION_LOG() { PKID = new SEQUENCES_BL().Seq_base_get(), GROUPID = groupId, TAG = tag, INNERUSERID = InnerUserHelper.Instance.GetUserIdByEid(eid), ALIAS = alias, STARTDATE = DateTime.Now, ENDDATE = Convert.ToDateTime("2050-01-01"), CTIME = DateTime.Now }; var resultlog = _resSalesgrouppromotionLog.Add(modellog); if (result > 0 && resultlog > 0) return Json(new { result = "success" }, JsonRequestBehavior.AllowGet); else return Json(new { result = "err" }, JsonRequestBehavior.AllowGet); } catch (Exception ex) { LogHelper.Error(ex.ToString()); return Json(new { result = "err" }, JsonRequestBehavior.AllowGet); } } [HttpPost] [AuthorizeRedirect(Roles = InitRights.CONST_微信资源标签设置)] public JsonResult Update(decimal groupId, string tag, decimal eid, string alias) { try { var model = _resSalesgrouppromotionDetail.Get(p => p.ALIAS == alias); model.GROUPID = groupId; model.TAG = tag; model.INNERUSERID = InnerUserHelper.Instance.GetUserIdByEid(eid); var result = _resSalesgrouppromotionDetail.Update(model); var modellog = new RES_SALESGROUPPROMOTION_LOG() { GROUPID = groupId, TAG = tag, INNERUSERID = InnerUserHelper.Instance.GetUserIdByEid(eid), ALIAS = alias, STARTDATE = DateTime.Now, ENDDATE = Convert.ToDateTime("2050-01-01"), CTIME = DateTime.Now }; var resultlog = _resSalesgrouppromotionLog.Save(modellog); if (result && resultlog) return Json(new { result = "success" }, JsonRequestBehavior.AllowGet); else return Json(new { result = "err" }, JsonRequestBehavior.AllowGet); } catch (Exception ex) { LogHelper.Error(ex.ToString()); return Json(new { result = "err" }, JsonRequestBehavior.AllowGet); } } [HttpPost] [AuthorizeRedirect(Roles = InitRights.CONST_微信资源标签设置)] public JsonResult Delete(string alias) { try { var model = _resSalesgrouppromotionDetail.Get(p => p.ALIAS == alias); _resSalesgrouppromotionDetail.Delete(model); return Json(new { result = "success" }, JsonRequestBehavior.AllowGet); } catch (Exception ex) { LogHelper.Error(ex.ToString()); return Json(new { result = "err" }, JsonRequestBehavior.AllowGet); } } } }