using System; using System.Collections.Generic; using System.Web.Mvc; using WX.CRM.Common; using WX.CRM.IBLL.Ord; using WX.CRM.Model.QueryMap; using WX.CRM.WebHelper; using WX.CRM.WebHelper.RedisFactory; using WX.CRM.WebHelper.UserRight; namespace WX.CRM.WEB.Controllers.Ord { public class MemoDeleteController : BaseController { private readonly IORD_MEMO_Q memo_Q; private readonly IORD_SALEMEMO _saleMemo; private readonly IORD_SERVICEMEMO _serviceMemo; private readonly IORD_PURPOSEMEMO _purposeMemo; private readonly IORD_SPECIALMEMO _specialMemo; private readonly RedisFactory redisFactory = new RedisFactory(); public MemoDeleteController(IORD_MEMO_Q _memo_Q, IORD_SALEMEMO saleMemo, IORD_SERVICEMEMO serviceMemo, IORD_PURPOSEMEMO purposeMemo, IORD_SPECIALMEMO specialMemo) { this.memo_Q = _memo_Q; this._saleMemo = saleMemo; this._serviceMemo = serviceMemo; this._purposeMemo = purposeMemo; this._specialMemo = specialMemo; } ValidationErrors errors = new ValidationErrors(); [AuthorizeRedirect(Roles = InitRights.CONST_删除工单)] public ActionResult Index() { List BusinessTypeList = new List(); SelectListItem item = null; string[] names = Enum.GetNames(typeof(WX.CRM.Model.Enum.EnumMemoType)); foreach (int i in Enum.GetValues(typeof(WX.CRM.Model.Enum.EnumMemoType))) { //业务类型 item = new SelectListItem() { Text = names[i], Value = i.ToString() }; BusinessTypeList.Add(item); } ViewBag.BusinessTypeList = BusinessTypeList; return View(); } [HttpPost] public ActionResult Details(string TypeId, string MemoId) { Ord_MemoDelete model = new Ord_MemoDelete(); if (!string.IsNullOrWhiteSpace(TypeId) && !string.IsNullOrWhiteSpace(MemoId)) { model = memo_Q.GetMemoInfoByMemoId(TypeId, MemoId.Trim().GetDecimal(-1)); } return View(model); } #region 删除工单 [HttpPost] public JsonResult DeleteMemoInfo(string TypeId, string MemoId) { bool result = false; Ord_MemoDelete memoDelete = memo_Q.GetMemoInfoByMemoId(TypeId, MemoId.Trim().GetDecimal(-1)); if (memoDelete != null) { switch (TypeId) { case "0": result = _saleMemo.Delete_SaleMemo(ref errors, MemoId.Trim().GetDecimal(-1)); break; case "1": result = _serviceMemo.Delete_ServiceMemo(ref errors, MemoId.Trim().GetDecimal(-1)); break; case "2": result = _purposeMemo.Delete_PurposeMemo(ref errors, MemoId.Trim().GetDecimal(-1)); break; case "3": result = _specialMemo.Delete_SpecialMemo(ref errors, MemoId.Trim().GetDecimal(-1)); break; } //redisFactory.Delete_Resid_memoid(memoDelete.MemoId,memoDelete.ResId); //redisFactory.Delete_Cacheordmemo(memoDelete.MemoId); OperationLogHelper op = new OperationLogHelper(); op.AddOperationLog(UserId, Eid, GetMemoDetial(memoDelete, TypeId)); return JsonHandler.DeleteMessage(errors, result); } else { return JsonHandler.ManageMessage("删除失败:工单记录不存在!", result); } } #endregion #region 设置操作记录备注内容 private string GetMemoDetial(Ord_MemoDelete memoDelete, string typeId) { string result = "删除工单!"; result += "员工ID:"; result += memoDelete.InneruserId; result += " | "; result += "客户ID:"; result += memoDelete.ResId; result += " | "; result += "工单类型:"; result += typeId + "," + memoDelete.MemoTypeId + "," + memoDelete.MemoSubTypeId; result += " | "; result += "时间:"; result += memoDelete.CTime.ToString(); result += " | "; result += "工单:"; result += memoDelete.MemoContent; string tempStr = result.ToString().Length >= 100 ? result.ToString().Substring(0, 100) : result.ToString(); return tempStr; } #endregion } }