Пример #1
0
        public ActionResult SaveWorkingProcess(WorkingProcess obj)
        {
            var db      = new WorkingProcessDAL();
            int staffID = 0;

            int.TryParse(Session["StaffID"].ToString(), out staffID);
            var listDelete = obj.EmployeeAllowanceDeleteList;
            var result     = db.SaveWorkingProcess(Global.CurrentUser.RoleId, 1, obj, obj.StaffID);

            if (result.IsSuccess == true && obj.WPID == 0)
            {
                result.Message = AppRes.MSG_INSERT_SUCCESSFUL;
            }
            else if (result.IsSuccess == true && obj.WPID != 0)
            {
                result.Message = AppRes.MS_Update_success;
            }
            else if (result.IsSuccess == false && result.existedResult == -1)
            {
                result.Message = AppRes.CheckWPStartDate + result.ExistedDate;
            }
            //Start thread to update staff parent( new version of staff parent)
            //affect to dbo.StaffParent
            Thread thread = new Thread(() => UpdateStaffParent())
            {
                Name = "UpdateStaffParent"
            };

            thread.Start();

            return(Content(JsonConvert.SerializeObject(new
            {
                result
            })));
        }
Пример #2
0
        /// <summary>
        /// Start OpenFileVertion
        /// </summary>
        private static void RunOpenFileVertion()
        {
            Console.Clear();
            Display.Message($"OPEN_FILE_VERTION WORK", ConsoleColor.Green);

            if (FolderWatcherBase.IsLaunched)
            {
                Display.Message("Can't start FWService. FolderWather is launched.", ConsoleColor.Red);
                Display.WaitForContinue();
                return;
            }

            string[] files = OpenFileVersion.Run();

            if (files == null || files.Length < 1)
            {
                Display.WaitForContinue("Error opening one/several files", ConsoleColor.Red);
                return;
            }
            foreach (var file in files)
            {
                WorkingProcess.Start(file);
            }

            do
            {
            } while (WorkingProcess.lstThread.Count() > 0);
            Display.WaitForContinue();
        }
        public DataRespond insertWorkingProcess(WorkingProcessRequest request)
        {
            DataRespond data = new DataRespond();

            try
            {
                WorkingProcess workingProcess = new WorkingProcess();
                if (request.workingid != -1)
                {
                    workingProcess = m_adWorkingProcessResponsitory.findWorkingProcessById(request.workingid);
                }
                else
                {
                    workingProcess.accept    = false;
                    workingProcess.active    = true;
                    workingProcess.createday = DateTime.Now;
                }
                workingProcess.address      = request.address;
                workingProcess.process      = request.process;
                workingProcess.title        = request.title;
                workingProcess.organization = request.organization;
                DateTime starttime = DateTime.ParseExact(request.starttime, "dd/MM/yyyy", CultureInfo.InvariantCulture);
                workingProcess.starttime = starttime;
                DateTime endtime = DateTime.ParseExact(request.endtime, "dd/MM/yyyy", CultureInfo.InvariantCulture);
                workingProcess.endtime = endtime;
                workingProcess.fileid  = request.fileid;

                if (request.workingid == -1)
                {
                    m_adWorkingProcessResponsitory.insertWorkingProcess(workingProcess);
                }
                else
                {
                    m_adWorkingProcessResponsitory.updateWorkingProcess(workingProcess);
                }

                data.success = true;
                data.message = "insert success";
            }
            catch (Exception e)
            {
                data.success = false;
                data.message = e.Message;
                data.error   = e;
            }
            return(data);
        }
