public ActionResult CancelledRefNo(List <string> RefNo) { #region Old //string REFNO = RefNo[0]; //List<AF_DTRfiling> list = (from c in db.AF_DTRfiling // where c.DTR_RefNo == REFNO // select c).ToList(); //foreach (AF_DTRfiling request in list) //{ // request.Status = -10; // request.UpdateDate = DateTime.Now; // request.UpdateID = user.UserName; // db.Entry(request).State = EntityState.Modified; // db.SaveChanges(); //} #endregion List <string> EmpnoCannotCancel = new List <string>(); foreach (string data in RefNo) { long ID = Convert.ToInt64(data.Replace("DTR_here_", "")); AF_DTRfiling dtrrequest = (from c in db.AF_DTRfiling where c.ID == ID select c).FirstOrDefault(); if (dtrrequest.CreateID == user.UserName) { dtrrequest.Status = -10; db.Entry(dtrrequest).State = EntityState.Modified; db.SaveChanges(); } else { EmpnoCannotCancel.Add(dtrrequest.EmployeeNo); } } return(Json(new { EmpnoCannotCancel = EmpnoCannotCancel }, JsonRequestBehavior.AllowGet)); }
public ActionResult RejectedDTR(List <AF_DTRModel> GetApproved, string ifalter) { string[] Position = { "", "Supervisor", "Manager", "GeneralManager" }; int currentstatus = 0; foreach (AF_DTRModel dtrrequest in GetApproved) { if (dtrrequest.Approved == true) { AF_DTRfiling otfile = new AF_DTRfiling(); otfile = (from c in db.AF_DTRfiling where c.DTR_RefNo == dtrrequest.DTR_RefNo && c.EmployeeNo == dtrrequest.EmployeeNo select c).FirstOrDefault(); currentstatus = (otfile.Status + 1) * -1; otfile.Status = currentstatus; db.Entry(otfile).State = EntityState.Modified; db.SaveChanges(); } } #region update Approver Status //string refno = GetApproved[0].DTR_RefNo; //string pos = (ifalter == "alter") ? "Alternative " + Position[currentstatus] : Position[currentstatus]; //M_Section_ApproverStatus approverstatus = (from c in db.M_Section_ApproverStatus // where c.RefNo == refno // && c.EmployeeNo == user.UserName // && c.Position == pos // select c).FirstOrDefault(); //approverstatus.Approved = -1; //db.Entry(approverstatus).State = EntityState.Modified; //db.SaveChanges(); #endregion return(Json(new { }, JsonRequestBehavior.AllowGet)); }
public ActionResult VerifyUser(string RefNo) { bool releasebtn = false; AF_DTRfiling getStatus = (from c in db.AF_DTRfiling where c.DTR_RefNo == RefNo orderby c.Status descending select c).FirstOrDefault(); List <M_Section_ApproverStatus> approver = (from c in db.M_Section_ApproverStatus where c.RefNo == RefNo select c).ToList(); switch (getStatus.Status) { case 0: approver = approver.Where(x => x.Position == "Supervisor").ToList(); break; case 1: approver = approver.Where(x => x.Position == "Manager").ToList(); break; case 2: approver = approver.Where(x => x.Position == "GeneralManager").ToList(); break; } List <string> userlist = new List <string>(); foreach (M_Section_ApproverStatus username in approver) { userlist.Add(username.EmployeeNo); } //Checker if allowed to approved yet var dateAndTime = DateTime.Now; var date = dateAndTime.Date; var Requestdate = getStatus.CreateDate.Date; if (userlist.Contains(user.UserName) && Requestdate < date) { releasebtn = true; } return(Json(new { releasebtn = releasebtn }, JsonRequestBehavior.AllowGet)); }
public ActionResult ApprovedDTR(List <AF_DTRModel> GetApproved, string ifalter, string OTType) { OTType = (OTType == null) ? "Regular":OTType; string[] Position = { "Supervisor", "Manager", "GeneralManager" }; int currentstatus = 0; int stat = 0, statmax = 0; foreach (AF_DTRModel csrequest in GetApproved) { if (csrequest.Approved == true) { AF_DTRfiling dtrfile = new AF_DTRfiling(); dtrfile = (from c in db.AF_DTRfiling where c.Status > -1 && c.DTR_RefNo == csrequest.DTR_RefNo && c.EmployeeNo == csrequest.EmployeeNo && c.OvertimeType == OTType select c).FirstOrDefault(); currentstatus = dtrfile.Status + 1; dtrfile.Status = (csrequest.Approved == true) ? currentstatus : currentstatus - (currentstatus * 2); db.Entry(dtrfile).State = EntityState.Modified; db.SaveChanges(); stat = dtrfile.Status; statmax = dtrfile.StatusMax; } else { AF_DTRfiling dtrfile = new AF_DTRfiling(); dtrfile = (from c in db.AF_DTRfiling where c.Status > -1 && c.DTR_RefNo == csrequest.DTR_RefNo && c.EmployeeNo == csrequest.EmployeeNo && c.OvertimeType == OTType select c).FirstOrDefault(); currentstatus = dtrfile.Status + 1; dtrfile.Status = (csrequest.Approved == true) ? currentstatus : currentstatus - (currentstatus * 2); db.Entry(dtrfile).State = EntityState.Modified; db.SaveChanges(); } } if (stat == statmax) { SendTheMail(GetApproved[0].DTR_RefNo); } #region update Approver Status string refno = GetApproved[0].DTR_RefNo; string pos = (ifalter == "alter") ? "Alternative " + Position[currentstatus - 1] : Position[currentstatus - 1]; M_Section_ApproverStatus approverstatus = (from c in db.M_Section_ApproverStatus where c.RefNo == refno && c.EmployeeNo == user.UserName && c.Position == pos && c.OverTimeType == OTType select c).FirstOrDefault(); approverstatus.Approved = 1; db.Entry(approverstatus).State = EntityState.Modified; db.SaveChanges(); #endregion db.AF_EmailDTRRequest(refno); return(Json(new { }, JsonRequestBehavior.AllowGet)); }
public ActionResult SaveDTR(AF_DTRfiling Filing, string Reasons, string EmployeeNos, string DTRType, string concerns) { List <string> concernsList = concerns.Split(',').ToList(); List <string> ReasonsList = Reasons.Split(',').ToList(); List <string> EmployeeNosLis = EmployeeNos.Split(',').ToList(); int emploCounter = 0; string DTRRefNo = helper.GenerateDTRRef(); string Section = ""; foreach (string reason in ReasonsList) { string EmploNos = EmployeeNosLis[emploCounter]; string Concern = concernsList[emploCounter]; AF_DTRfiling dtrfile = new AF_DTRfiling(); dtrfile.DTR_RefNo = DTRRefNo; dtrfile.BIPH_Agency = Filing.BIPH_Agency; dtrfile.EmployeeNo = EmploNos; dtrfile.FileType = Filing.FileType; dtrfile.Section = (from c in db.M_Employee_CostCenter where c.EmployNo == EmploNos orderby c.ID descending select c.CostCenter_AMS).FirstOrDefault(); Section = (from c in db.M_Cost_Center_List where c.Cost_Center == dtrfile.Section orderby c.ID descending select c.GroupSection).FirstOrDefault();//otfile.Section;//dtrfile.Section; //dtrfile.Line_Team = 1;// (from c in db.M_Employee_Master_List where c.EmpNo == EmploNos select c.LineID).FirstOrDefault(); dtrfile.OvertimeType = Filing.OvertimeType; dtrfile.DateFrom = Filing.DateFrom.Date; dtrfile.DateTo = Filing.DateTo.AddHours(23).AddMinutes(59).AddSeconds(59); dtrfile.OTin = Filing.OTin; dtrfile.OTout = Filing.OTout; dtrfile.Timein = Filing.Timein; dtrfile.TimeOut = Filing.TimeOut; dtrfile.Reason = reason; dtrfile.Concerns = Concern; dtrfile.Status = 0; //if (EmploNos.Contains("BIPH")) //{ dtrfile.EmployeeAccept = db.TT_GETTIME().FirstOrDefault(); //DateTime.Now;; //} if (DTRType == "HR") { dtrfile.StatusMax = (Filing.OvertimeType == "SundayHoliday") ? 4 : 2; } else { dtrfile.StatusMax = 1; //Supervisor only } dtrfile.CreateID = user.UserName; dtrfile.CreateDate = DateTime.Now; dtrfile.UpdateID = user.UserName; dtrfile.UpdateDate = DateTime.Now; try { db.AF_DTRfiling.Add(dtrfile); db.SaveChanges(); } catch (Exception err) { Error_Logs error = new Error_Logs(); error.PageModule = "Application Form - DTR"; error.ErrorLog = err.Message; error.DateLog = DateTime.Now; error.Username = user.UserName; db.Error_Logs.Add(error); db.SaveChanges(); } emploCounter++; } #region GET approver & Email List <M_Section_Approver> approver = (from c in db.M_Section_Approver where c.Section == Section && c.Position != "GeneralManager" && c.Position != "FactoryGeneralManager" select c).ToList(); #endregion #region Generate OT Status foreach (M_Section_Approver approv in approver) { M_Section_ApproverStatus approverstat = new M_Section_ApproverStatus(); approverstat.Position = approv.Position; approverstat.EmployeeNo = approv.EmployeeNo; approverstat.Section = Section; approverstat.RefNo = DTRRefNo; approverstat.Approved = 0; approverstat.OverTimeType = Filing.OvertimeType; approverstat.CreateID = user.UserName; approverstat.CreateDate = DateTime.Now; approverstat.UpdateID = user.UserName; approverstat.UpdateDate = DateTime.Now; db.M_Section_ApproverStatus.Add(approverstat); db.SaveChanges(); } #endregion return(Json(new { DTRRefNo = DTRRefNo }, JsonRequestBehavior.AllowGet)); }
public JsonResult ReadUploadedFile() { try { var file = Request.Files[0]; int fileSize = file.ContentLength; string fileName = file.FileName; string TodayRefno = helper.GenerateDTRRef(); string Section = ""; List <string> Unregistered = new List <string>(); using (var package = new ExcelPackage(file.InputStream)) { ExcelWorksheet worksheet = package.Workbook.Worksheets[1]; int noOfCol = worksheet.Dimension.End.Column; int noOfRow = worksheet.Dimension.End.Row; int endColumn = worksheet.Dimension.Start.Column; int startColumn = endColumn; int startRowForTable = 12; int totalNoOfTableRow = 30; for (int x = 0; x < totalNoOfTableRow; x++) { string Empno = ""; try { Empno = worksheet.Cells[startRowForTable, 2].Value.ToString(); M_Employee_Master_List Employee = (from c in db.M_Employee_Master_List where c.EmpNo == Empno select c).FirstOrDefault(); if (Employee != null) { AF_DTRfiling bemodify = (from c in db.AF_DTRfiling where c.EmployeeNo == Employee.EmpNo && c.DTR_RefNo == TodayRefno select c).FirstOrDefault(); if (bemodify == null) { #region Creating via upload //Section = user.Section;//Employee.Section; AF_DTRfiling DTRrequest = new AF_DTRfiling(); DTRrequest.DTR_RefNo = TodayRefno; DTRrequest.BIPH_Agency = Employee.Company; DTRrequest.FileType = 3; //Upload DTRrequest.Section = (from c in db.M_Employee_CostCenter where c.EmployNo == Empno orderby c.ID descending select c.CostCenter_AMS).FirstOrDefault(); Section = (from c in db.M_Cost_Center_List where c.Cost_Center == DTRrequest.Section orderby c.ID descending select c.GroupSection).FirstOrDefault(); //otfile.Section; DTRrequest.EmployeeNo = Employee.EmpNo; DTRrequest.OvertimeType = ""; DTRrequest.DateFrom = Convert.ToDateTime(worksheet.Cells[startRowForTable, 6].Value); DTRrequest.DateTo = Convert.ToDateTime(worksheet.Cells[startRowForTable, 7].Value); DTRrequest.Timein = worksheet.Cells[startRowForTable, 8].Value.ToString(); DTRrequest.TimeOut = worksheet.Cells[startRowForTable, 9].Value.ToString(); DTRrequest.OTin = ""; DTRrequest.OTout = ""; //if (Employee.EmpNo.Contains("BIPH")) //{ DTRrequest.EmployeeAccept = db.TT_GETTIME().FirstOrDefault(); //DateTime.Now; //} DTRrequest.Reason = worksheet.Cells[startRowForTable, 5].Value.ToString(); DTRrequest.Status = 0; DTRrequest.StatusMax = 2; DTRrequest.CreateID = user.UserName; DTRrequest.CreateDate = DateTime.Now; DTRrequest.UpdateID = user.UserName; DTRrequest.UpdateDate = DateTime.Now; try { db.AF_DTRfiling.Add(DTRrequest); db.SaveChanges(); } catch (Exception err) { Error_Logs error = new Error_Logs(); error.PageModule = "Application Form - OT Request"; error.ErrorLog = err.Message; error.DateLog = db.TT_GETTIME().FirstOrDefault();//DateTime.Now; error.Username = user.UserName; db.Error_Logs.Add(error); db.SaveChanges(); } #endregion } else { #region modifying via upload //Section = Employee.Section; bemodify.DTR_RefNo = TodayRefno; bemodify.BIPH_Agency = Employee.Company; bemodify.FileType = 3; //Upload bemodify.Section = (from c in db.M_Employee_CostCenter where c.EmployNo == Empno orderby c.ID descending select c.CostCenter_AMS).FirstOrDefault(); Section = (from c in db.M_Cost_Center_List where c.Cost_Center == bemodify.Section orderby c.ID descending select c.GroupSection).FirstOrDefault(); //otfile.Section; bemodify.EmployeeNo = Employee.EmpNo; bemodify.OvertimeType = ""; bemodify.DateFrom = Convert.ToDateTime(worksheet.Cells[startRowForTable, 6].Value); bemodify.DateTo = Convert.ToDateTime(worksheet.Cells[startRowForTable, 7].Value); bemodify.Timein = worksheet.Cells[startRowForTable, 8].Value.ToString(); bemodify.TimeOut = worksheet.Cells[startRowForTable, 9].Value.ToString(); bemodify.OTin = ""; bemodify.OTout = ""; //if (Employee.EmpNo.Contains("BIPH")) //{ bemodify.EmployeeAccept = db.TT_GETTIME().FirstOrDefault(); //DateTime.Now; //} bemodify.Reason = worksheet.Cells[startRowForTable, 5].Value.ToString(); bemodify.Status = 0; bemodify.StatusMax = 2; bemodify.UpdateID = user.UserName; bemodify.UpdateDate = DateTime.Now; try { db.Entry(bemodify).State = EntityState.Modified; db.SaveChanges(); } catch (Exception err) { Error_Logs error = new Error_Logs(); error.PageModule = "Application Form - DTR Request"; error.ErrorLog = err.Message; error.DateLog = db.TT_GETTIME().FirstOrDefault();//DateTime.Now; error.Username = user.UserName; db.Error_Logs.Add(error); db.SaveChanges(); } #endregion } } else { if (Empno != "") { Unregistered.Add(Empno); } } } catch (Exception err) { if (Empno != "") { Unregistered.Add(Empno); } } startRowForTable++; } M_Section_ApproverStatus checker = (from c in db.M_Section_ApproverStatus where c.RefNo == TodayRefno select c).FirstOrDefault(); if (checker == null) { #region GET approver & Email //string SectionID = (from c in db.M_Cost_Center_List // where c.Section == Section // select c.ID).FirstOrDefault().ToString(); List <M_Section_Approver> approver = (from c in db.M_Section_Approver where c.Section == Section select c).ToList(); #endregion #region Generate CS Status foreach (M_Section_Approver approv in approver) { M_Section_ApproverStatus approverstat = new M_Section_ApproverStatus(); approverstat.Position = approv.Position; approverstat.EmployeeNo = approv.EmployeeNo; approverstat.Section = Section; approverstat.RefNo = TodayRefno; approverstat.Approved = 0; approverstat.OverTimeType = ""; approverstat.CreateID = user.UserName; approverstat.CreateDate = DateTime.Now; approverstat.UpdateID = user.UserName; approverstat.UpdateDate = DateTime.Now; db.M_Section_ApproverStatus.Add(approverstat); db.SaveChanges(); } #endregion } return(Json(new { Unregistered = Unregistered, Failed = "" }, JsonRequestBehavior.AllowGet)); } } catch (Exception Err) { return(Json(new { Failed = "Failed" }, JsonRequestBehavior.AllowGet)); } }