public ActionResult Create() { var model = new ManageEmployeeLeave(); return(View(model)); }
public ActionResult DeleteConfirmed(int id) { ManageEmployeeLeave manageEmployeeLeave = db.ManageEmployeeLeaves.Find(id); db.ManageEmployeeLeaves.Remove(manageEmployeeLeave); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "ID,EmployeeId,EmployeeName,StartDate,EndDate,Duration,ApplyDate,Status,LeaveType,LeaveLimit,LeaveType_Limit_ID")] ManageEmployeeLeave manageEmployeeLeave) { if (ModelState.IsValid) { db.Entry(manageEmployeeLeave).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(manageEmployeeLeave)); }
public ActionResult Create() { var model = new ManageEmployeeLeave(); //var items = db.LeaveType_Limits.ToList(); //if (items != null) //{ // ViewBag.LeaveType_Limits = items; //} return(View(model)); }
// GET: LeaveApplications/Create public ActionResult Create(int?planid) { var model = new LeaveApplication(); var userid = User.Identity.GetUserId(); var employee = db.Employees.Where(x => x.UserId == userid).FirstOrDefault(); model.EmployeeId = employee.ID.ToString(); model.EmployeeName = employee.FullName; model.ApplyDate = DateTime.Now; if (planid != null) { ManageEmployeeLeave leaveplan = db.ManageEmployeeLeaves .Where(x => x.ID == planid) .FirstOrDefault(); //ManageEmployeeLeave leaveplan = db.ManageEmployeeLeaves // .Where(x => x.ID == planid && x.EmployeeId == model.EmployeeId) // .FirstOrDefault(); if (leaveplan != null) { model.StartDate = leaveplan.StartDate; model.LeaveType = leaveplan.LeaveType; model.LeaveLimit = leaveplan.LeaveLimit; model.LeaveLimit = leaveplan.LeaveLimit; model.EndDate = leaveplan.EndDate; model.LeavePlanID = leaveplan.ID; model.TotalLeaveTaken = leaveplan.TotalLeaveTaken; model.TotalLeaveAvailable = leaveplan.TotalLeaveAvailable; model.Duration = leaveplan.Duration; model.LeavePlanStatus = "Approved"; model.LeaveAppStatus = BusinessLogic.UpdatedDomain.LeaveApplication.LeaveApplicationStatus.Pending; } else { model.StartDate = DateTime.Now; model.EndDate = DateTime.Now; ViewBag.LeaveType = new SelectList(db.LeaveType_Limits.Where(x => x.LeaveType == "Emergency").ToList(), "LeaveType", "LeaveType"); model.LeaveLimit = db.LeaveType_Limits.Where(x => x.LeaveType == "Emergency").FirstOrDefault().Limit; model.LeavePlanStatus = "Pending"; model.LeaveAppStatus = BusinessLogic.UpdatedDomain.LeaveApplication.LeaveApplicationStatus.Pending; ViewBag.Error = "Leave Plan Does Not Exist"; } } else { model.StartDate = DateTime.Now; model.EndDate = DateTime.Now; ViewBag.LeaveType = new SelectList(db.LeaveType_Limits.ToList(), "LeaveType", "LeaveType"); model.LeaveLimit = null; model.LeavePlanStatus = "None"; model.LeaveAppStatus = BusinessLogic.UpdatedDomain.LeaveApplication.LeaveApplicationStatus.Pending; ViewBag.LeaveTypesList = db.LeaveType_Limits.Select(c => new { c.ID, c.Limit, c.LeaveType }); } return(View(model)); }
public async Task <ActionResult> Edit([Bind(Include = "ID,LeaveAppID,EmployeeId,EmployeeName,StartDate,ResumptionDate,Duration,Status,ApplyDate,LeaveType")] LeaveResumption leaveResumption) { if (ModelState.IsValid) { var employee = _repo.GetEmployee(int.Parse(leaveResumption.EmployeeId)); if (leaveResumption.Status == LeaveResumption.LeaveResumptionStatus.Approved) { LeaveApplication leaveapplication = db.LeaveApplications.Find(leaveResumption.LeaveAppID); if (leaveapplication.LeavePlanID != null) { ManageEmployeeLeave leaveplan = db.ManageEmployeeLeaves.Find(leaveapplication.LeavePlanID); if (leaveplan.TotalLeaveAvailable == null) { leaveplan.TotalLeaveAvailable = leaveplan.LeaveLimit; } if (leaveplan.TotalLeaveTaken == null) { leaveplan.TotalLeaveTaken = 0; } leaveplan.TotalLeaveTaken += leaveResumption.Duration; leaveplan.TotalLeaveAvailable -= leaveResumption.Duration; } if (leaveapplication.TotalLeaveAvailable == null) { leaveapplication.TotalLeaveAvailable = leaveapplication.LeaveLimit; } if (leaveapplication.TotalLeaveTaken == null) { leaveapplication.TotalLeaveTaken = 0; } leaveapplication.TotalLeaveAvailable -= leaveResumption.Duration; leaveapplication.TotalLeaveTaken += leaveResumption.Duration; string FilePath = Server.MapPath("~/Assets/EmailTemplate/LeaveApproved.cshtml"); StreamReader str = new StreamReader(FilePath); string MailText = str.ReadToEnd(); str.Close(); MailText = MailText.Replace("[Date]", DateTime.Now.ToShortDateString()); MailText = MailText.Replace("[StartDate]", leaveResumption.StartDate.ToShortDateString()); MailText = MailText.Replace("[ResumptionDate]", leaveResumption.ResumptionDate.ToShortDateString()); MailText = MailText.Replace("[Name]", employee.FullName); MailText = MailText.Replace("[HRName]", "Bolaji Fashola"); _emailhandler = new LeaveApplicationAcceptedEmail(MailText); _emailhandler.SendEmail("*****@*****.**", ""); } db.Entry(leaveResumption).State = EntityState.Modified; await db.SaveChangesAsync(); //await Task.Delay(50); return(RedirectToAction("Index")); } return(View(leaveResumption)); }
public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ManageEmployeeLeave manageEmployeeLeave = db.ManageEmployeeLeaves.Find(id); if (manageEmployeeLeave == null) { return(HttpNotFound()); } return(View(manageEmployeeLeave)); }
public ActionResult Create([Bind(Include = "ID,EmployeeId,EmployeeName,StartDate,EndDate,Duration,ApplyDate,Status,LeaveType,LeaveLimit,LeaveType_Limit_ID")] ManageEmployeeLeave manageEmployeeLeave) { if (ModelState.IsValid) { if (manageEmployeeLeave.LeaveLimit < manageEmployeeLeave.Duration) { ViewBag.Error = "Your " + manageEmployeeLeave.LeaveType + " Leave Duration Cannot exceed leave limit of " + manageEmployeeLeave.LeaveLimit + " days !"; manageEmployeeLeave.EndDate = manageEmployeeLeave.StartDate.AddDays((double)manageEmployeeLeave.LeaveLimit - 1); return(View(manageEmployeeLeave)); } //LeaveType_Limit leavetypelimit = new LeaveType_Limit(); //if (leavetypelimit.ID == 0) //{ // ModelState.AddModelError("", "Select Leave Type"); //} //int selectvalue = leavetypelimit.ID; //ViewBag.SelectedValue = leavetypelimit.Limit; //List<LeaveType_Limit> leavetypelist = new List<LeaveType_Limit>(); //leavetypelist = (from c in db.LeaveType_Limits select c).ToList(); //leavetypelist.Insert(0, new LeaveType_Limit { ID = 0, LeaveType = "Select" }); SetEmployeeSessionID(); var id = Session["employeeid"]; var empdetails = db.Employees.Select(c => c.EmployeeNumber).FirstOrDefault(); var empname = db.Employees.Select(c => c.FirstName).FirstOrDefault(); var emplastname = db.Employees.Select(c => c.LastName).FirstOrDefault(); var empfullname = empname + " " + emplastname; manageEmployeeLeave.EmployeeId = empdetails.ToString(); manageEmployeeLeave.EmployeeName = empfullname.ToString(); var diff1 = (manageEmployeeLeave.EndDate - manageEmployeeLeave.StartDate).Days; manageEmployeeLeave.Duration = diff1; manageEmployeeLeave.ApplyDate = DateTime.Now; //var status = (int)ManageEmployeeLeave.LeaveStatus.Pending; //manageEmployeeLeave.LeaveType = ViewBag.SelectedValue; manageEmployeeLeave.Status = ManageEmployeeLeave.LeaveStatus.Pending; //manageEmployeeLeave.LeaveType = db.LeaveType_Limits.Distinct().Select(c => new SelectListItem() { Text = c.LeaveType, Value = c.ID.ToString()}).ToString(); db.ManageEmployeeLeaves.Add(manageEmployeeLeave); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(manageEmployeeLeave)); }