Exemple #1
0
        /// <summary>
        /// - Check user permission for screen MAS070.<br />
        /// - Check system suspending.
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public ActionResult MAS070_Authority(MAS070_ScreenParameter param)
        {
            ObjectResultData res = new ObjectResultData();

            try
            {
                if (!(CheckUserPermission(ScreenID.C_SCREEN_ID_MAINTAIN_USER_INFO, FunctionID.C_FUNC_ID_VIEW) == true ||
                      CheckUserPermission(ScreenID.C_SCREEN_ID_MAINTAIN_USER_INFO, FunctionID.C_FUNC_ID_ADD) == true ||
                      CheckUserPermission(ScreenID.C_SCREEN_ID_MAINTAIN_USER_INFO, FunctionID.C_FUNC_ID_EDIT) == true ||
                      CheckUserPermission(ScreenID.C_SCREEN_ID_MAINTAIN_USER_INFO, FunctionID.C_FUNC_ID_DEL) == true
                      ))
                {
                    res.AddErrorMessage(MessageUtil.MODULE_COMMON, MessageUtil.MessageList.MSG0053);
                    return(Json(res));
                }

                //Check system suspending
                res = checkSystemSuspending();
                if (res.IsError)
                {
                    return(Json(res));
                }
                // Do in View
                //param.hasPermissionAdd = CheckUserPermission(ScreenID.C_SCREEN_ID_MAINTAIN_USER_INFO, FunctionID.C_FUNC_ID_ADD);
                //param.hasPermissionEdit = CheckUserPermission(ScreenID.C_SCREEN_ID_MAINTAIN_USER_INFO, FunctionID.C_FUNC_ID_EDIT);
                //param.hasPermissionDelete = CheckUserPermission(ScreenID.C_SCREEN_ID_MAINTAIN_USER_INFO, FunctionID.C_FUNC_ID_DEL);
            }
            catch (Exception ex)
            {
                res.AddErrorMessage(ex);
            }

            return(InitialScreenEnvironment <MAS070_ScreenParameter>(MAS070_Screen, param, res));
        }
Exemple #2
0
        public ActionResult MAS070()
        {
            MAS070_ScreenParameter MAS070Param = new MAS070_ScreenParameter();

            ViewBag.HasPermissionAdd    = "";
            ViewBag.HasPermissionEdit   = "";
            ViewBag.HasPermissionDelete = "";
            try
            {
                MAS070Param = GetScreenObject <MAS070_ScreenParameter>();
                ViewBag.HasPermissionAdd    = CheckUserPermission(ScreenID.C_SCREEN_ID_MAINTAIN_USER_INFO, FunctionID.C_FUNC_ID_ADD);
                ViewBag.HasPermissionEdit   = CheckUserPermission(ScreenID.C_SCREEN_ID_MAINTAIN_USER_INFO, FunctionID.C_FUNC_ID_EDIT);
                ViewBag.HasPermissionDelete = CheckUserPermission(ScreenID.C_SCREEN_ID_MAINTAIN_USER_INFO, FunctionID.C_FUNC_ID_DEL);
            }
            catch
            {
            }


            ICommonHandler cHand = ServiceContainer.GetService <ICommonHandler>() as ICommonHandler;

            emailSuffix         = cHand.GetSystemStatusValue(ConfigName.C_EMAIL_SUFFIX);
            ViewBag.EmailSuffix = emailSuffix;
            ViewBag.EmailLength = C_EMAIL_LENGTH - emailSuffix.Length;

            IEmployeeMasterHandler handler      = ServiceContainer.GetService <IEmployeeMasterHandler>() as IEmployeeMasterHandler;
            List <string>          positionCode = handler.GetPositionCodeAtMaxPositionLevel();

            if (positionCode != null && positionCode.Count != 0)
            {
                ViewBag.DefaultPositionCode = positionCode[0].Trim();
            }

            return(View());
        }
Exemple #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));
            }
        }
Exemple #4
0
        /// <summary>
        /// Search selected employee detail.
        /// </summary>
        /// <returns></returns>
        public ActionResult MAS070_EmployeeSearchDetail()
        {
            ObjectResultData res = new ObjectResultData();
            string           empNo;

            try
            {
                empNo = (Request["EmpNo"] == "" ? null : Request["EmpNo"]);
                IEmployeeMasterHandler  hand = ServiceContainer.GetService <IEmployeeMasterHandler>() as IEmployeeMasterHandler;
                List <dtEmployeeDetail> list = hand.GetEmployeeDetail(empNo);
                if (list != null && list.Count != 0)
                {
                    dtEmployeeDetail emp = list[0];
                    try
                    {
                        if (emp.EmailAddress != null)
                        {
                            emp.EmailAddress = emp.EmailAddress.Substring(0, emp.EmailAddress.IndexOf('@'));
                        }

                        MAS070_ScreenParameter MAS070Param = GetScreenObject <MAS070_ScreenParameter>();
                        if (emp.UpdateDate.HasValue)
                        {
                            MAS070Param.updateDate = emp.UpdateDate.Value;
                        }
                    }
                    catch { }
                    res.ResultData = emp;
                }
                return(Json(res));
            }
            catch (Exception ex)
            {
                res.AddErrorMessage(ex);
                return(Json(res));
            }
        }