Пример #4
0
        public SystemMessage SaveWorkingProcess(int roleId, int idTable, WorkingProcess obj, int StaffID)
        {
            SystemMessage systemMessage = new SystemMessage();

            try
            {
                var param1 = new DynamicParameters();
                param1.Add("@StartDate", obj.WPStartDate);
                param1.Add("@EndDate", obj.WPEndDate);
                param1.Add("@StaffID", StaffID);
                param1.Add("@WPID", obj.WPID);
                param1.Add("@ExistedResult", 0, DbType.Int32, ParameterDirection.InputOutput);
                param1.Add("@ExistedDate", "", DbType.String, ParameterDirection.InputOutput);
                UnitOfWork.ProcedureExecute("WorkingProcess_CheckStartDate", param1);
                var existedResult = param1.GetDataOutput <int>("@ExistedResult");
                var existedDate   = param1.GetDataOutput <string>("@ExistedDate");
                if (existedResult < 0)
                {
                    systemMessage.IsSuccess     = false;
                    systemMessage.existedResult = existedResult;
                    if (existedDate != "")
                    {
                        DateTime tempDate = Convert.ToDateTime(existedDate, CultureInfo.InvariantCulture);
                        systemMessage.ExistedDate = tempDate.ToString().Substring(0, 10);
                    }
                    return(systemMessage);
                }
                else
                {
                    var param = new DynamicParameters();
                    param.Add("@StaffID", StaffID);
                    param.Add("@WPTypeID", obj.WPTypeID);
                    param.Add("@WorkingStatus", obj.WorkingStatus);
                    param.Add("@DecisionNo", obj.DecisionNo);
                    param.Add("@Status", obj.Status);
                    param.Add("@StartDate", obj.WPStartDate);
                    param.Add("@EndDate", obj.WPEndDate);
                    param.Add("@CompanyID", obj.CompanyID);
                    param.Add("@OfficePositionID", obj.OfficePositionID);
                    param.Add("@OfficeID", obj.OfficeID);
                    param.Add("@OfficeRoleID", obj.OfficeRoleID);
                    param.Add("@StaffLevelID", obj.StaffLevelID);
                    param.Add("@ContractTypeID", obj.ContractTypeID);
                    param.Add("@OrganizationUnitID", obj.OrganizationUnitID);
                    param.Add("@ContractNo", obj.ContractNo);
                    param.Add("@StartDateContract", obj.StartDateContract);
                    param.Add("@EndDateContract", obj.EndDateContract);
                    param.Add("@ManagerID", obj.ManagerID);
                    param.Add("@HRIDs", obj.HRIDs);
                    param.Add("@PolicyID", obj.PolicyID);
                    param.Add("@CurrencyID", obj.CurrencyID);
                    param.Add("@BasicPay", obj.BasicPay);
                    param.Add("@EfficiencyBonus", obj.EfficiencyBonus);
                    param.Add("@Note", obj.WPNote);
                    param.Add("@WPID", obj.WPID, DbType.Int32, ParameterDirection.InputOutput);
                    param.Add("@TeamLeadLevelID", obj.TeamLeadLevelID);
                    UnitOfWork.ProcedureExecute("WorkingProcess_Save", param);
                    var resultWPID = param.GetDataOutput <int>("@WPID");
                    if (obj.EmployeeAllowanceList != null)
                    {
                        foreach (var item in obj.EmployeeAllowanceList)
                        {
                            var paramdetail = new DynamicParameters();
                            paramdetail.Add("@WPID", resultWPID);
                            paramdetail.Add("@DS_StaffID", StaffID);
                            paramdetail.Add("@AllowanceID", item.AllowanceID);
                            paramdetail.Add("@Amount", item.Amount);
                            paramdetail.Add("@StartDate", item.StartDate);
                            paramdetail.Add("@EndDate", item.EndDate);
                            paramdetail.Add("@Note", item.Note);
                            if (obj.Iscopy == 1)
                            {
                                paramdetail.Add("@AutoID", 0, DbType.Int32, ParameterDirection.InputOutput);
                            }
                            else
                            {
                                paramdetail.Add("@AutoID", item.AutoID, DbType.Int32, ParameterDirection.InputOutput);
                            }

                            UnitOfWork.ProcedureExecute("EmployeeAllowance_Save", paramdetail);
                        }
                    }

                    if (obj.EmployeeAllowanceDeleteList != null)
                    {
                        foreach (var item in obj.EmployeeAllowanceDeleteList)
                        {
                            var paramdetail = new DynamicParameters();
                            paramdetail.Add("@AutoID", item.AutoID);
                            paramdetail.Add("@Result");
                            UnitOfWork.ProcedureExecute("EmployeeAllowanceDelete", paramdetail);
                        }
                    }

                    systemMessage.IsSuccess = true;
                    return(systemMessage);
                }
            }
            catch (Exception e)
            {
                systemMessage.IsSuccess = false;
                systemMessage.Message   = e.ToString();
                return(systemMessage);
            }
        }
