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)));
            }
        }
Exemple #2
0
        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"));
            }
        }
Exemple #3
0
 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"));
        }