public ActionResult UserPermissionEdit(CasUserEntity entity, string id) { string strError = ""; if (!IsPost) { entity = SystemService.UserService.GetById <CasUserEntity>(id); // SystemService.UserService.CreateUserDomain("MDM").CasUserEntity; if (!string.IsNullOrEmpty(id)) { ViewBag.EditType = "0"; } else { ViewBag.EditType = "1"; } } else { if (SystemService.UserService.SaveUserPermissionAdd(entity.UserId, entity.OwnDepValue.Trim(), ref strError)) { return(Json(AjaxResult.Success())); } else { return(Json(AjaxResult.Error("Update failed"))); } } ViewBag.strError = strError; return(View(entity)); }
public virtual CasUserEntity GetMstUserEntityByUserAccount(string strUserAccount) { CasUserEntity entity = new CasUserEntity(); entity.UserAccount = strUserAccount; return(DataAccess.SelectSingle <CasUserEntity>(entity)); }
public bool POReject(string contractFilingId, string remark, ref string strError) { CasContractFilingEntity casContractFilingEntity = GetById <CasContractFilingEntity>(contractFilingId); CasUserEntity userEntity = GetById <CasUserEntity>(casContractFilingEntity.CreatedBy); CasContractEntity contractEntity = GetById <CasContractEntity>(casContractFilingEntity.ContractId); if (casContractFilingEntity == null || string.IsNullOrEmpty(contractFilingId)) { strError = "PR不存在"; return(false); } casContractFilingEntity.Remark = remark; casContractFilingEntity.Status = ContractFilingEnum.Reject.GetHashCode(); casContractFilingEntity.LastModifiedTime = DateTime.Now; casContractFilingEntity.LastModifiedBy = WebCaching.UserId; #region PO审批驳回时候发邮件通知 //var contractEntity = GetById<CasContractEntity>(casContractFilingEntity.ContractId); var title = $@"e-Approval – Contract PR Rejected"; var content = $@"Dear:{userEntity.EnglishName},</br>尊敬的:{userEntity.ChineseName}</br></br> The following PR is rejected:</br>以下PR被拒绝:</br></br> Contract Name 合同名称:{contractEntity.ContractName} {contractEntity.TemplateName}</br>Ferrero Entity 费列罗方:{contractEntity.FerreroEntity}</br> Counter Party 相对方:{contractEntity.CounterpartyEn} {contractEntity.CounterpartyCn}</br> PR No. PR号码:{casContractFilingEntity.PrNo} </br>Reject Reason 拒绝理由:{remark}</br></br>Please review your PR and resubmit the request.</br>请检查PR相关内容并重新提交。</br></br>Ferrero China Contract Approval System</br> 费列罗中国合同审批系统"; var cc = "*****@*****.**"; var reciever = GetUserEmail(casContractFilingEntity.CreatedBy); SendEmail.Send(reciever, cc, title, content); #endregion return(Update(casContractFilingEntity)); }
/// <summary> /// 创建领域对象 /// </summary> /// <returns></returns> public virtual UserDomain CreateUserDomain(string systemName) { CasUserEntity userEty = new CasUserEntity(); //userEty.UserId = Guid.NewGuid().ToString(); return(new UserDomain(systemName, userEty)); }
public override void Run(Hashtable parameters) { ContractManagementBLL contractManagementBLL = new ContractManagementBLL(); DepUserCommonBLL userBll = new DepUserCommonBLL(); //45天后过期的合同 List <CasContractEntity> listExpireIn45DaysContracts = contractManagementBLL.GetExpireIn45DaysContracts(); //90天后过期的合同 List <CasContractEntity> listExpireIn90DaysContracts = contractManagementBLL.GetExpireIn90DaysContracts(); foreach (CasContractEntity contract in listExpireIn45DaysContracts) { CasUserEntity user = userBll.GetById <CasUserEntity>(contract.CreatedBy); string title = $@"e-Approval – Notification of Contract Expiration"; string content = $@"Dear {user.EnglishName},<br/>尊敬的:{user.ChineseName} <br/><br/>The following contract will expire in 45 days: <br/>以下合同将在45天后过期:<br/><br/> Contract Name 合同名称:{contract.ContractName}{contract.TemplateName}<br/>Ferrero Entity 费列罗方:{contract.FerreroEntity}</br>Counter Party 相对方:{contract.CounterpartyEn}{contract.CounterpartyCn}</br>Contract Number 合同编号:{contract.ContractNo}{contract.TemplateNo}</br></br>Please check and consider if you need to renew the contract</br>请确认并考虑是否需要续签此合同。</br></br>Ferrero China Contract Approval System</br>费列罗中国合同审批系统"; var cc = "*****@*****.**"; string reciever = user.Email; SendEmail.Send(reciever, cc, title, content); } foreach (CasContractEntity contract in listExpireIn90DaysContracts) { CasUserEntity user = userBll.GetById <CasUserEntity>(contract.CreatedBy); string title = $@"e-Approval – Notification of Contract Expiration"; string content = $@"Dear {user.EnglishName},<br/>尊敬的:{user.ChineseName} <br/><br/>The following contract will expire in 90 days: <br/>以下合同将在90天后过期:<br/><br/> Contract Name 合同名称:{contract.ContractName}{contract.TemplateName}<br/>Ferrero Entity 费列罗方:{contract.FerreroEntity}</br>Counter Party 相对方:{contract.CounterpartyEn}{contract.CounterpartyCn}</br>Contract Number 合同编号:{contract.ContractNo}{contract.TemplateNo}</br></br>Please check and consider if you need to renew the contract</br>请确认并考虑是否需要续签此合同。</br></br>Ferrero China Contract Approval System</br>费列罗中国合同审批系统"; var cc = "*****@*****.**"; string reciever = user.Email; SendEmail.Send(reciever, cc, title, content); } }
public string GetRegionName(CasUserEntity userEntity) { DataAccessBroker broker = DataAccessFactory.Instance(); string sql = "SELECT CAS_REGION.REGION_NAME FROM CAS_CITY INNER JOIN CAS_REGION ON CAS_CITY.REGION_ID = CAS_REGION.REGION_ID WHERE CAS_CITY.CITY_CODE = '" + userEntity.CityCode + "'"; object result = broker.ExecuteSQLScalar(sql); return(result == null ? "" : result.ToString()); }
public string GetCityName(CasUserEntity userEntity) { DataAccessBroker broker = DataAccessFactory.Instance(); string sql = "SELECT CITY_NAME FROM CAS_CITY WHERE CITY_CODE = '" + userEntity.CityCode + "'"; object result = broker.ExecuteSQLScalar(sql); return(result == null ? "" : result.ToString()); }
/// <summary> /// 从数据库中直接获取用户Domain /// </summary> /// <param name="delUserId"></param> /// <returns></returns> public virtual UserDomain GetUserDomainFromDB(string systemName, string userId) { CasUserEntity user = this.GetById <CasUserEntity>(userId); if (null != user) { return(new UserDomain(systemName, user)); } return(null); }
public virtual UserDomain GetDomainByUserAccount(string systemName, string userAccount) { CasUserEntity user = GetMstUserEntityByUserAccount(userAccount); if (user != null) { return(new UserDomain(systemName, user)); } return(null); }
public ActionResult ManagerViewList(JqGrid grid, FormCollection data, string id) { CasUserEntity user = SystemService.UserService.GetUserEntity(id); ViewBag.UserId = id; ViewBag.UserCode = user.UserAccount; ViewBag.UserName = user.EnglishName; grid.ConvertParams(data); if (IsPost) { return(Json(AjaxResult.Success(SystemService.UserService.GetAllLineManagers(id, grid)))); } return(View()); }
/// <summary> /// 重置密码 /// </summary> /// <param name="userId"></param> /// <param name="strError"></param> /// <returns></returns> public bool ChangePassword(string userId, ref string strError) { if (string.IsNullOrEmpty(userId)) { strError = "用户名为空,无法修改密码!"; return(false); } CasUserEntity entity = SystemService.UserService.GetUserEntity(userId); if (entity != null) { entity.Password = Encryption.Encrypt(eContract.Common.ConfigHelper.GetSetString("DefaultPassword")); SystemService.UserService.Update(entity); } return(true); }
public override void Run(Hashtable parameters) { UploadSignatureStampContractRemind SignStapRe = new UploadSignatureStampContractRemind(); ContractManagementBLL contractManagementBLL = new ContractManagementBLL(); List <CasContractEntity> contracts = SignStapRe.GetNeedRemindContracts(); foreach (CasContractEntity contract in contracts) { CasUserEntity userEntity = contractManagementBLL.GetById <CasUserEntity>(contract.CreatedBy); var title = $@"e-Approval – Notification of Upload Signature Stamp Contract"; var content = $@"Dear {userEntity.EnglishName},<br/>尊敬的:{userEntity.ChineseName} <br/><br/>The following has been completed and approved before 10 working days, please upload the contract signed and sealed: <br/>以下合同10个工作日之前审批完成,请上传签字盖章合同:<br/><br/> Contract Name 合同名称:{contract.ContractName}{contract.TemplateName}<br/>Ferrero Entity 费列罗方:{contract.FerreroEntity}</br>Counter Party 相对方:{contract.CounterpartyEn}{contract.CounterpartyCn}</br>Contract Number 合同编号:{contract.ContractNo}{contract.TemplateNo}</br></br>Ferrero China Contract Approval System</br>费列罗中国合同审批系统"; var cc = "*****@*****.**"; var reciever = userEntity.Email; SendEmail.Send(reciever, cc, title, content); } }
/// <summary> /// 根据用户账号获取用户 /// </summary> /// <param name="userAccount"></param> /// <returns></returns> public virtual UserDomain GetUserDomainByUserAccount(string systemName, string userAccount) { //foreach (CasUserEntity user in GetAllUser().Values) //{ // if (user.UserAccount == userAccount) // { // return new UserDomain(systemName,user); // } //} //return null; CasUserEntity user = GetMstUserEntityByUserAccount(userAccount); if (user != null && !string.IsNullOrEmpty(user.Password))// { return(new UserDomain(systemName, user)); } return(null); }
/// <summary> /// 跟新用户的登录密码 /// </summary> /// <param name="userEntity"></param> public void UpdateUser(LubrUserEntity userEntity) { //首先我得获取用户的id var phone = userEntity.phonenumber.ToString().Trim(); var account = userEntity.username.ToString().Trim(); var userID = GetUserIdByPhoneAndAccount(phone, account); using (DataAccessBroker broker = DataAccessFactory.Instance()) { broker.BeginTransaction(); CasUserEntity user = SystemService.UserService.GetById <CasUserEntity>(userID); user.Password = Encryption.Encrypt(userEntity.password); user.LastModifiedBy = "忘记密码"; user.LastModifiedTime = DateTime.Now; DataAccess.Update(user, broker); broker.Commit(); } }
public ActionResult Edit(CasUserEntity entity, string id) { string strError = ""; if (!IsPost) { entity = SystemService.UserService.CreateUserDomain("MDM").CasUserEntity; if (!string.IsNullOrEmpty(id)) { entity = SystemService.UserService.GetById <CasUserEntity>(id); ViewBag.CityName = SystemService.UserService.GetCityName(entity); ViewBag.RegionName = SystemService.UserService.GetRegionName(entity); ViewBag.EditType = "0"; } else { ViewBag.EditType = "1"; } } else { var domain = SystemService.UserService.CreateUserDomain("MDM"); CasUserEntity oldEntity = SystemService.UserService.GetById <CasUserEntity>(id); domain.CasUserEntity = entity; if (SystemService.UserService.Save(domain, ref strError)) { WebCaching.IsAdmin = domain.CasUserEntity.IsAdmin.ToString(); WebCaching.UserCaching = null; return(Json(AjaxResult.Success())); } else { return(Json(AjaxResult.Error("Update failed"))); } } ViewBag.strError = strError; return(View(entity)); }
public ActionResult Index() { string strError = ""; CasUserEntity entity = SystemService.UserService.GetById <CasUserEntity>(WebCaching.UserId); if (!IsPost) { ViewBag.OriPassword = Encryption.Decrypt(entity.Password); } else { var domian = SystemService.UserService.CreateUserDomain("MDM"); domian.CasUserEntity = entity; string newPassword = Request.Form["newPassword"].ToString(); domian.CasUserEntity.Password = Encryption.Encrypt(newPassword); if (SystemService.UserService.Save(domian, ref strError)) { ViewBag.OriPassword = newPassword; ViewBag.SaveResult = "T"; ViewBag.PromptInfo = "保存成功。"; WebCaching.UserCaching = null; } else { strError = "保存失败, " + strError; ViewBag.OriPassword = Encryption.Decrypt(entity.Password); ViewBag.SaveResult = "F"; ViewBag.PromptInfo = strError; } } return(View()); }
/// <summary> /// 注册新的用户 /// </summary> /// <param name="userEntity"></param> public void RegisterNewUser(LubrUserEntity userEntity) { using (DataAccessBroker broker = DataAccessFactory.Instance()) { broker.BeginTransaction(); CasUserEntity user = new CasUserEntity(); user.UserId = Guid.NewGuid().ToString(); user.UserAccount = userEntity.username; user.UserCode = userEntity.username; user.ChineseName = userEntity.username; user.EnglishName = userEntity.username; var password = Encryption.Encrypt(userEntity.password); user.Password = password; user.Status = 0; user.IsDeleted = false; user.CreatedBy = "self"; user.CreateTime = DateTime.Now; user.LastModifiedBy = "self"; user.LastModifiedTime = DateTime.Now; user.PhoneNumber = userEntity.phonenumber; DataAccess.Insert(user, broker); broker.Commit(); } }
public override void Run(Hashtable parameters) { ContractApprovalBLL bll = new ContractApprovalBLL(); ContractManagementBLL contractManagementBLL = new ContractManagementBLL(); List <CasUserEntity> listApprovers = bll.GetAllPendingApprovalAndOvertimeContractsApprovers(); foreach (CasUserEntity approver in listApprovers) { //待审批和超时合同 List <CasContractApproverEntity> listPendingApprovalAndOverTimeContractApprovers = bll.GetPendingApprovalAndOvertimeContractApprovers(approver.UserId); //待审批合同 List <CasContractApproverEntity> listPendingApprovalContractApprovers = listPendingApprovalAndOverTimeContractApprovers.Where(p => p.Status == ContractApproverStatusEnum.WaitApproval.GetHashCode()).ToList(); //超时合同 List <CasContractApproverEntity> listOverTimeContractApprovers = listPendingApprovalAndOverTimeContractApprovers.Where(p => p.Status == ContractApproverStatusEnum.OverTime.GetHashCode()).ToList(); //邮件标题 string mailTitle = $@"e-Approval - Contract Approval List"; //邮件正文 string mailContent = $@"Dear {approver.EnglishName},<br/>尊敬的:{approver.ChineseName}"; if (listPendingApprovalContractApprovers.Count > 0) { mailContent += $@"<br/>The following contracts have been submitted for your approval(please kindly confirm your approval or rejection within 3 working days):<br/>以下合同申请需要您的审核(请在3个工作日内批准或拒绝申请):<br/> </br><table style='font-family:verdana,arial,sans-serif;font-size:11px;color:#333333;border-width: 1px;border-color: #666666;border-collapse:collapse;'><thead> <tr><th style='border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #dedede;'>Initiator 申请人</th> <th style='border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #dedede;'>Contract Owner 合同经办部门</th> <th style='border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #dedede;'>Contract Name 合同名称</th> <th style='border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #dedede;'>Ferrero Entity 费列罗方</th> <th style='border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #dedede;'>Counter Party 相对方</th> </tr></thead><tbody>"; foreach (var pendingApproval in listPendingApprovalContractApprovers) { CasContractEntity contract = contractManagementBLL.GetById <CasContractEntity>(pendingApproval.ContractId); CasUserEntity userEntity = contractManagementBLL.GetById <CasUserEntity>(contract.CreatedBy); mailContent += $@"<tr> <td style='border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #ffffff;'>{userEntity.ChineseName}</td> <td style='border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #ffffff;'>{contract.ContractOwner}{contract.TemplateOwner}</td> <td style='border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #ffffff;'>{contract.ContractName}{contract.TemplateName}</td> <td style='border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #ffffff;'>{contract.FerreroEntity}</td> <td style='border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #ffffff;'>{contract.CounterpartyEn}{contract.CounterpartyCn}</td> </tr>"; } mailContent += $@"</tbody></table></br>"; } if (listOverTimeContractApprovers.Count > 0) { mailContent += $@"<br/>Note below contracts are overdue, please review the contracts at your earliest convenient.<br/>请注意以下合同已超期,请尽快进行审批。<br/> </br><table style='font-family:verdana,arial,sans-serif;font-size:11px;color:#333333;border-width: 1px;border-color: #666666;border-collapse:collapse;'><thead> <tr><th style='border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #dedede;'>Initiator 申请人</th> <th style='border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #dedede;'>Contract Owner 合同经办部门</th> <th style='border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #dedede;'>Contract Name 合同名称</th> <th style='border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #dedede;'>Ferrero Entity 费列罗方</th> <th style='border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #dedede;'>Counter Party 相对方</th> </tr></thead><tbody>"; foreach (var listOverTime in listOverTimeContractApprovers) { CasContractEntity contract = contractManagementBLL.GetById <CasContractEntity>(listOverTime.ContractId); CasUserEntity userEntity = contractManagementBLL.GetById <CasUserEntity>(contract.CreatedBy); mailContent += $@"<tr> <td style='border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #ffffff;'>{userEntity.ChineseName}</td> <td style='border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #ffffff;'>{contract.ContractOwner}{contract.TemplateOwner}</td> <td style='border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #ffffff;'>{contract.ContractName}{contract.TemplateName}</td> <td style='border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #ffffff;'>{contract.FerreroEntity}</td> <td style='border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #ffffff;'>{contract.CounterpartyEn}{contract.CounterpartyCn}</td> </tr>"; } mailContent += $@"</tbody></table></br>"; } //foreach (CasContractApproverEntity casContractApproverEntity in listPendingApprovalAndOverTimeContractApprovers) //{ // CasContractEntity contract = contractManagementBLL.GetById<CasContractEntity>(casContractApproverEntity.ContractId); // string statusName = ""; // switch (casContractApproverEntity.Status) // { // case (2): statusName = "待审批"; break; // case (4): statusName = "超时"; break; // default: statusName = "待审批"; break; // } // string approveTypeName = ""; // switch (casContractApproverEntity.ApproverType) // { // case (1): approveTypeName = "领导"; break; // case (2): approveTypeName = "大区总监"; break; // case (3): approveTypeName = "部门总监"; break; // case (4): approveTypeName = "审批部门"; break; // default: approveTypeName = "审批部门"; break; // } // mailContent += $@"<tr><td style='border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #ffffff;'>{contract.ContractName}</td><td style='border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #ffffff;'>{approveTypeName}</td><td style='border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #ffffff;'>{statusName}</td></tr>"; //} mailContent += "</br></br>Ferrero China Contract Approval System</br>费列罗中国合同审批系统"; var cc = "*****@*****.**"; #if DEBUG string reciever = "*****@*****.**"; #else string reciever = approver.Email; #endif SendEmail.Send(reciever, mailTitle, mailContent); } }
/// <summary> /// 审批人审批 /// </summary> /// <param name="comment"></param> /// <param name="contractApproverId"></param> /// <returns></returns> public JsonResult Submit(int approvalType, string contractApproverId, string comment) { bool flag = false; string msg = ""; //获取审批人信息 CasContractApproverEntity casContractApproverEntity = new CasContractApproverEntity { ContractApproverId = contractApproverId }; casContractApproverEntity = BusinessDataService.CommonHelperService.GetApprover(casContractApproverEntity); if (casContractApproverEntity != null) { CasContractEntity casContractEntity = BusinessDataService.CommonHelperService.GetById <CasContractEntity>(casContractApproverEntity.ContractId); CasUserEntity userEntity = BusinessDataService.CommonHelperService.GetById <CasUserEntity>(casContractEntity.CreatedBy); if (casContractEntity.Status != ContractStatusEnum.WaitApproval.GetHashCode() && casContractEntity.Status != ContractStatusEnum.Resubmit.GetHashCode()) { flag = false; msg = "Approve failed: the contract is not in review process."; return(Json(AjaxResult.Error(msg))); } if (casContractApproverEntity.Status == ContractApproverStatusEnum.WaitApproval.GetHashCode() || casContractApproverEntity.Status == ContractApproverStatusEnum.OverTime.GetHashCode()) { CasContractApprovalResultEntity casContractApprovalResultEntity = new CasContractApprovalResultEntity { ContractApprovalResultId = Guid.NewGuid().ToString(), ApprovalResult = approvalType, //审批结果 ApproverType = casContractApproverEntity.ApproverType, //审批用户类型 ApprovalOpinions = comment, ApproverId = CurrentUser.CasUserEntity.UserId, ContractApprovalStepId = casContractApproverEntity.ContractApprovalStepId, ContractId = casContractApproverEntity.ContractId, CreatedBy = CurrentUser.CasUserEntity.UserId, CreateTime = DateTime.Now, ApprovalTime = DateTime.Now, LastModifiedBy = CurrentUser.CasUserEntity.UserId, LastModifiedTime = DateTime.Now }; flag = BusinessDataService.ContractApprovalService.Approval(casContractApprovalResultEntity, casContractApproverEntity); if (flag && approvalType == 4) { var title = $@"e-Approval – Contract Reject"; var content = $@"Dear:{userEntity.EnglishName},</br>尊敬的:{userEntity.ChineseName}</br></br>The following contract is rejected:</br>以下合同被拒绝:</br></br>Contract Name 合同名称:{casContractEntity.ContractName} {casContractEntity.TemplateName}</br>Ferrero Entity 费列罗方 :{casContractEntity.FerreroEntity}</br>Counter Party 相对方:{casContractEntity.CounterpartyEn} {casContractEntity.CounterpartyCn}</br>Rejected by 拒绝审批人:{ CurrentUser.CasUserEntity.EnglishName}{ CurrentUser.CasUserEntity.ChineseName}</br>Reject Reason 拒绝理由:{comment}</br></br>Please review your contract and resubmit or close the request.</br>请检查合同相关内容,重新提交或关闭合同。</br></br>Ferrero China Contract Approval System</br>费列罗中国合同审批系统"; var cc = "*****@*****.**"; var reciever = userEntity.Email; SendEmail.Send(reciever, cc, title, content); } } else { flag = false; msg = "Approve failed: the contract is already approved."; } } else { flag = false; msg = "Operation failed: cannot find the approver's info."; } return(Json(flag ? AjaxResult.Success() : AjaxResult.Error(msg))); }
/// <summary> /// 构造函数 /// </summary> /// <param name="CasUserEntity">用户实体</param> public UserDomain(string systemName, CasUserEntity CasUserEntity) : base(CasUserEntity) { SystemName = systemName; }
// ************************************** // URL: /Account/LogOn // ************************************** public ActionResult Login(CasUserEntity userEntity, string UserAccount, string password, string currentLanguage, string returnUrl, string paras, string viewName = "LoginV3") { string strError = ""; string ssologin = ComixSDK.EDI.Utils.ConfigHelper.GetConfigString("SSOLogin"); string SSOUserId = ""; string AUTHUserId = ""; string SSOToken = ""; object bindModel = null; if (!string.IsNullOrEmpty(paras)) { //SortedDictionary<string, string> parasDic = new SortedDictionary<string, string>(); //parasDic.Add("SSOUserId", ""); //parasDic.Add("AUTHUserId", Guid.NewGuid().ToString().Replace("-", "").ToLower()); //parasDic.Add("SSOToken", ""); //string newparas = JSONHelper.ToJson(parasDic); //newparas = ComixSDK.EDI.Utils.EncryptionService.EncryptDES(newparas, eContract.Common.ConfigHelper.GetSetString("EncryptionKey")); //paras = newparas; paras = ComixSDK.EDI.Utils.EncryptionService.DecryptDES(paras, eContract.Common.ConfigHelper.GetSetString("EncryptionKey")); SortedDictionary <string, object> sd = ComixSDK.EDI.Utils.JSONHelper.FromJson <SortedDictionary <string, object> >(paras); SSOUserId = sd["SSOUserId"] == null ? "" : sd["SSOUserId"].ToString(); bindModel = sd["BindModel"]; SSOToken = sd["SSOToken"] == null ? "" : sd["SSOToken"].ToString(); } ViewBag.Paras = paras; ViewBag.ReturnUrl = returnUrl; if (IsPost) { //参数解密 //SSOUserId = ComixSDK.EDI.Utils.EncryptionService.DecryptDES(SSOUserId, eContract.Common.ConfigHelper.GetSetString("EncryptionKey")); //AUTHUserId = ComixSDK.EDI.Utils.EncryptionService.DecryptDES(AUTHUserId, eContract.Common.ConfigHelper.GetSetString("EncryptionKey")); if (IsPost || !string.IsNullOrEmpty(SSOUserId)) { WebCaching.UserCaching = null; UserDomain userDomain = null; if (!string.IsNullOrEmpty(SSOUserId)) //获取第三方登录用户 { userEntity = SystemService.UserService.GetUserEntity(SSOUserId); if (userEntity == null) { return(View(viewName, userEntity)); } userDomain = SystemService.UserService.GetUserDomainByUserAccount("MDM", userEntity.UserAccount); } else { userDomain = SystemService.UserService.GetUserDomainByUserAccount("MDM", userEntity.UserAccount); } if (userDomain == null || Encryption.Decrypt(userDomain.CasUserEntity.Password) != password) { ViewBag.strError = "您输入的账号或密码错误,请重新输入"; //strError = "您输入的账号或密码错误,请重新输入"; //return Json(AjaxResult.Error(strError)); return(View(viewName, userEntity)); } //if (userDomain.CasUserEntity.IsDelete == 1) //{ // strError = "该用户已被删除"; // return Json(AjaxResult.Error(strError)); //} string CacheKey = "User_" + UserId; CacheHelper.Instance.Remove(CacheKey); WebCaching.UserId = userDomain.CasUserEntity.UserId; WebCaching.UserAccount = userDomain.CasUserEntity.UserAccount; WebCaching.IsAdmin = userDomain.CasUserEntity.IsAdmin.ToString(); WebCaching.SystemName = "MDM"; userDomain.MenuDataItems = SystemService.FunctionRoleService.GetMenuDataItemByUserId("MDM", WebCaching.UserId); this.CurrentUser = userDomain; ComixSDK.EDI.Utils.CookieHelper.AddCookie(LANG_COOKIE_ID, currentLanguage, DateTime.Now.AddYears(1)); WebCaching.CurrentLanguage = currentLanguage; FormsAuthentication.SetAuthCookie(userDomain.CasUserEntity.UserAccount, false); userEntity = userDomain.CasUserEntity; BusinessRoleBLL userroleBll = new BusinessRoleBLL(); List <SecUserRoleEntity> listUserRoles = userroleBll.GetBusinessRoleUserDomainByUserid(userDomain.CasUserEntity.UserId); //普通员工添加默认权限 if (listUserRoles == null || listUserRoles.Count <= 0) { listUserRoles = userroleBll.GetBusinessRoleUserDomainByRoleId("cd3c9135-4446-45c5-b768-550abac4368d"); //strError = "您输入的账号没有权限,请重新输入"; //if (!IsAjax) //{ // return View(viewName, userEntity); //} } if (!IsAjax) { return(Redirect("~/home")); } //strError = GetResource(strError); ViewBag.strError = strError; userEntity.Password = password; if (IsAjax) { if (string.IsNullOrEmpty(strError)) { return(Json(AjaxResult.Success())); } return(Json(AjaxResult.Error(strError))); } } } return(View(viewName, userEntity)); }
public override void Run(Hashtable parameters) { ContractManagementBLL contractBll = new ContractManagementBLL(); UserBLL userBll = new UserBLL(); DepartmentBLL departmentBll = new DepartmentBLL(); //所有合同管理员 List <CasUserEntity> listContractManagers = userBll.GetAllContractManagers(); #if DEBUG //TODO:离职员工列表,同步员工数据时判断并获得 List <CasUserEntity> listTurnoverUsers = new List <CasUserEntity>(); //TODO:测试数据,汪敏 listTurnoverUsers.Add(new CasUserEntity() { UserId = "WANGMIN1", ChineseName = "汪敏" }); #else #endif foreach (CasUserEntity user in listTurnoverUsers) { //部门总监 CasUserEntity manager = departmentBll.GetDepartmentManagerByUserId(user.UserId); List <CasContractEntity> listApplyContracts = contractBll.GetAllApplyContractsByUserId(user.UserId); List <CasContractEntity> listApproveContracts = contractBll.GetAllApproveContractsByUserId(user.UserId); List <CasContractEntity> listPOApproveContracts = contractBll.GetAllPOApproveContractsByUserId(user.UserId); //邮件标题 string mailTitle = $@"e-Approval – User Leaving"; //邮件正文 string mailContent = $@"Dear All,<br/>尊敬的用户<br/><br/><{user.ChineseName}>left Ferrero on <{user.LastWorkDate}>. Following contracts were initiated by <{user.ChineseName}>. Please submit your request in IT Service Order System to transfer the contracts to other employee.<br/><{user.ChineseName}>于<{user.LastWorkDate}>离职,以下为该员工发起的所有合同。请在IT Service Order系统中申请将合同转移至其他员工名下。</br>"; if (listApplyContracts.Count == 0 && listApproveContracts.Count == 0 && listPOApproveContracts.Count == 0) { mailContent += "<b>他没有申请合同,也没有审批合同,也没有PO审批合同,请知悉。</b></br>Best Regards"; } else { if (listApplyContracts.Count > 0) { mailContent += $@"</br><table style='font-family:verdana,arial,sans-serif;font-size:11px;color:#333333;border-width: 1px;border-color: #666666;border-collapse:collapse;'><thead> <tr><th style='border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #dedede;'>Initiator 申请人</th> <th style='border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #dedede;'>Contract Owner 合同经办部门</th> <th style='border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #dedede;'>Contract Name 合同名称</th> <th style='border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #dedede;'>Ferrero Entity 费列罗方</th> <th style='border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #dedede;'>Counter Party 相对方</th> <th style='border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #dedede;'>Contract Number 合同编号</th> <th style='border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #dedede;'>Contract Status 合同状态</th> </tr></thead><tbody>"; foreach (CasContractEntity applyContract in listApplyContracts) { mailContent += $@"<tr> <td style='border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #ffffff;'>{user.ChineseName}</td> <td style='border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #ffffff;'>{applyContract.ContractOwner}{applyContract.TemplateOwner}</td> <td style='border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #ffffff;'>{applyContract.ContractName}{applyContract.TemplateName}</td> <td style='border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #ffffff;'>{applyContract.FerreroEntity}</td> <td style='border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #ffffff;'>{applyContract.CounterpartyEn}{applyContract.CounterpartyCn}</td> <td style='border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #ffffff;'>{applyContract.ContractNo}{applyContract.TemplateNo}</td> <td style='border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #ffffff;'>{applyContract.Status}</td> </tr>"; } mailContent += "</tbody></table></br>"; } //if (listApproveContracts.Count > 0) //{ // mailContent += "他审批的合同清单如下:<br/><table style='font-family:verdana,arial,sans-serif;font-size:11px;color:#333333;border-width: 1px;border-color: #666666;border-collapse:collapse;'><thead><tr><th style='border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #dedede;'>合同名称</th></tr></thead><tbody>"; // foreach (CasContractEntity approveContract in listApproveContracts) // { // mailContent += $@"<tr><td style='border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #ffffff;'>{approveContract.ContractName}</td></tr>"; // } // mailContent += "</tbody></table></br>"; //} //if (listPOApproveContracts.Count > 0) //{ // mailContent += "他PO审批的合同清单如下:<br/><table style='font-family:verdana,arial,sans-serif;font-size:11px;color:#333333;border-width: 1px;border-color: #666666;border-collapse:collapse;'><thead><tr><th style='border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #dedede;'>合同名称</th></tr></thead><tbody>"; // foreach (CasContractEntity poApproveContract in listPOApproveContracts) // { // mailContent += $@"<tr><td style='border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #ffffff;'>{poApproveContract.ContractName}</td></tr>"; // } // mailContent += "</tbody></table></br>"; //} mailContent += "</br><b>Note: The contracts will be transferred to department head after 10 days if we don’t receive any notification from user department.</b></br><b>备注:如在10天之内未收到用户部门任何申请,所有该离职用户的合同将转移至部门总监名下。</b></br></br>Ferrero China Contract Approval System</br>费列罗中国合同审批系统"; } var cc = "*****@*****.**"; List <string> listRecievers = new List <string>(); if (manager != null) { listRecievers.Add(manager.Email); } foreach (CasUserEntity contractManager in listContractManagers) { listRecievers.Add(contractManager.Email); } List <string> ccs = new List <string>(); ccs.Add(cc); SendEmail.Send(listRecievers, ccs, mailTitle, mailContent); //SendEmail.Send(reciever, cc,mailTitle, mailContent); } }