public ActionResult DeleteConfirmed(int id) { LvShort lvshort = db.LvShorts.Find(id); db.LvShorts.Remove(lvshort); db.SaveChanges(); int _userID = Convert.ToInt32(Session["LogedUserID"].ToString()); HelperClass.MyHelper.SaveAuditLog(_userID, (byte)MyEnums.FormName.ShortLeave, (byte)MyEnums.Operation.Delete, DateTime.Now); return(RedirectToAction("Index")); }
public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } LvShort lvshort = db.LvShorts.Find(id); if (lvshort == null) { return(HttpNotFound()); } return(View(lvshort)); }
private bool CheckForLQuota(LvShort lvshort) { string EmpLvType = lvshort.EmpID + "A"; List <LvConsumed> consumed = db.LvConsumeds.Where(aa => aa.EmpLvType == EmpLvType).ToList(); if (consumed.Count() > 0) { return(true); } else { return(false); } }
public void AddShortLeaveToAttData(LvShort lvshort) { DateTime datetime = new DateTime(); using (var db = new TAS2013Entities()) { if (db.AttProcesses.Where(aa => aa.ProcessDate == datetime).Count() > 0) { AttData _EmpAttData = new AttData(); _EmpAttData = db.AttDatas.First(aa => aa.EmpDate == lvshort.EmpDate); _EmpAttData.StatusAB = false; _EmpAttData.StatusSL = true; _EmpAttData.Remarks = _EmpAttData.Remarks + "[Short Leave]"; db.SaveChanges(); } } }
public ActionResult Edit([Bind(Include = "SlID,EmpID,DutyDate,EmpDate,SHour,EHour,THour,Remarks,CreatedBy,ApprovedBy,Status")] LvShort lvshort) { if (lvshort.EHour < lvshort.SHour) { ModelState.AddModelError("EHour", "End hour required"); } if (lvshort.DutyDate == null) { ModelState.AddModelError("DutyDate", "DutyDate is required!"); } if (ModelState.IsValid) { lvshort.CreatedDate = DateTime.Today; lvshort.THour = lvshort.EHour - lvshort.SHour; db.Entry(lvshort).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); int _userID = Convert.ToInt32(Session["LogedUserID"].ToString()); HelperClass.MyHelper.SaveAuditLog(_userID, (byte)MyEnums.FormName.ShortLeave, (byte)MyEnums.Operation.Edit, DateTime.Now); return(RedirectToAction("Index")); } return(View(lvshort)); }
public void AddShortLeaveToAttData(LvShort lvshort) { DateTime datetime = lvshort.DutyDate.Value; using (var db = new TAS2013Entities()) { if (db.AttProcesses.Where(aa => aa.ProcessDate == datetime).Count() > 0) { AttData _EmpAttData = new AttData(); _EmpAttData = db.AttDatas.First(aa => aa.EmpDate == lvshort.EmpDate); _EmpAttData.StatusAB = false; _EmpAttData.StatusSL = true; _EmpAttData.StatusLI = false; _EmpAttData.LateIn = 0; _EmpAttData.StatusEO = false; _EmpAttData.EarlyOut = 0; _EmpAttData.SLMin = Convert.ToInt16(lvshort.THour.Value.Minutes); _EmpAttData.ShifMin = (short)(_EmpAttData.ShifMin - Convert.ToInt16(lvshort.THour.Value.Minutes)); _EmpAttData.Remarks = _EmpAttData.Remarks + "[Short Leave]"; db.SaveChanges(); } } }
public ActionResult Create([Bind(Include = "SlID,EmpID,DutyDate,EmpDate,SHour,EHour,THour,Remarks,CreatedBy,ApprovedBy,Status")] LvShort lvshort, string SHour, string EHour) { string STimeIn = SHour; string STimeOut = EHour; string STimeInH = STimeIn.Substring(0, 2); string STimeInM = STimeIn.Substring(2, 2); string STimeOutH = STimeOut.Substring(0, 2); string STimeOutM = STimeOut.Substring(2, 2); lvshort.SHour = new TimeSpan(Convert.ToInt16(STimeInH), Convert.ToInt16(STimeInM), 0); lvshort.EHour = new TimeSpan(Convert.ToInt16(STimeOutH), Convert.ToInt16(STimeOutM), 0); if (lvshort.EHour < lvshort.SHour) { ModelState.AddModelError("EHour", "End hour required"); } if (Request.Form["EmpNo"].ToString() == "") { ModelState.AddModelError("EmpNo", "Emplyee No is required!"); } else { string _EmpNo = Request.Form["EmpNo"].ToString(); List <Emp> _emp = db.Emps.Where(aa => aa.EmpNo == _EmpNo).OrderBy(s => s.EmpNo).ToList(); if (_emp.Count == 0) { ModelState.AddModelError("EmpNo", "Emp No not exist"); } else { lvshort.EmpID = _emp.FirstOrDefault().EmpID; lvshort.EmpDate = _emp.FirstOrDefault().EmpID.ToString() + lvshort.DutyDate.Value.ToString("yyMMdd"); lvshort.CreatedDate = DateTime.Today; lvshort.THour = lvshort.EHour - lvshort.SHour; } } if (lvshort.DutyDate == null) { ModelState.AddModelError("DutyDate", "DutyDate is required!"); } if (lvshort.SHour == null) { ModelState.AddModelError("SHour", "Start Time is required!"); } if (lvshort.EHour == null) { ModelState.AddModelError("EHour", "Ending Time is required!"); } if (ModelState.IsValid) { LeaveController LvProcessController = new LeaveController(); int _userID = Convert.ToInt32(Session["LogedUserID"].ToString()); User LoggedInUser = Session["LoggedUser"] as User; lvshort.CreatedBy = _userID; lvshort.Status = true; db.LvShorts.Add(lvshort); db.SaveChanges(); LvProcessController.AddShortLeaveToAttData(lvshort); HelperClass.MyHelper.SaveAuditLog(_userID, (byte)MyEnums.FormName.ShortLeave, (byte)MyEnums.Operation.Add, DateTime.Now); return(RedirectToAction("Index")); } return(View(lvshort)); }
private int AddCausalLeave(LvShort lvshort) { //find that bastard through the causal leave field in EmpLvType string EmpLvType = lvshort.EmpID + "A"; //if there is some freak accident and now he has two or more records //cater for that by going through a list List <LvConsumed> consumed = db.LvConsumeds.Where(aa => aa.EmpLvType == EmpLvType).ToList(); if (consumed.Count() > 0) { foreach (LvConsumed consume in consumed) { consume.GrandTotalRemaining = consume.GrandTotalRemaining - 1; consume.YearRemaining = consume.YearRemaining - 1; LvConsumed refresh = new LvConsumed(); refresh = CheckMonthAndAddOneLeave(consume); if (db.LvApplications.Where(aa => aa.LvDate == lvshort.DutyDate && aa.EmpID == lvshort.EmpID && aa.LvType == "A").Count() > 0) { return(1); } else { LvApplication lvapplication = new LvApplication(); lvapplication.EmpID = (int)lvshort.EmpID; lvapplication.LvDate = (DateTime)lvshort.DutyDate; lvapplication.LvType = "A"; lvapplication.FromDate = (DateTime)lvshort.DutyDate; lvapplication.ToDate = (DateTime)lvshort.DutyDate; lvapplication.NoOfDays = 1; lvapplication.IsHalf = false; lvapplication.HalfAbsent = false; lvapplication.LvReason = lvshort.Remarks; lvapplication.CreatedBy = lvshort.CreatedBy; lvapplication.LvStatus = "P"; lvapplication.CompanyID = lvshort.CompanyID; lvapplication.Active = true; LeaveController LvProcessController = new LeaveController(); if (LvProcessController.HasLeaveQuota(lvapplication.EmpID, lvapplication.LvType)) { if (lvapplication.IsHalf != true) { if (LvProcessController.CheckDuplicateLeave(lvapplication)) { //Check leave Balance if (LvProcessController.CheckLeaveBalance(lvapplication)) { lvapplication.LvDate = DateTime.Today; int _userID = Convert.ToInt32(Session["LogedUserID"].ToString()); lvapplication.CreatedBy = _userID; db.LvApplications.Add(lvapplication); if (db.SaveChanges() > 0) { HelperClass.MyHelper.SaveAuditLog(_userID, (byte)MyEnums.FormName.Leave, (byte)MyEnums.Operation.Add, DateTime.Now); LvProcessController.AddLeaveToLeaveData(lvapplication); LvProcessController.AddLeaveToLeaveAttData(lvapplication); return(2); } else { ModelState.AddModelError("Remarks", "There is an error while creating leave."); } } else { ModelState.AddModelError("Remarks", "Leave Balance Exceeds, Please check the balance"); } } else { ModelState.AddModelError("Remarks", "This Employee already has leave of this date "); } } } else { ModelState.AddModelError("Remarks", "Leave Quota does not exist"); } } } return(2); } else { return(3); } }
public ActionResult Create([Bind(Include = "SlID,EmpID,DutyDate,EmpDate,SHour,EHour,THour,Remarks,CreatedBy,ApprovedBy,Status")] LvShort lvshort, string SHour, string EHour) { string STimeIn = SHour; string STimeOut = EHour; string STimeInH = STimeIn.Substring(0, 2); string STimeInM = STimeIn.Substring(2, 2); string STimeOutH = STimeOut.Substring(0, 2); string STimeOutM = STimeOut.Substring(2, 2); lvshort.SHour = new TimeSpan(Convert.ToInt16(STimeInH), Convert.ToInt16(STimeInM), 0); lvshort.EHour = new TimeSpan(Convert.ToInt16(STimeOutH), Convert.ToInt16(STimeOutM), 0); if (lvshort.EHour < lvshort.SHour) { ModelState.AddModelError("EHour", "End hour required"); } if (Request.Form["EmpNo"].ToString() == "") { ModelState.AddModelError("EmpNo", "Emplyee No is required!"); } else { string _EmpNo = Request.Form["EmpNo"].ToString(); List <Emp> _emp = db.Emps.Where(aa => aa.EmpNo == _EmpNo).ToList(); if (_emp.Count == 0) { ModelState.AddModelError("EmpNo", "Emp No not exist"); } else { lvshort.EmpID = _emp.FirstOrDefault().EmpID; lvshort.EmpDate = _emp.FirstOrDefault().EmpID.ToString() + lvshort.DutyDate.Value.ToString("yyMMdd"); lvshort.CreatedDate = DateTime.Today; lvshort.THour = lvshort.EHour - lvshort.SHour; } } if (lvshort.DutyDate == null) { ModelState.AddModelError("DutyDate", "DutyDate is required!"); } if (lvshort.SHour == null) { ModelState.AddModelError("SHour", "Start Time is required!"); } if (lvshort.EHour == null) { ModelState.AddModelError("EHour", "Ending Time is required!"); } if (ModelState.IsValid) { LeaveController LvProcessController = new LeaveController(); int _userID = Convert.ToInt32(Session["LogedUserID"].ToString()); User LoggedInUser = Session["LoggedUser"] as User; lvshort.CreatedBy = _userID; lvshort.CompanyID = LoggedInUser.CompanyID; lvshort.Status = true; //The below LvShort checks if there is an already existing Lvshort for //this date. If there is an existing LvShort remove it from the database //, check if he has balance for causal leave and then add a causal leave // if (db.Options.FirstOrDefault().TwoShortLToOneCausal == true) { if (db.LvShorts.Where(aa => aa.EmpDate == lvshort.EmpDate).Count() > 0) { if (CheckForLQuota(lvshort) == true) { ShortLRemove(lvshort.EmpDate); switch (AddCausalLeave(lvshort)) { case 1: ModelState.AddModelError("Remarks", "Causal Leave Already exists"); break; case 2: db.SaveChanges(); break; case 3: ModelState.AddModelError("Remarks", "No Quota Defined for this Employee"); break; } return(RedirectToAction("Index")); } else { ModelState.AddModelError("Remarks", "No Quota Defined for this Employee"); return(View(lvshort)); } } } //Check If its already made TimeSpan ehour = new TimeSpan(Convert.ToInt32(STimeOutH), Convert.ToInt32(STimeOutM), 0); TimeSpan shour = new TimeSpan(Convert.ToInt32(STimeInH), Convert.ToInt32(STimeInM), 0); if (db.LvShorts.Where(aa => aa.EmpDate == lvshort.EmpDate && (aa.SHour == shour || aa.EHour == ehour)).Count() > 0) { ModelState.AddModelError("Remarks", "Short Leave Already Exists for this time duration"); } else { db.LvShorts.Add(lvshort); db.SaveChanges(); LvProcessController.AddShortLeaveToAttData(lvshort); HelperClass.MyHelper.SaveAuditLog(_userID, (byte)MyEnums.FormName.ShortLeave, (byte)MyEnums.Operation.Add, DateTime.Now); return(RedirectToAction("Index")); } } return(View(lvshort)); }