Пример #5
0
        public ActionResult SaveEdit(Employee emp, string position, string hiddenSalary, string[] giaDinh,
                                     string[] ngaySinhGiaDinh, string[] hoTen, string[] moiQuanHe, string[] lyLich, string[] donVi,
                                     string[] chucDanh, string[] chucVu, string[] tuNgayDenNgay)
        {
            QuangHanhManufacturingEntities db = new QuangHanhManufacturingEntities();

            using (DbContextTransaction dbct = db.Database.BeginTransaction())
            {
                try
                {
                    List <Work> Jobdb = db.Works.ToList <Work>();
                    foreach (Work cv in Jobdb)
                    {
                        if (position.Trim().Equals(cv.name.Trim()))
                        {
                            emp.current_work_id = cv.work_id;
                            break;
                        }
                    }

                    if (giaDinh != null)
                    {
                        for (int i = 0; i < giaDinh.Length; i++)
                        {
                            if (giaDinh[i].Equals("") || moiQuanHe[i].Equals(""))
                            {
                                continue;
                            }
                            Family family = new Family();
                            family.full_name = hoTen[i];
                            if (ngaySinhGiaDinh[i] != "")
                            {
                                family.date_of_birth = DateTime.ParseExact(ngaySinhGiaDinh[i], "dd/MM/yyyy", null);
                            }
                            else
                            {
                                family.date_of_birth = null;
                            }
                            family.background             = lyLich[i];
                            family.family_relationship_id = Int32.Parse(moiQuanHe[i]);
                            family.family_type_id         = Int32.Parse(giaDinh[i]);
                            family.employee_id            = emp.employee_id;
                            db.Families.Add(family);
                        }
                        db.SaveChanges();
                    }

                    if (donVi != null)
                    {
                        List <WorkingProcess> list = db.WorkingProcesses.ToList();
                        for (int i = 0; i < donVi.Length; i++)
                        {
                            if (!donVi[i].Equals(""))
                            {
                                string[] ngay            = tuNgayDenNgay[i].Split('-');
                                string   DonViCongTacX   = donVi[i];
                                string[] ngayFix         = ngay[0].Trim().Split('/');
                                List <WorkingProcess> ct = db.WorkingProcesses.Where(qtct => (qtct.employee_id.Equals(emp.employee_id)) && (qtct.office.Equals(DonViCongTacX))).ToList();
                                if (ct.Count == 0)
                                {
                                    WorkingProcess qtct = new WorkingProcess();
                                    qtct.employee_id = emp.employee_id;
                                    qtct.office      = donVi[i];
                                    if (ngay[0] != "" && ngay[1] != "")
                                    {
                                        string[] dateStart = ngay[0].Split('/');
                                        qtct.date_start = Convert.ToDateTime(dateStart[1] + "/" + dateStart[0] + "/" + dateStart[2]);
                                        string[] dateEnd = ngay[1].Split('/');
                                        qtct.date_end = Convert.ToDateTime(dateEnd[1] + "/" + dateEnd[0] + "/" + dateEnd[2]);
                                    }
                                    qtct.position = chucVu[i];
                                    qtct.title    = chucDanh[i];
                                    db.WorkingProcesses.Add(qtct);
                                }
                                else
                                {
                                    WorkingProcess qtct = new WorkingProcess();
                                    qtct.employee_id = emp.employee_id;
                                    qtct.office      = donVi[i];

                                    var quaTrinh = db.WorkingProcesses.Where(congTac => (congTac.employee_id.Equals(emp.employee_id)) && (congTac.office.Equals(DonViCongTacX))).FirstOrDefault();
                                    if (ngay[0] != "" && ngay[1] != "")
                                    {
                                        string[] dateStart = ngay[0].Split('/');
                                        quaTrinh.date_start = Convert.ToDateTime(dateStart[1] + "/" + dateStart[0] + "/" + dateStart[2]);
                                        string[] dateEnd = ngay[1].Split('/');
                                        quaTrinh.date_end = Convert.ToDateTime(dateEnd[1] + "/" + dateEnd[0] + "/" + dateEnd[2]);
                                    }
                                    quaTrinh.position        = chucVu[i];
                                    quaTrinh.title           = chucDanh[i];
                                    db.Entry(quaTrinh).State = EntityState.Modified;
                                }
                            }
                        }
                        db.SaveChanges();
                    }
                }
                catch (Exception e)
                {
                    dbct.Rollback();
                }
                if (hiddenSalary != "")
                {
                    emp.current_salary_id = Convert.ToInt32(hiddenSalary);
                }
                else
                {
                    emp.current_salary_id = null;
                }
                db.Entry(emp).State = EntityState.Modified;
                db.SaveChanges();
                dbct.Commit();
            }
            return(RedirectToAction("Search"));
        }
