public ObjectResultData PasswordWrongCountUp(string employeeNo)
        {
            ObjectResultData res = new ObjectResultData();
            var employees        = db.tbm_Employee.Where(e => e.EmpNo == employeeNo);

            if (employees.Count() < 1)
            {
                return(res);
            }
            tbm_Employee employee = employees.First();

            if (CommonUtil.IsNullOrEmpty(employee.PasswordWrongCount))
            {
                employee.PasswordWrongCount = 0;
            }

            employee.PasswordWrongCount = employee.PasswordWrongCount + 1;

            // mistake password 5 times -> account lock
            if (employee.PasswordWrongCount == MAX_PASSWORD_WRONG_COUNT)
            {
                employee.Status = STATUS_ACCOUNT_LOCK;
            }

            res.ResultData = db.SaveChanges();
            return(res);
        }
        public ObjectResultData PasswordWrongCountReset(string employeeNo)
        {
            ObjectResultData res = new ObjectResultData();
            var employees        = db.tbm_Employee.Where(e => e.EmpNo == employeeNo);

            if (employees.Count() < 1)
            {
                return(res);
            }
            tbm_Employee employee = employees.First();

            employee.PasswordWrongCount = 0;
            res.ResultData = db.SaveChanges();
            return(res);
        }
示例#3
0
        /// <summary>
        /// Logical delete employee.<br />
        /// - Check system suspending.<br />
        /// - Set delete flag and update database.
        /// </summary>
        /// <param name="employee"></param>
        /// <returns></returns>
        public ActionResult MAS070_DeleteEmployee(tbm_Employee employee)
        {
            ObjectResultData res = new ObjectResultData();

            try
            {
                res = checkSystemSuspending();
                if (res.IsError)
                {
                    return(Json(res));
                }

                MAS070_ScreenParameter MAS070Param = GetScreenObject <MAS070_ScreenParameter>();
                employee.UpdateDate = MAS070Param.updateDate;

                IEmployeeMasterHandler hand = ServiceContainer.GetService <IEmployeeMasterHandler>() as IEmployeeMasterHandler;
                List <tbm_Employee>    list = hand.DeleteEmployee(employee);

                if (list == null || list.Count == 0)
                {
                    return(Json(res));
                }

                doTransactionLog logData = new doTransactionLog()
                {
                    TransactionType = doTransactionLog.eTransactionType.Update,
                    TableName       = TableName.C_TBL_NAME_EMPLOYEE,
                    TableData       = CommonUtil.ConvertToXml(list)
                };
                ILogHandler loghand = ServiceContainer.GetService <ILogHandler>() as ILogHandler;
                loghand.WriteTransactionLog(logData);

                string xml = CommonUtil.ConvertToXml <tbm_Employee>(list);
                res.ResultData = xml;
                return(Json(res));
            }
            catch (Exception ex)
            {
                res.ResultData = "NP";
                res.AddErrorMessage(ex);
                return(Json(res));
            }
        }
        public ObjectResultData UpdatePassword(string oldPassword, string newPassword)
        {
            ObjectResultData res             = new ObjectResultData();
            string           employeeNo      = CommonUtil.dsTransData.dtUserData.EmpNo;
            string           oldPasswordHash = GeneratePasswordHash(oldPassword);
            var targetEmployee = db.tbm_Employee.Where(e => e.EmpNo == employeeNo && e.Password == oldPasswordHash);

            if (targetEmployee.Count() < 1)
            {
                res.ResultData = 0;
                return(res);
            }

            tbm_Employee employee = targetEmployee.First();

            employee.Password = GeneratePasswordHash(newPassword);
            employee.PasswordLastUpdateDate = DateTime.Now;
            res.ResultData = db.SaveChanges();

            return(res);
        }
        /// <summary>
        /// Get email of default department
        /// </summary>
        /// <returns></returns>
        private String getEmailsOfDefaultDepartment()
        {
            //1.1 Get default department to send email
            ICommonHandler        handCommon = ServiceContainer.GetService <ICommonHandler>() as ICommonHandler;
            List <doSystemConfig> doSystem   = handCommon.GetSystemConfig(ConfigName.C_CONFIG_DEPARTMENT_NOTIFY_CHANGE_FEE);
            String strDeptCode = doSystem[0].ConfigValue;

            //1.2 Get employee belonging to default department
            //1.2.1 Get belonging list
            IEmployeeMasterHandler handMaster  = ServiceContainer.GetService <IEmployeeMasterHandler>() as IEmployeeMasterHandler;
            List <dtBelonging>     dtBelonging = handMaster.GetBelonging(null, strDeptCode, null, null);

            List <tbm_Employee> empList = new List <tbm_Employee>();

            foreach (dtBelonging belonging in dtBelonging)
            {
                tbm_Employee employee = new tbm_Employee();
                employee.EmpNo = belonging.EmpNo;
                empList.Add(employee);
            }

            //1.2.2 Get employee list
            List <tbm_Employee> dtEmployee = handMaster.GetEmployeeList(empList);

            //1.3 Generate list of email
            //1.3.1 Set emailTo = Combine all dtEmployee.EmailAddrss with seperated by semi-colon
            StringBuilder sbEmailTo = new StringBuilder("");

            foreach (tbm_Employee employee in dtEmployee)
            {
                sbEmailTo.Append(employee.EmailAddress + ";");
            }

            if (sbEmailTo.Length > 0)
            {
                sbEmailTo = sbEmailTo.Remove(sbEmailTo.Length - 1, 1);
            }

            return(sbEmailTo.ToString());
        }
        /// <summary>
        /// Validate employee data
        /// </summary>
        /// <param name="Project"></param>
        /// <returns></returns>
        public CTS230_doValidateEmpNo CTS230_ValidateEmployee(tbt_Project_CTS230 Project)
        {
            ObjectResultData res = new ObjectResultData();

            List <tbm_Employee> dtEmp = new List <tbm_Employee>();

            if (!CommonUtil.IsNullOrEmpty(Project.HeadSalesmanEmpNo))
            {
                tbm_Employee tmp = new tbm_Employee();
                tmp.EmpNo = Project.HeadSalesmanEmpNo;
                dtEmp.Add(tmp);
            }
            if (!CommonUtil.IsNullOrEmpty(Project.ProjectManagerEmpNo))
            {
                tbm_Employee tmp = new tbm_Employee();
                tmp.EmpNo = Project.ProjectManagerEmpNo;
                dtEmp.Add(tmp);
            }
            if (!CommonUtil.IsNullOrEmpty(Project.ProjectSubManagerEmpNo))
            {
                tbm_Employee tmp = new tbm_Employee();
                tmp.EmpNo = Project.ProjectSubManagerEmpNo;
                dtEmp.Add(tmp);
            }
            if (!CommonUtil.IsNullOrEmpty(Project.SecurityPlanningChiefEmpNo))
            {
                tbm_Employee tmp = new tbm_Employee();
                tmp.EmpNo = Project.SecurityPlanningChiefEmpNo;
                dtEmp.Add(tmp);
            }
            if (!CommonUtil.IsNullOrEmpty(Project.InstallationChiefEmpNo))
            {
                tbm_Employee tmp = new tbm_Employee();
                tmp.EmpNo = Project.InstallationChiefEmpNo;
                dtEmp.Add(tmp);
            }
            CTS230_doValidateEmpNo      EmpError       = new CTS230_doValidateEmpNo();
            IEmployeeMasterHandler      EmpH           = ServiceContainer.GetService <IEmployeeMasterHandler>() as IEmployeeMasterHandler;
            List <doActiveEmployeeList> dtTbm_Employee = EmpH.GetActiveEmployeeList(dtEmp);
            string EmpNo;
            string Controls;

            string Prefix = "sysin";

            if (dtTbm_Employee.Count != dtEmp.Count)
            {
                if (!CommonUtil.IsNullOrEmpty(Project.HeadSalesmanEmpNo) &&
                    !dtTbm_Employee.Any(a => a.EmpNo == Project.HeadSalesmanEmpNo))
                {
                    EmpNo             = Project.HeadSalesmanEmpNo;
                    Controls          = Prefix + "HeadSalesmanEmpNo";
                    EmpError.EmpNo    = EmpNo;
                    EmpError.controls = Controls;
                    return(EmpError);
                }
                if (!CommonUtil.IsNullOrEmpty(Project.ProjectManagerEmpNo) &&
                    !dtTbm_Employee.Any(a => a.EmpNo == Project.ProjectManagerEmpNo))
                {
                    EmpNo             = Project.ProjectManagerEmpNo;
                    Controls          = Prefix + "ProjectManagerEmpNo";
                    EmpError.EmpNo    = EmpNo;
                    EmpError.controls = Controls;
                    return(EmpError);
                }
                if (!CommonUtil.IsNullOrEmpty(Project.ProjectSubManagerEmpNo) &&
                    !dtTbm_Employee.Any(a => a.EmpNo == Project.ProjectSubManagerEmpNo))
                {
                    EmpNo             = Project.ProjectSubManagerEmpNo;
                    Controls          = Prefix + "ProjectSubManagerEmpNo";
                    EmpError.EmpNo    = EmpNo;
                    EmpError.controls = Controls;
                    return(EmpError);
                }
                if (!CommonUtil.IsNullOrEmpty(Project.SecurityPlanningChiefEmpNo) &&
                    !dtTbm_Employee.Any(a => a.EmpNo == Project.SecurityPlanningChiefEmpNo))
                {
                    EmpNo             = Project.SecurityPlanningChiefEmpNo;
                    Controls          = Prefix + "SecurityPlanningChiefEmpNo";
                    EmpError.EmpNo    = EmpNo;
                    EmpError.controls = Controls;
                    return(EmpError);
                }
                if (!CommonUtil.IsNullOrEmpty(Project.InstallationChiefEmpNo) &&
                    !dtTbm_Employee.Any(a => a.EmpNo == Project.InstallationChiefEmpNo))
                {
                    EmpNo             = Project.InstallationChiefEmpNo;
                    Controls          = Prefix + "InstallationChiefEmpNo";
                    EmpError.EmpNo    = EmpNo;
                    EmpError.controls = Controls;
                    return(EmpError);
                }
            }
            return(new CTS230_doValidateEmpNo());
        }