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 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 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")); }