public ActionResult SaveChanges(LeaveApplication.Models.LeaveApplication l1) { if (Session["EmpID"] == null) { return(RedirectToAction("Index", "LogIn")); } l1.ApplicationId = ((LeaveApplication.Models.LeaveApplication)Session["EditLeave"]).ApplicationId; l1.TotalDays = ((LeaveApplication.Models.LeaveApplication)Session["EditLeave"]).TotalDays; LeaveApplication.Validation_Classes.Validation v1 = new Validation_Classes.Validation(); if (l1.TotalDays == 0.5) { v1.ValidateHalfDay_L(l1, this.ModelState); } else { v1.ValidateFullDay_L(l1, this.ModelState); } if (ModelState.IsValid) { bool IsDeletedFile = Convert.ToBoolean(Request.Form["IsDeleted"]); l1.FileId = ((LeaveApplication.Models.LeaveApplication)Session["EditLeave"]).FileId; if (((LeaveApplication.Models.LeaveApplication)Session["EditLeave"]).TotalDays == 0.5) { string fm = l1.FromDate; l1.FromDate = l1.FromDate + " " + l1.FromTime; l1.ToDate = fm + " " + l1.ToTime; Double hrs = lb.CalculateLeaveHours(l1); if (hrs <= 0) { TempData["HrsError"] = true; return(EditDetails(LeaveApplication.Models.Encryption.Base64Encode(l1.ApplicationId))); } lb.SaveChanges(l1, IsDeletedFile); } else { if (lb.CalculateTotalLeaveDays(l1) <= 0) { TempData["HrsError"] = true; return(EditDetails(LeaveApplication.Models.Encryption.Base64Encode(l1.ApplicationId))); } lb.SaveChanges(l1, IsDeletedFile); } Session.Remove("EditLeave"); return(RedirectToAction("Index", "ViewApplications")); } else { return(EditDetails(LeaveApplication.Models.Encryption.Base64Encode(l1.ApplicationId))); } }
public ActionResult FacultyDetiledView(string Application_Id) { if (Application_Id != null && ((Employee)Session["Employee"]).IsManager) { LeaveApplication.Models.LeaveApplication x = lb.GetViewApplication(Application_Id); List <StatusHistory> a = lb.GetStatusHistory(Application_Id); ViewBag.SH = lb.GetStatusHistory(Application_Id); ViewBag.Manager = true; return(View("ViewFullApplication", x)); } else { return(Content("Access Denied")); } }
public void ValidateFullDay_L(LeaveApplication.Models.LeaveApplication l1, ModelStateDictionary x) {//for leave application if (l1.Attachment != null && !IsValidFileFormat(l1.Attachment.FileName)) { x.AddModelError("Attachment", "Invalid Format"); } if (string.IsNullOrWhiteSpace(l1.LeaveType)) { x.AddModelError("LeaveType", "Required"); } if (string.IsNullOrWhiteSpace(l1.FromDate)) { x.AddModelError("FromDate", "Required"); } else { try { DateTime.ParseExact(l1.FromDate, "dd/MM/yyyy", CultureInfo.InvariantCulture); } catch (FormatException) { x.AddModelError("FromDate", "Date is not in correct format"); } } if (string.IsNullOrWhiteSpace(l1.ToDate)) { x.AddModelError("ToDate", "Required"); } else { try { DateTime.ParseExact(l1.ToDate, "dd/MM/yyyy", CultureInfo.InvariantCulture); } catch (FormatException) { x.AddModelError("ToDate", "Date is not in correct format"); } } if (string.IsNullOrWhiteSpace(l1.LeaveReason)) { x.AddModelError("LeaveReason", "Required"); } }
public ActionResult EditDetails(string Application_Id) { if (Application_Id != null && Session["EmpID"] != null) { Application_Id = LeaveApplication.Models.Encryption.Base64Decode(Application_Id); try { int.Parse(Application_Id); LeaveApplication.Models.LeaveApplication x = lb.GetApplication(Application_Id); Session["EditLeave"] = x; if (x == null) { return(RedirectToAction("Index", "ViewApplications")); } else { ViewBag.Reasons = lb.GetReasons(); ViewBag.Leavetypes = lb.GetLeaveTypes(); if (TempData["HrsError"] != null && Convert.ToBoolean(TempData["HrsError"]) == true) { ViewBag.HrsError = true; } else { ViewBag.HrsError = false; } return(View("EditDetails", x)); } } catch (FormatException) { return(RedirectToAction("FacultyApplications")); } } else { return(RedirectToAction("Index", "ViewApplications")); } }
public ActionResult DetiledView(string Application_Id) { if (Session["EmpID"] == null) { return(RedirectToAction("Index", "LogIn")); } if (Application_Id != null && Session["EmpID"] != null) { ViewBag.ApplicationId = Application_Id; Application_Id = LeaveApplication.Models.Encryption.Base64Decode(Application_Id); try { int.Parse(Application_Id); } catch (FormatException) { return(RedirectToAction("Index", "ViewApplications")); } LeaveApplication.Models.LeaveApplication x = lb.GetViewApplication(Application_Id); List <StatusHistory> a = lb.GetStatusHistory(Application_Id); if (((Employee)Session["Employee"]).IsManager && ManagerBusinessLayer.IsUnderManagement(Application_Id, ((Employee)Session["Employee"]).EmployeeID) && lb.IsPending(int.Parse(Application_Id))) { ViewBag.ShowAction = true; } else { ViewBag.ShowAction = false; } ViewBag.SH = a; // lb.GetStatusHistory(Application_Id); // Session["FileName"] = x.FileName; return(View("ViewFullApplication", x)); } else { return(RedirectToAction("Index", "LogIn")); } }
public ActionResult Submit(LeaveApplication.Models.LeaveApplication l1) { //checking file type... string ContentType = string.Empty; List <string> MimeType = null; if (l1.Attachment != null) { ContentType = System.Web.MimeMapping.GetMimeMapping(l1.Attachment.FileName); MimeType = new List <string>() { "image/jpeg", "application/pdf", "image/png", "application/vnd.openxmlformats-officedocument.wordprocessingml.document" }; if (!MimeType.Contains(ContentType)) { ModelState.AddModelError("Attachment", "Invalid Format"); } } //data validation if (string.IsNullOrWhiteSpace(l1.LeaveType)) { ModelState.AddModelError("LeaveType", "Required"); } if (l1.IsHalfDay == 0 && string.IsNullOrWhiteSpace(l1.FromDate)) { ModelState.AddModelError("FromDate", "Required"); } else if (l1.IsHalfDay == 0) { try { DateTime.ParseExact(l1.FromDate, "dd/MM/yyyy", CultureInfo.InvariantCulture); } catch (FormatException) { ModelState.AddModelError("FromDate", "Date is not in correct format"); } } if (l1.IsHalfDay == 0 && string.IsNullOrWhiteSpace(l1.ToDate)) { ModelState.AddModelError("ToDate", "Required"); } else if (l1.IsHalfDay == 0) { try { DateTime.ParseExact(l1.ToDate, "dd/MM/yyyy", CultureInfo.InvariantCulture); } catch (FormatException) { ModelState.AddModelError("ToDate", "Date is not in correct format"); } } if (l1.IsHalfDay == 1 && string.IsNullOrWhiteSpace(l1.FromDate)) { ModelState.AddModelError("FromDate", "Required"); } else if (l1.IsHalfDay == 1) { try { DateTime.ParseExact(l1.FromDate, "dd/MM/yyyy", CultureInfo.InvariantCulture); } catch (FormatException) { ModelState.AddModelError("FromDate", "Date is not in correct format"); } } if (l1.IsHalfDay == 1 && string.IsNullOrWhiteSpace(l1.FromTime)) { ModelState.AddModelError("FromTime", "Required"); } else if (l1.IsHalfDay == 1) { try { DateTime.Parse(l1.FromTime); } catch (FormatException) { ModelState.AddModelError("FromTime", "Time is not in correct format"); } } if (l1.IsHalfDay == 1 && string.IsNullOrWhiteSpace(l1.ToTime)) { ModelState.AddModelError("ToTime", "Required"); } else if (l1.IsHalfDay == 1) { try { DateTime.Parse(l1.ToTime); } catch (FormatException) { ModelState.AddModelError("ToTime", "Time is not in correct format"); } } if (string.IsNullOrWhiteSpace(l1.LeaveReason)) { ModelState.AddModelError("LeaveReason", "Required"); } //end... if (ModelState.IsValid) { if (l1.IsHalfDay == 0 || l1.IsHalfDay == 1) { if (l1.IsHalfDay == 1) { string fm = l1.FromDate; l1.FromDate = l1.FromDate + " " + l1.FromTime; l1.ToDate = fm + " " + l1.ToTime; Double hrs = lb.CalculateLeaveHours(l1); if (hrs <= 0) { TempData["HrsError"] = true; return(Index(1)); } } else { if (lb.CalculateTotalLeaveDays(l1) <= 0) { TempData["HrsError"] = true; return(Index(0)); } } l1.EmployeeID = Session["EmpID"].ToString(); l1.ApplicationType = false;//that's means this is type application lb.SaveApplication(l1); try { l1.NotifyManager(((Employee)Session["Employee"]).GetManager(), (Employee)Session["Employee"]); } catch (System.Net.Mail.SmtpException) { } } } else { ViewBag.Reasons = lb.GetReasons(); ViewBag.Leavetypes = lb.GetLeaveTypes(); ViewBag.ViewID = l1.IsHalfDay; return(View("Index")); } TempData["Notify"] = true; return(RedirectToAction("Index", "ApplyForLeave")); }
public ActionResult Calculateadays(LeaveApplication.Models.LeaveApplication l1) { return(Json(lb.CalculateTotalLeaveDays(l1))); }
public ActionResult Submit(LeaveApplication.Models.LeaveApplication l1) { //data validation if (string.IsNullOrWhiteSpace(l1.LeaveType)) { ModelState.AddModelError("LeaveType", "Required"); } if (l1.IsHalfDay == 0 && string.IsNullOrWhiteSpace(l1.FromDate)) { ModelState.AddModelError("FromDate", "Required"); } else if (l1.IsHalfDay == 0) { try { DateTime.ParseExact(l1.FromDate, "dd/MM/yyyy", CultureInfo.InvariantCulture); } catch (FormatException) { ModelState.AddModelError("FromDate", "Date is not in correct format"); } } if (l1.IsHalfDay == 0 && string.IsNullOrWhiteSpace(l1.ToDate)) { ModelState.AddModelError("ToDate", "Required"); } else if (l1.IsHalfDay == 0) { try { DateTime.ParseExact(l1.ToDate, "dd/MM/yyyy", CultureInfo.InvariantCulture); } catch (FormatException) { ModelState.AddModelError("ToDate", "Date is not in correct format"); } } if (l1.IsHalfDay == 1 && string.IsNullOrWhiteSpace(l1.FromDate)) { ModelState.AddModelError("FromDate", "Required"); } else if (l1.IsHalfDay == 1) { try { DateTime.ParseExact(l1.FromDate, "dd/MM/yyyy", CultureInfo.InvariantCulture); } catch (FormatException) { ModelState.AddModelError("FromDate", "Date is not in correct format"); } } if (l1.IsHalfDay == 1 && string.IsNullOrWhiteSpace(l1.FromTime)) { ModelState.AddModelError("FromTime", "Required"); } else if (l1.IsHalfDay == 1) { try { DateTime.Parse(l1.FromTime); } catch (FormatException) { ModelState.AddModelError("FromTime", "Time is not in correct format"); } } if (l1.IsHalfDay == 1 && string.IsNullOrWhiteSpace(l1.ToTime)) { ModelState.AddModelError("ToTime", "Required"); } else if (l1.IsHalfDay == 1) { try { DateTime.Parse(l1.ToTime); } catch (FormatException) { ModelState.AddModelError("ToTime", "Time is not in correct format"); } } if (string.IsNullOrWhiteSpace(l1.LeaveReason)) { ModelState.AddModelError("LeaveReason", "Required"); } //end... if (string.IsNullOrWhiteSpace(l1.LeaveReason)) { ModelState.AddModelError("LeaveReason", "Required"); } if (ModelState.IsValid) { if (l1.IsHalfDay == 0 || l1.IsHalfDay == 1) { if (l1.IsHalfDay == 1) { string fm = l1.FromDate; l1.FromDate = l1.FromDate + " " + l1.FromTime; l1.ToDate = fm + " " + l1.ToTime; Double hrs = lb.CalculateLeaveHours(l1); if (hrs <= 0) { TempData["HrsError"] = true; return(Index(1)); } } else { if (lb.CalculateTotalLeaveDays(l1) <= 0) { TempData["HrsError"] = true; return(Index(0)); } } l1.ApplicationType = true;//that's means this is type request... l1.EmployeeID = Session["EmpID"].ToString(); lb.SaveApplication(l1); } } else { ViewBag.Reasons = lb.GetReasons(); ViewBag.ViewID = l1.IsHalfDay; return(View("Index", lb.GetRequestableLeaves())); } TempData["Notify"] = true; return(RedirectToAction("Index", "RequestLeave")); }