Exemple #5
0
        /// <summary>
        /// Get belonging of selected employee.
        /// </summary>
        /// <param name="empNo"></param>
        /// <returns></returns>
        public ActionResult MAS070_SearchBelonging(string empNo)
        {
            ObjectResultData res = new ObjectResultData();

            try
            {
                empNo = empNo == "" ? null : empNo;
                IEmployeeMasterHandler hand = ServiceContainer.GetService <IEmployeeMasterHandler>() as IEmployeeMasterHandler;
                List <dtBelonging>     list = hand.GetBelonging(null, null, null, empNo);
                CommonUtil.MappingObjectLanguage <dtBelonging>(list);

                MAS070_ScreenParameter MAS070Param = GetScreenObject <MAS070_ScreenParameter>();
                MAS070Param.belongingList = list;

                string xml = CommonUtil.ConvertToXml <dtBelonging>(list, "Master\\MAS070_belonging", CommonUtil.GRID_EMPTY_TYPE.SEARCH);
                res.ResultData = xml;
                return(Json(res));
            }
            catch (Exception ex)
            {
                res.AddErrorMessage(ex);
                return(Json(res));
            }
        }
Exemple #6
0
        private List <tbm_Employee> SaveEmployee(dsEmployeeBelonging employeeInfo, IEmployeeMasterHandler hand)
        {
            List <tbm_Employee> result = null;

            doTransactionLog.eTransactionType?TransactionType = null;
            MAS070_ScreenParameter            MAS070Param     = GetScreenObject <MAS070_ScreenParameter>();
            PasswordHandler handler = new PasswordHandler();

            using (TransactionScope scope = new TransactionScope())
            {
                if (employeeInfo.employee.ModifyMode.Equals("ADD"))
                {
                    employeeInfo.employee.CreateBy   = CommonUtil.dsTransData.dtUserData.EmpNo;
                    employeeInfo.employee.CreateDate = CommonUtil.dsTransData.dtOperationData.ProcessDateTime;
                    employeeInfo.employee.UpdateBy   = CommonUtil.dsTransData.dtUserData.EmpNo;
                    employeeInfo.employee.UpdateDate = CommonUtil.dsTransData.dtOperationData.ProcessDateTime;
                    employeeInfo.employee.Password   = handler.GeneratePasswordHash(employeeInfo.employee.Password);
                    List <tbm_Employee> insertList = new List <tbm_Employee>();
                    insertList.Add(employeeInfo.employee);
                    string xml = CommonUtil.ConvertToXml_Store(insertList);
                    result          = hand.InsertEmployee(xml);
                    TransactionType = doTransactionLog.eTransactionType.Insert;
                }
                else
                {
                    if (employeeInfo.employee.ChangePasswordFlag)
                    {
                        employeeInfo.employee.Password = handler.GeneratePasswordHash(employeeInfo.employee.Password);
                        employeeInfo.employee.PasswordLastUpdateDate = CommonUtil.dsTransData.dtOperationData.ProcessDateTime;
                        employeeInfo.employee.PasswordWrongCount     = 0;
                        employeeInfo.employee.Status = null;
                    }
                    result          = hand.UpdateEmployee(employeeInfo.employee);
                    TransactionType = doTransactionLog.eTransactionType.Update;
                }

                if (result.Count == 0)
                {
                    return(null);
                }
                else
                {
                    doTransactionLog logData = new doTransactionLog()
                    {
                        TransactionType = TransactionType,
                        TableName       = TableName.C_TBL_NAME_EMPLOYEE,
                        TableData       = CommonUtil.ConvertToXml(result)
                    };
                    ILogHandler loghand = ServiceContainer.GetService <ILogHandler>() as ILogHandler;
                    loghand.WriteTransactionLog(logData);
                }

                List <tbm_Belonging>      insertBelList      = new List <tbm_Belonging>();
                List <View_tbm_Belonging> checkUpdateBelList = new List <View_tbm_Belonging>();
                List <View_tbm_Belonging> updateBelList      = new List <View_tbm_Belonging>();

                foreach (var item in employeeInfo.belongingList)
                {
                    if (item.ModifyMode.Equals("NONE"))
                    {
                        continue;
                    }

                    if (item.ModifyMode.Equals("ADD"))
                    {
                        item.CreateBy   = CommonUtil.dsTransData.dtUserData.EmpNo;
                        item.CreateDate = CommonUtil.dsTransData.dtOperationData.ProcessDateTime;
                        item.UpdateBy   = CommonUtil.dsTransData.dtUserData.EmpNo;
                        item.UpdateDate = CommonUtil.dsTransData.dtOperationData.ProcessDateTime;
                        insertBelList.Add(item);
                    }
                    else if (item.ModifyMode.Equals("EDIT"))
                    {
                        if (MAS070Param.belongingList != null)
                        {
                            var updateDate = from g in MAS070Param.belongingList
                                             where g.BelongingID == item.BelongingID
                                             select g.UpdateDate;

                            foreach (var date in updateDate)
                            {
                                item.UpdateDate = date;
                            }
                        }

                        if (item.UpdateDate != null)
                        {
                            checkUpdateBelList.Add(item);
                            updateBelList.Add(item);
                        }
                        else
                        {
                            item.CreateBy   = CommonUtil.dsTransData.dtUserData.EmpNo;
                            item.CreateDate = CommonUtil.dsTransData.dtOperationData.ProcessDateTime;
                            item.UpdateBy   = CommonUtil.dsTransData.dtUserData.EmpNo;
                            item.UpdateDate = CommonUtil.dsTransData.dtOperationData.ProcessDateTime;
                            insertBelList.Add(item);
                        }
                    }
                }


                if (employeeInfo.delBelList != null && employeeInfo.delBelList.Count != 0)
                {
                    foreach (var item in employeeInfo.delBelList)
                    {
                        var updateDate = from g in MAS070Param.belongingList
                                         where g.BelongingID == item.BelongingID
                                         select g.UpdateDate;

                        foreach (var date in updateDate)
                        {
                            item.UpdateDate = date;
                        }
                    }

                    checkUpdateBelList.AddRange(employeeInfo.delBelList);
                }

                if (checkUpdateBelList.Count != 0)
                {
                    hand.checkBelongingUpdateDate(checkUpdateBelList);
                }

                if (insertBelList.Count != 0)
                {
                    string xml = CommonUtil.ConvertToXml_Store(insertBelList);
                    List <tbm_Belonging> insertedList = hand.InsertBelonging(xml);
                    if (insertedList.Count == 0)
                    {
                        return(null);
                    }
                    else
                    {
                        doTransactionLog logData = new doTransactionLog()
                        {
                            TransactionType = doTransactionLog.eTransactionType.Insert,
                            TableName       = TableName.C_TBL_NAME_BELONGING,
                            TableData       = CommonUtil.ConvertToXml(insertedList)
                        };
                        ILogHandler loghand = ServiceContainer.GetService <ILogHandler>() as ILogHandler;
                        loghand.WriteTransactionLog(logData);
                    }
                }

                foreach (var item in updateBelList)
                {
                    List <tbm_Belonging> updateList = new List <tbm_Belonging>();
                    updateList.Add(item);
                    string xml = CommonUtil.ConvertToXml_Store(updateList);
                    List <tbm_Belonging> updatedList = hand.UpdateBelonging(xml, item.BelongingID);
                    if (updatedList.Count == 0)
                    {
                        return(null);
                    }
                    else
                    {
                        doTransactionLog logData = new doTransactionLog()
                        {
                            TransactionType = doTransactionLog.eTransactionType.Update,
                            TableName       = TableName.C_TBL_NAME_BELONGING,
                            TableData       = CommonUtil.ConvertToXml(updatedList)
                        };
                        ILogHandler loghand = ServiceContainer.GetService <ILogHandler>() as ILogHandler;
                        loghand.WriteTransactionLog(logData);
                    }
                }

                if (employeeInfo.delBelList != null && employeeInfo.delBelList.Count != 0)
                {
                    foreach (var item in employeeInfo.delBelList)
                    {
                        List <tbm_Belonging> deletedList = hand.DeleteBelonging(item.BelongingID);
                        if (deletedList.Count == 0)
                        {
                            return(null);
                        }
                        else
                        {
                            doTransactionLog logData = new doTransactionLog()
                            {
                                TransactionType = doTransactionLog.eTransactionType.Delete,
                                TableName       = TableName.C_TBL_NAME_BELONGING,
                                TableData       = CommonUtil.ConvertToXml(deletedList)
                            };
                            ILogHandler loghand = ServiceContainer.GetService <ILogHandler>() as ILogHandler;
                            loghand.WriteTransactionLog(logData);
                        }
                    }
                }

                scope.Complete();
            }

            return(result);
        }
