// GET: LeavesApprove public ActionResult ShowAllLeaveRequests() { ViewBag.Employee_Profile = dbcontext.Employee_Profile.Where(a => a.Active == true).ToList().Select(m => new { Code = m.Code + "-[" + m.Full_Name + ']', ID = m.ID }); ViewBag.Vacations_Setup = dbcontext.Vacations_Setup.ToList().Select(m => new { Code = "" + m.LeaveTypeCode + "-----[" + m.LeaveTypeNameEnglish + ']', ID = m.ID }).ToList(); var model = new LeavesApprove(); return(View(model)); }
public ActionResult ShowAllLeaveRequests(FormCollection form) { ViewBag.Employee_Profile = dbcontext.Employee_Profile.Where(a => a.Active == true).ToList().Select(m => new { Code = m.Code + "-[" + m.Full_Name + ']', ID = m.ID }); ViewBag.Vacations_Setup = dbcontext.Vacations_Setup.ToList().Select(m => new { Code = "" + m.LeaveTypeCode + "-----[" + m.LeaveTypeNameEnglish + ']', ID = m.ID }).ToList(); var CodeEmp = form["CodeEmp"].Split(','); var CodeVac = form["CodeVac"].Split(','); var FromDate = form["FromDate"].Split(','); var ToDate = form["ToDate"].Split(','); var Dur = form["Dur"].Split(','); var Is_Head = form["Is_Head"].Split(','); for (var i = 0; i < CodeEmp.Length; i++) { if (CodeEmp[i] != "") { CultureInfo culture = new CultureInfo("es-ES"); String myDate = FromDate[i]; DateTime dateFrom = DateTime.Parse(myDate, culture); //CultureInfo culture = new CultureInfo("es-ES"); String myDateTo = ToDate[i]; DateTime dateTo = DateTime.Parse(myDateTo, culture); //var ff = date.ToString("MM/dd/yyyy"); // var kf = Convert.ToDateTime(ff); var From = FromDate[i]; var CodeEmployee = CodeEmp[i]; var emp = dbcontext.Employee_Profile.FirstOrDefault(a => a.Code == CodeEmployee); var CodeVacation = CodeVac[i]; var vac = dbcontext.Vacations_Setup.FirstOrDefault(a => a.LeaveTypeCode == CodeVacation); if (Is_Head[i] == "0") { var LeavesRequestMaster = dbcontext.LeavesRequestMaster.FirstOrDefault(a => a.EmployeeID == emp.ID && a.VacCode == vac.ID && a.DateFrom == dateFrom && a.DateTo == dateTo); var Last = dbcontext.LeavesRequestMaster.Where(a => a.EmployeeID == emp.ID && a.VacCode == vac.ID).ToList(); var Ch = Last.LastOrDefault(); if (LeavesRequestMaster.Approved == 3) { LeavesRequestMaster.Approved = 0; LeavesRequestMaster.Modified_By = User.Identity.Name; LeavesRequestMaster.check_status = HR.Models.Infra.check_status.Pending; LeavesRequestMaster.name_state = nameof(check_status.Pending); dbcontext.SaveChanges(); } else if (Ch != null && LeavesRequestMaster.Approved == 4) { LeavesRequestMaster.Approved = 0; var total = LeavesRequestMaster.TotalDays; Ch.RemainDays = Ch.RemainDays - total; LeavesRequestMaster.Modified_By = User.Identity.Name; LeavesRequestMaster.ApprovedBy = User.Identity.Name; LeavesRequestMaster.check_status = HR.Models.Infra.check_status.Pending; LeavesRequestMaster.name_state = nameof(check_status.Pending); dbcontext.SaveChanges(); } } else if (Is_Head[i] == "3") { var LeavesRequestMaster = dbcontext.LeavesRequestMaster.FirstOrDefault(a => a.EmployeeID == emp.ID && a.VacCode == vac.ID && a.DateFrom == dateFrom && a.DateTo == dateTo); var Last = dbcontext.LeavesRequestMaster.Where(a => a.EmployeeID == emp.ID && a.VacCode == vac.ID).ToList(); var Ch = Last.LastOrDefault(); if (LeavesRequestMaster.Approved == 0) { LeavesRequestMaster.Approved = 3; LeavesRequestMaster.Modified_By = User.Identity.Name; LeavesRequestMaster.ApprovedBy = User.Identity.Name; LeavesRequestMaster.check_status = HR.Models.Infra.check_status.Approved; LeavesRequestMaster.name_state = nameof(check_status.Approved); dbcontext.SaveChanges(); } else if (Ch != null && LeavesRequestMaster.Approved == 4) { LeavesRequestMaster.Approved = 3; var total = LeavesRequestMaster.TotalDays; Ch.RemainDays = Ch.RemainDays - total; LeavesRequestMaster.Modified_By = User.Identity.Name; LeavesRequestMaster.ApprovedBy = User.Identity.Name; LeavesRequestMaster.check_status = HR.Models.Infra.check_status.Approved; LeavesRequestMaster.name_state = nameof(check_status.Approved); dbcontext.SaveChanges(); } } else if (Is_Head[i] == "4") { var LeavesRequestMaster = dbcontext.LeavesRequestMaster.FirstOrDefault(a => a.EmployeeID == emp.ID && a.VacCode == vac.ID && a.DateFrom == dateFrom && a.DateTo == dateTo); var Last = dbcontext.LeavesRequestMaster.Where(a => a.EmployeeID == emp.ID && a.VacCode == vac.ID).ToList(); var Ch = Last.LastOrDefault(); if (Ch != null && LeavesRequestMaster.Approved == 0 || LeavesRequestMaster.Approved == 3) { LeavesRequestMaster.Approved = 4; var total = LeavesRequestMaster.TotalDays; Ch.RemainDays = Ch.RemainDays + total; LeavesRequestMaster.Modified_By = User.Identity.Name; LeavesRequestMaster.RejectedBy = User.Identity.Name; LeavesRequestMaster.check_status = HR.Models.Infra.check_status.Rejected; LeavesRequestMaster.name_state = nameof(check_status.Rejected); dbcontext.SaveChanges(); } } dbcontext.SaveChanges(); } } //var model_ = dbcontext.LeavesRequestMaster.ToList(); var model = new LeavesApprove(); return(View(model)); }