using Ninject; using System; using System.Collections.Generic; using System.Linq; using System.Web.Mvc; using WX.CRM.Common; using WX.CRM.IBLL.Base; using WX.CRM.IBLL.Csvr; using WX.CRM.IBLL.Res; using WX.CRM.Model.Entity; using WX.CRM.WebHelper; namespace WX.CRM.WEB.Controllers.Csvr { public class VipNumberController : BaseController { [Inject] public ICSVR_VIPNUMBER_Q csvr_vipnumber_q { get; set; } [Inject] public ICSVR_VIPNUMBER csvr_vipnumber { get; set; } [Inject] public IRES_CUSTOMER_Q _customerq { get; set; } [Inject] public IBAS_SUBCOMTYPE_Q _bassubcomtypeq { get; set; } ValidationErrors errors = new ValidationErrors(); // // GET: /VipNumber/ [AuthorizeRedirect(Roles = InitRights.CONST_Vip电话管理)] public ActionResult Index() { var tool = new ToolBar(); string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights.Vip电话管理, userRightId); List listBtn = new List(toolbtn); List Buttons = new List(); Buttons.Add("Other1"); Buttons.AddRange(listBtn); tool.AllowButton(Buttons.ToArray()); // tool.AllowButton("Create", "Other1", "Delete"); tool.AddOtherButton("Other1", "刷新", "icon-reload", "Reload_Click", true); ViewBag.ToolBar = tool; var pager = new Pager() { page = 1, rows = 10 }; var tableId = "tablist"; var tab = new Table(tableId); tab.AddHiddenHeadCol("PKID", "ID");//隐藏列 tab.AddHeadCol("RESID", "20%", "客户ID "); tab.AddHeadCol("VIPTYPE", "20%", "类型 "); tab.AddHeadCol("REASON", "20%", "备注"); tab.AddHeadCol("CTIME", "20%", "添加时间"); tab.AddHeadCol("CREATEUSRE", "", "添加人"); tab.AddHeadRow(); ViewBag.List = tab.GetTable() + Pagination.GetPage(pager, tableId, "10,20,30"); List list = _bassubcomtypeq.GetSubComType("VipCusType"); ViewBag.SubComTypeList = list; return View(); } [HttpPost] [AuthorizeRedirect(Roles = InitRights.CONST_Vip电话管理)] public JsonResult GetHtmlList(Pager pager, string type, string resid, string columns) { try { List listsub = _bassubcomtypeq.GetSubComType("VipCusType"); var list = csvr_vipnumber_q.GetPagingData(ref pager, resid, type); var table = new Table(columns, true); table.gridPager = pager; foreach (var model in list) { table.AddHiddenCol(model.PKID);//影藏列 table.AddCol(model.RESID); var xs = listsub.FirstOrDefault(m => m.SUBTYPECODE == model.VIPTYPE); if (xs != null) { table.AddCol(xs.SUBTYPENAME); } else { table.AddCol(model.VIPTYPE); } table.AddCol(model.REASON); table.AddCol(model.CTIME); table.AddCol(InnerUserHelper.Instance.EidAndName(model.CREATEUSRE)); table.AddRow(); } var json = new { totalPages = pager.totalPages, totalRows = pager.totalRows, rowsList = table.GetRows() }; return Json(json, JsonRequestBehavior.AllowGet); } catch (Exception ex) { LogHelper.Error(ex.Message); var json = new { errorMessag = "系统错误:" + ex.Message }; return Json(json, JsonRequestBehavior.AllowGet); } } [HttpGet] [AuthorizeToolBar(InitRights.CONST_Vip电话管理, InitToolBar.CONST_Add)] public ActionResult Add() { List list = _bassubcomtypeq.GetSubComType("VipCusType"); ViewBag.SubComTypeList = list; CSVR_VIPNUMBER model = null; return View(model); } [HttpPost] [AuthorizeToolBar(InitRights.CONST_Vip电话管理, InitToolBar.CONST_Add)] public ActionResult Add(string viptype, string VIPNUMBER_resids, string Reson) { try { Reson = string.IsNullOrEmpty(Reson) ? " " : Reson; string message = ""; if (string.IsNullOrEmpty(VIPNUMBER_resids.Trim())) { ModelState.AddModelError("BLACKNUMBER_resids", "客户ID不能为空"); } if (!ModelState.IsValid) { return JsonHandler.JsonResultSerialize(ModelState); } string[] resIds = VIPNUMBER_resids.Replace(" ", "").Replace("\r", "").Replace("\n", "").Replace(",", ",").Split(','); string[] trueResIds = _customerq.getResByResIds(resIds).Select(m => m.RESID.Trim()).ToArray(); string[] existresIds = csvr_vipnumber_q.GetByResIds(trueResIds, viptype).Select(m => m.RESID.Trim()).ToArray(); var nottrue = resIds.Except(trueResIds); if (nottrue.Count() > 0) { message = "不存在系统的客户ID:" + string.Join(",", nottrue); } if (existresIds.Count() > 0) { message += "。已存在Vip名单的客户ID:" + string.Join(",", existresIds); } ///////// var updateResIds = trueResIds.Except(existresIds); List numbers = new List(); foreach (string resid in updateResIds) { if (!string.IsNullOrEmpty(resid)) { CSVR_VIPNUMBER model = new CSVR_VIPNUMBER(); model.RESID = resid; model.VIPTYPE = viptype; model.REASON = Reson; model.CTIME = DateTime.Now; model.CREATEUSRE = UserId; numbers.Add(model); } } if (numbers.Count > 0) { bool result = csvr_vipnumber.CreateEntities(ref errors, numbers); string msg = result ? "添加成功" : "添加失败:" + errors.Error; return Json(new { type = 1, message = msg, value = message }, JsonRequestBehavior.AllowGet); } else { return Json(new { type = 0, message = "添加失败,资源不存在系统或已经在黑名单里", value = message }, JsonRequestBehavior.AllowGet); } } catch (Exception ex) { //errors.Add(ex.Message); LogHelper.Error("VipNumberController_Add:" + ex.StackTrace + ";" + ex.Message); return Json(new { type = 10, message = ex.Message, value = "" }, JsonRequestBehavior.AllowGet); } } [AuthorizeToolBar(InitRights.CONST_Vip电话管理, InitToolBar.CONST_Delete)] public JsonResult Delete(decimal? id) { if (!id.HasValue) { return JsonHandler.ManageMessage("参数不对!", false); } var result = csvr_vipnumber.Delete(ref errors, id.Value); return JsonHandler.DeleteMessage(errors, result); } } }