Exemple #7
0
        /// <summary>
        /// Save employee.<br />
        /// - Check system suspending.<br />
        /// - Validate data.<br />
        /// - Save employee data.<br />
        /// - Save belonging data.<br />
        /// </summary>
        /// <param name="employeeInfo"></param>
        /// <returns></returns>
        public ActionResult MAS070_SaveEmployee(dsEmployeeBelonging employeeInfo)
        {
            ObjectResultData res = new ObjectResultData();

            List <tbm_Employee> resultList = null;

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

                //12.1	Validate require field
                res.MessageType = MessageModel.MESSAGE_TYPE.WARNING;
                if (false == ModelState.IsValid)
                {
                    ValidatorUtil.BuildErrorMessage(res, this);
                }

                bool foundPrimary = false;
                foreach (var item in employeeInfo.belongingList)
                {
                    if (item.MainDepartmentFlag == true)
                    {
                        foundPrimary = true;
                    }

                    if (item.ModifyMode.Equals("NONE"))
                    {
                        continue;
                    }
                }

                if (!foundPrimary)
                {
                    res.AddErrorMessage(MessageUtil.MODULE_MASTER, MessageUtil.MessageList.MSG1042);
                }

                if (res.IsError)
                {
                    return(Json(res));
                }

                IEmployeeMasterHandler  hand = ServiceContainer.GetService <IEmployeeMasterHandler>() as IEmployeeMasterHandler;
                List <dtEmployeeDetail> emp  = hand.GetEmployeeDetail(employeeInfo.employee.EmpNo);
                // Akat K. : check exist employee number
                if (employeeInfo.employee.ModifyMode.Equals("ADD"))
                {
                    if (emp != null && emp.Count != 0)
                    {
                        if (emp[0].DeleteFlag.Value)
                        {
                            MAS070_ScreenParameter MAS070Param = GetScreenObject <MAS070_ScreenParameter>();
                            MAS070Param.updateDate      = emp[0].UpdateDate.Value;
                            MAS070Param.isReactivate    = true;
                            MAS070Param.reactivateEmpNo = employeeInfo.employee.EmpNo;
                            res.ResultData = "CONF";
                            return(Json(res));
                        }
                        else
                        {
                            res.AddErrorMessage(MessageUtil.MODULE_MASTER, MessageUtil.MessageList.MSG1013);
                            return(Json(res));
                        }
                    }
                }
                else
                {
                    if (emp != null && emp.Count != 0)
                    {
                        employeeInfo.employee.PasswordWrongCount     = emp[0].PasswordWrongCount;
                        employeeInfo.employee.PasswordLastUpdateDate = emp[0].PasswordLastUpdateDate;
                        employeeInfo.employee.Status = emp[0].Status;
                    }

                    MAS070_ScreenParameter MAS070Param = GetScreenObject <MAS070_ScreenParameter>();
                    if (MAS070Param.isReactivate)
                    {
                        if (employeeInfo.employee.EmpNo.Equals(MAS070Param.reactivateEmpNo))
                        {
                            hand.DeleteAllBelonging(MAS070Param.reactivateEmpNo);
                        }
                        MAS070Param.isReactivate    = false;
                        MAS070Param.reactivateEmpNo = null;
                    }
                }

                if (employeeInfo.belongingList != null)
                {
                    foreach (View_tbm_Belonging bl in employeeInfo.belongingList)
                    {
                        if (bl.StartDate < employeeInfo.employee.StartDate ||
                            bl.EndDate < employeeInfo.employee.StartDate)
                        {
                            res.AddErrorMessage(MessageUtil.MODULE_MASTER, MessageUtil.MessageList.MSG1050);
                            return(Json(res));
                        }
                        if (employeeInfo.employee.EndDate != null)
                        {
                            if (bl.StartDate > employeeInfo.employee.EndDate ||
                                bl.EndDate > employeeInfo.employee.EndDate)
                            {
                                res.AddErrorMessage(MessageUtil.MODULE_MASTER, MessageUtil.MessageList.MSG1051);
                                return(Json(res));
                            }
                        }
                    }
                }

                resultList = this.SaveEmployee(employeeInfo, hand);

                if (resultList != null && resultList.Count != 0)
                {
                    res.ResultData = "P";
                }
            }
            catch (Exception ex)
            {
                res.ResultData = "NP";
                res.AddErrorMessage(ex);
            }

            return(Json(res));
        }