Пример #6
0
        public ActionResult ViewInfor(string id)
        {
            try
            {
                using (QuangHanhManufacturingEntities db = new QuangHanhManufacturingEntities())
                {
                    if (id == null)
                    {
                        id = "";
                    }
                    List <SelectListItem> salary_level = new List <SelectListItem>();
                    string query_salary_level          = "[HumanResources].GetSalaryLevel";
                    string type = "view";
                    List <GetSalaryLevel_Result> list_level_salary =
                        db.Database.SqlQuery <GetSalaryLevel_Result>(query_salary_level).ToList();
                    Array id_type = id.Split('_');
                    if (id_type.Length == 2)
                    {
                        id   = id_type.GetValue(0) + "";
                        type = id_type.GetValue(1) + "";
                    }
                    GetListEmployees_Result employee = db.Database.SqlQuery <GetListEmployees_Result>
                                                           ("HumanResources.[GetAnEmployee] {0}", id).FirstOrDefault();
                    foreach (GetSalaryLevel_Result i in list_level_salary)
                    {
                        salary_level.Add(new SelectListItem
                        {
                            Text  = i.rate_table_level,
                            Value = i.salary_id.ToString()
                        });
                        if (employee == null)
                        {
                            return(List());
                        }
                    }
                    ViewBag.load_salary_level = employee.rate_table_level;
                    ViewBag.level_salary      = salary_level;

                    List <SelectListItem> Month = new List <SelectListItem>();
                    for (int i = 1; i <= 12; i++)
                    {
                        Month.Add(new SelectListItem {
                            Text = i.ToString(), Value = i.ToString()
                        });
                    }
                    ViewBag.months = Month;
                    List <SelectListItem> Genders = new List <SelectListItem>
                    {
                        new SelectListItem {
                            Text = "Nam", Value = "true"
                        },
                        new SelectListItem {
                            Text = "Nữ", Value = "false"
                        }
                    };
                    ViewBag.genders = Genders;

                    List <Qualification>  Leveldb = db.Qualifications.ToList <Qualification>();
                    List <SelectListItem> Level   = new List <SelectListItem>();

                    foreach (Qualification td in Leveldb)
                    {
                        Level.Add(new SelectListItem {
                            Text = td.name.Trim(), Value = td.name.ToString()
                        });
                    }

                    ViewBag.level = Level;
                    List <Work>           Jobdb = db.Works.ToList();
                    List <SelectListItem> Job   = new List <SelectListItem>();

                    foreach (Work cv in Jobdb)
                    {
                        Job.Add(new SelectListItem {
                            Text = cv.name.Trim(), Value = cv.work_id.ToString()
                        });
                        if (db.Employees.Where(x => x.employee_id == id).FirstOrDefault().current_work_id == cv.work_id)
                        {
                            ViewBag.loadJob = cv.name.Trim();
                        }
                    }
                    ViewBag.job = Job;
                    List <SelectListItem> Heal = new List <SelectListItem>
                    {
                        new SelectListItem {
                            Text = "Khỏe", Value = "khoe"
                        },
                        new SelectListItem {
                            Text = "Bình thường", Value = "binhthuong"
                        },
                        new SelectListItem {
                            Text = "Yếu", Value = "yeu"
                        },
                        new SelectListItem {
                            Text = "Bệnh mãn tính", Value = "benhmantinh"
                        }
                    };
                    ViewBag.heal = Heal;
                    List <SelectListItem> ThuongBinh = new List <SelectListItem>
                    {
                        new SelectListItem {
                            Text = "Không", Value = "0"
                        },
                        new SelectListItem {
                            Text = "1/4(Thương tật 81% trở lên)", Value = "1"
                        },
                        new SelectListItem {
                            Text = "2/4(Thương tật từ 61% trở lên)", Value = "2"
                        },
                        new SelectListItem {
                            Text = "3/4(Thương tật từ 41% trở lên)", Value = "3"
                        },
                        new SelectListItem {
                            Text = "4/4(Thương tật từ 21% trở lên)", Value = "4"
                        }
                    };
                    ViewBag.thuongbinh = ThuongBinh;

                    string family_query = "[HumanResources].GetFamiliesOfAnEmployee {0}";
                    List <GetFamiliesOfAnEmployee_Result> qhList = db.Database.SqlQuery <GetFamiliesOfAnEmployee_Result>(family_query, id).ToList();
                    ViewBag.qhList = qhList;
                    List <FamilyType> familyTypes = db.FamilyTypes.ToList();
                    ViewBag.familyTypes = familyTypes;
                    List <FamilyRelationship> familyRelationships = db.FamilyRelationships.ToList();
                    ViewBag.familyRelationships = familyRelationships;
                    WorkingProcess        qt     = new WorkingProcess();
                    List <WorkingProcess> qtList = db.WorkingProcesses.Where(x => x.employee_id == id).ToList();
                    ViewBag.qtList = qtList;
                    if (type.Equals("edit"))
                    {
                        return(View("/Views/TCLD/Brief/Edit.cshtml", employee));
                    }
                    else if (type.Equals("view"))
                    {
                        return(View("/Views/TCLD/Brief/View.cshtml", employee));
                    }
                    else
                    {
                        return(List());
                    }
                }
            }
            catch (Exception e)
            {
                return(new HttpStatusCodeResult(404));
            }
        }