예제 #1
0
        public static void SendExecutiveEmail(string notificationMessage, int productionUnitId, int functionalAreaId, string formDescription, int formPeriod, string periodicityCode, DateTime formDate)
        {
            string userEmail  = null;
            string logText    = null;
            string baseParams = Properties.Settings.Default.NotificationParams;
            string notificationServiceTypeName = Properties.Settings.Default.NotificationTypeName;
            string subject     = Properties.Settings.Default.NotificationSubject;
            string messageBody = null;

            try
            {
                // get all users of passed Production Unit
                // send an email to each user
                IQueryable <UserProductionUnit> usersList = CxUserProductionUnit.GetListByProductionUnit(productionUnitId);
                foreach (UserProductionUnit currentUser in usersList.ToList())
                {
                    User user = CxUser.GetUserById(currentUser.UserID);

                    // if user is Manager send an email
                    if ((bool)user.IsExecutive && !user.IsLockedOut)
                    {
                        userEmail   = user.Email;
                        messageBody = string.Format(notificationMessage, formDescription, GetPeriodMessage(formPeriod, periodicityCode, formDate));
                        logText     = string.Format("sending an email to executive {0} with form : {1} and message {2}", userEmail, formDescription, messageBody);
                        LOGGER.Write(LOGGER.LOGGEREventID.INFORMATION, cMODULE_NAME, new string[] { cBASE_NAME, logText });

                        NotificationService.Send(baseParams, notificationServiceTypeName, userEmail, subject, messageBody);
                    }
                }
            }
            catch (Exception exp)
            {
                LOGGER.Write(LOGGER.LOGGEREventID.EXCEPTION, cMODULE_NAME, new string[] { cBASE_NAME, exp.Message });
            }
        }
예제 #2
0
 public CxUserModel(CxUser dbUser)
 {
     this.Id                = dbUser.Id;
     this.Name              = dbUser.Name;
     this.Email             = dbUser.Email;
     this.IdentityId        = dbUser.IdentityId;
     this.CanCreateMeetings = dbUser.CanCreateMeetings;
 }
예제 #3
0
        private void BindEntities(int pageNumber)
        {
            string userName  = UserNameSearchInput.Text == "" ? null : UserNameSearchInput.Text;
            string firstName = FisrtNameSearchInput.Text == "" ? null : FisrtNameSearchInput.Text;

            IQueryable <User> users        = CxUser.GetUsers(pageNumber, userName, firstName, null);
            List <User>       listEntities = users.ToList();

            GridView1.DataSource = listEntities.Take(10);
            GridView1.DataBind();

            //int pageSize = PageRecordsInput.Text == "" ? GridView1.PageSize : int.Parse(PageRecordsInput.Text);
            int pageSize = GridView1.PageSize;

            if (listEntities.Count == 0)
            {
                ShowInfo(MessagePanel, Resources.Resource.mNoRecordsFound);
                ListPanel.Visible   = false;
                PagingPanel.Visible = false;
            }
            else
            {
                if (listEntities.Count > pageSize)
                {
                    SetPages(ddlPaging, pageNumber + 1);
                    PagingPanel.Visible     = true;
                    ddlPaging.SelectedIndex = pageNumber - 1;
                }
                else
                {
                    PagingPanel.Visible = false;
                }

                DetailPanel.Visible        = false;
                BackPanel.Visible          = false;
                ConfirmButtonPanel.Visible = false;
                ListPanel.Visible          = true;
            }
        }
예제 #4
0
        public ActionResult AddUser(CxUser model)
        {
            #region 访问权限
            var           user1               = (Maticsoft.Model.User_Info)ViewBag.curentUser;
            var           curentUser          = _iuserService.getUserByID(user1.Id);
            var           ManagePermission    = curentUser.UserGroup.ManagePermission;
            List <string> managePermissionstr = new List <string>(ManagePermission.Split(','));
            var           managePermission    = managePermissionstr.Select(x => Convert.ToInt32(x)).ToList();
            if (!managePermission.Contains((int)SortEnum.sortClass.userManage))
            {
                return(new RedirectResult("/Home/deny"));
                //return Json(new { state = "Error", mes = "发生错误" });
            }
            #endregion


            #region 安全校验
            var unitiM = new UntilMethod();

            var serverToken = TempData["addToken"].ToString();
            var ClientToken = Request["addToken"] == null ? "" : Request["addToken"].ToString();
            if (unitiM.DecryptDES(ClientToken, "jack") != serverToken)
            {
                TempData["addToken"] = serverToken;
                return(new RedirectResult("/Home/deny"));
            }
            #endregion

            #region 解密
            model.UserName     = unitiM.DecryptDES(model.UserName, "jack");
            model.UserPassword = unitiM.DecryptDES(model.UserPassword, "jack");
            #endregion


            var length = int.Parse(UntilMethod.getAppSettingValue("passWordLength").ToString());

            #region 密码强度校验
            var regex = new Regex(@"(?=.*[0-9])(?=.*[a-zA-Z])(?=([\x21-\x7e]+)[^a-zA-Z0-9]).{" + length + ",15}", RegexOptions.Multiline | RegexOptions.IgnorePatternWhitespace);
            if (!regex.IsMatch(model.UserPassword))
            {
                return(Json(new { state = "Error", mes = "密码格式不符,请输入" + length + "-15位,并含有数字字母和特殊字符" }));
            }


            #endregion

            try
            {
                if (model.UserID > 0)//更新
                {
                    var user = _iuserService.getUserByID(model.UserID);
                    user.UserPassword = UntilMethod.Md5Encrypt(model.UserPassword);
                    user.RealName     = model.RealName;
                    user.UserGroupID  = model.UserGroupID;
                    user.passWordTime = DateTime.Now;
                    user.Effective    = model.Effective;
                    _iuserService.UpdateUser(user);
                    AddOpLog("用户修改,修改账户:" + user.UserName.ToString() + " 角色:" + user.UserGroup.GroupName);
                }
                else//新增
                {
                    #region 用户名重复校验
                    var CheckUser = getUser(model.UserName);
                    if (CheckUser != null)
                    {
                        return(Json(new { state = "Error", mes = "用户名已存在" }));
                    }
                    #endregion

                    #region 获取密码过期时常
                    var overdueTimeLenth = -int.Parse(UntilMethod.getAppSettingValue("overdueHoru").ToString());
                    #endregion

                    model.isAdmin      = true;
                    model.UserPassword = UntilMethod.Md5Encrypt(model.UserPassword);
                    //model.passWordTime = DateTime.Now;

                    model.passWordTime = DateTime.Now.AddDays(overdueTimeLenth);

                    _iuserService.AddUser(model);
                    var addUserGroup = _iuserGroupService.GetByID(model.UserGroupID);
                    AddOpLog("用户新增,新增账户:" + model.UserName.ToString() + " 角色:" + addUserGroup.GroupName);
                }
                return(Json(new { state = "OK", mes = "" }));
            }
            catch (Exception ex)
            {
                return(Json(new { state = "Error", mes = "发生错误" }));
            }
        }
예제 #5
0
 public void DeleteUser(CxUser entity)
 {
     _IrepositoryUser.Delete(entity);
 }
예제 #6
0
 public void AddUser(CxUser entity)
 {
     _IrepositoryUser.Insert(entity);
 }
예제 #7
0
 public void UpdateUser(CxUser entiy)
 {
     _IrepositoryUser.Update(entiy);
 }