public ActionResult DeleteCustomer() { var customerCode = Request["customerCode"].SafeConvert().ToStr(); var pkId = Request["__qcrm_pkval"].SafeConvert().ToStr(); if (customerCode.Length == 0) { throw new UIValidateException("客户编号为空请检查客户端数据。"); } if (pkId.Length == 0) { throw new UIValidateException("客户ID为空请检查客户端数据。"); } var result = QWF.Framework.Web.ResultWebData.Default(); var curUser = QWF.Framework.Web.UserContext.GetCurrentInfo(); var httpContext = System.Web.HttpContext.Current; var formUtils = new QWF.CRM.Utils.FormUtils(httpContext); var permissoin = new QWF.CRM.Utils.PermissionUtils(curUser); var plugIn = QWF.CRM.PlugIn.PlugInServices.GetInstance(formUtils.FormCode); if (!permissoin.IsDeleteCustomer(customerCode)) { var message = string.Format("权限错误(数据):用户【{0}】对【{1}】无操作权限", curUser.CurrentUserName, formUtils.DbForm.Name); QWF.Framework.MainServices.CreateWebAppServices.GetUserActionLogServices().WriterActionLog("权限验证.修改数据", Framework.Services.SvrModels.SverUserActionLogType.Update, message, new { 客户编号 = customerCode }); throw new UIValidateException(message); } if (plugIn != null) { plugIn.OnBegin(httpContext, pkId, customerCode); } try { //逻辑删除 formUtils.SafeDictionary.Add("CustomerCode", customerCode); formUtils.SaveForm(); //写入日志 QWF.Framework.MainServices.CreateWebAppServices.GetUserActionLogServices().WriterActionLog("删除客户", Framework.Services.SvrModels.SverUserActionLogType.Update, null, new { 客户编码 = customerCode }); } catch (Exception e) { if (plugIn != null) { plugIn.Fail(e); } throw e; } if (plugIn != null) { plugIn.OnSuccess(httpContext, customerCode, customerCode); } return(this.Content(Newtonsoft.Json.JsonConvert.SerializeObject(result))); }
public ActionResult ChangeCustomer() { var customerCodes = Request["customerCodes"].SafeConvert().ToStr(); var pkId = Request["__qcrm_pkval"].SafeConvert().ToStr(); if (customerCodes.Length == 0) { throw new UIValidateException("客户编码为空,请检查客户端数据。"); } var changeToUserCode = Request["changToUserCode"].SafeConvert().ToStr(); var result = QWF.Framework.Web.ResultWebData.Default(); var curUser = QWF.Framework.Web.UserContext.GetCurrentInfo(); var httpContext = System.Web.HttpContext.Current; var formUtils = new QWF.CRM.Utils.FormUtils(httpContext); var plugIn = QWF.CRM.PlugIn.PlugInServices.GetInstance(formUtils.FormCode); //权限验证 if (!QWF.CRM.Utils.PermissionUtils.Create().IsChangCustomer()) { var message = string.Format("权限错误(数据):用户【{0}】对【{1}】无操作权限。", curUser.CurrentUserName, formUtils.DbForm.Name); QWF.Framework.MainServices.CreateWebAppServices.GetUserActionLogServices().WriterActionLog("权限验证.修改数据", Framework.Services.SvrModels.SverUserActionLogType.Delete, message, new { 客户编号 = customerCodes }); throw new UIValidateException(message); } if (plugIn != null) { plugIn.OnBegin(httpContext, pkId, customerCodes); } if (plugIn != null) { var dicParams = new Dictionary <string, object>(); dicParams.Add("ChangeToUserCode", changeToUserCode); plugIn.OnSuccess(httpContext, pkId, customerCodes, dicParams); //写入日志 QWF.Framework.MainServices.CreateWebAppServices.GetUserActionLogServices().WriterActionLog("客户转移", Framework.Services.SvrModels.SverUserActionLogType.Update, null, new { 客户编码 = customerCodes, 转移给 = changeToUserCode }); } return(this.Content(Newtonsoft.Json.JsonConvert.SerializeObject(result))); }
public ActionResult SaveCustomerForm() { var result = QWF.Framework.Web.ResultWebData.Default(); var curUser = QWF.Framework.Web.UserContext.GetCurrentInfo(); var customerCode = Request["customerCode"].SafeConvert().ToStr(); var httpContext = System.Web.HttpContext.Current; var formUtils = new QWF.CRM.Utils.FormUtils(httpContext); var permissoin = new QWF.CRM.Utils.PermissionUtils(curUser); var plugIn = QWF.CRM.PlugIn.PlugInServices.GetInstance(formUtils.FormCode); try { if (formUtils.DbForm.ActionType == "update") { if (customerCode.Length == 0) { throw new UIValidateException("客户编号为空请检查客户端数据。"); } if (!permissoin.IsUpdateCustomer(customerCode)) { var message = string.Format("权限错误(数据):用户【{0}】对【{1}】无操作权限", curUser.CurrentUserName, formUtils.DbForm.Name); QWF.Framework.MainServices.CreateWebAppServices.GetUserActionLogServices().WriterActionLog("权限验证.修改数据", Framework.Services.SvrModels.SverUserActionLogType.Update, message, new { 客户编号 = customerCode }); throw new UIValidateException(message); } //保存修改 if (plugIn != null) { plugIn.OnBegin(httpContext, customerCode, customerCode); } //安全过滤参数 formUtils.SafeDictionary.Add("CustomerCode", customerCode); formUtils.SaveForm(); } else if (formUtils.DbForm.ActionType == "create") { if (plugIn != null) { plugIn.OnBegin(httpContext, customerCode, string.Empty); } //新增保存并返回表单的客户code customerCode = formUtils.SaveForm <string>("CustomerCode").Replace("'", ""); } //产品&服务 var products = Request["product"].SafeConvert().ToStr().StringHelper().SplitToArray(",", StringSplitOptions.RemoveEmptyEntries); var productCodeList = new List <string>(); products.ToList().ForEach(p => { var productCode = p.Split(new char[1] { '$' }, StringSplitOptions.RemoveEmptyEntries)[0]; if (productCode.Length > 0) { productCodeList.Add(productCode); } }); using (var db = DbAccess.DbCRMContext.Create()) { //清除不需要的产品,以勾选的服务为准 db.T_QCRM_CustomerProduct.Where(w => !productCodeList.Contains(w.ProductCode) && w.CustomerCode == customerCode).ToList().ForEach(item => { var dbModel = db.T_QCRM_CustomerProduct.Where(w => w.Id == item.Id).FirstOrDefault(); db.T_QCRM_CustomerProduct.Remove(dbModel); }); foreach (var item in products) { //服务时间: var product = item.SafeConvert().ToStr().StringHelper().SplitToArray("$", StringSplitOptions.RemoveEmptyEntries); var productCode = product[0]; var productName = product[1]; var beginDate = Request["svrBeginDate_" + productCode].SafeConvert().ToStr(); var endDate = Request["svrEndDate_" + productCode].SafeConvert().ToStr(); var productItemId = Request["productItem_" + productCode].SafeConvert().ToInt32(); var remark = Request["productRemarks_" + productCode].SafeConvert().ToStr(); if (beginDate.Length > 0 && endDate.Length == 0) { throw new UIValidateException("【{0}】请填写结束时间", productName); } if (beginDate.Length > 0 && endDate.Length > 0) { if (endDate.SafeConvert().ToDateTime() <= beginDate.SafeConvert().ToDateTime()) { throw new UIValidateException("【{0}】结束时间必须大于开始时间", productName); } } // 幂等操作产品服务 #region 幂等操作产品服务 DbAccess.T_QCRM_CustomerProduct dbModel = null; dbModel = db.T_QCRM_CustomerProduct.Where(w => w.CustomerCode == customerCode && w.ProductCode == productCode).FirstOrDefault(); if (dbModel == null) { dbModel = new DbAccess.T_QCRM_CustomerProduct(); dbModel.ProductCode = productCode; dbModel.CustomerCode = customerCode; dbModel.ProductItemId = productItemId; if (beginDate.Length > 0 && endDate.Length > 0) { dbModel.BeginTime = beginDate.SafeConvert().ToDateTime(); dbModel.EndTime = endDate.SafeConvert().ToDateTime(); } dbModel.Remarks = remark; dbModel.CreateTime = DateTime.Now; dbModel.CreateUser = curUser.CurrentUserCode; db.T_QCRM_CustomerProduct.Add(dbModel); } else { dbModel.ProductItemId = productItemId; if (beginDate.Length > 0 && endDate.Length > 0) { dbModel.BeginTime = beginDate.SafeConvert().ToDateTime(); dbModel.EndTime = endDate.SafeConvert().ToDateTime(); } dbModel.Remarks = remark; dbModel.UpdateTime = DateTime.Now; dbModel.UpdateUser = curUser.CurrentUserCode; } // #endregion } //提交保存 db.SaveChanges(); } //执行成功 if (plugIn != null) { plugIn.OnSuccess(httpContext, customerCode, customerCode); } //输出结果 result.Data = new { Code = customerCode }; } catch (Exception e) { if (plugIn != null) { plugIn.Fail(e); } throw e; } return(this.Content(Newtonsoft.Json.JsonConvert.SerializeObject(result))); }