public ActionResult RejectedCS(List <AF_CSModel> GetApproved, string ifalter) { string[] Position = { "Supervisor", "Manager" }; int currentstatus = 0; string CSRefNo = ""; foreach (AF_CSModel otrequest in GetApproved) { if (otrequest.Approved == true) { CSRefNo = otrequest.CS_RefNo; AF_ChangeSchedulefiling otfile = new AF_ChangeSchedulefiling(); otfile = (from c in db.AF_ChangeSchedulefiling where c.CS_RefNo == otrequest.CS_RefNo && c.EmployeeNo == otrequest.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].CS_RefNo; db.AF_EmailCSRequest_Rejected(CSRefNo); //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 select c).FirstOrDefault(); approverstatus.Approved = 1; approverstatus.ApprovedDate = db.TT_GETTIME().FirstOrDefault(); db.Entry(approverstatus).State = EntityState.Modified; db.SaveChanges(); #endregion return(Json(new { }, JsonRequestBehavior.AllowGet)); }
public JsonResult ReadUploadedFile() { try { var file = Request.Files[0]; int fileSize = file.ContentLength; string fileName = file.FileName; string TodayRefno = helper.GenerateCSRef(); 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 = 14; 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_ChangeSchedulefiling bemodify = (from c in db.AF_ChangeSchedulefiling where c.EmployeeNo == Employee.EmpNo && c.CS_RefNo == TodayRefno select c).FirstOrDefault(); if (bemodify == null) { #region Creating via upload //Section = user.Section;//Employee.Section; AF_ChangeSchedulefiling CSrequest = new AF_ChangeSchedulefiling(); CSrequest.CS_RefNo = TodayRefno; CSrequest.BIPH_Agency = Employee.Company; CSrequest.FileType = 3; //Upload CSrequest.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 == CSrequest.Section orderby c.ID descending select c.GroupSection).FirstOrDefault(); //otfile.Section; CSrequest.EmployeeNo = Employee.EmpNo; CSrequest.CSType = worksheet.Cells[startRowForTable, 4].Value.ToString(); CSrequest.DateFrom = Convert.ToDateTime(worksheet.Cells[startRowForTable, 5].Value); CSrequest.DateTo = Convert.ToDateTime(worksheet.Cells[startRowForTable, 6].Value); DateTime csin = Convert.ToDateTime(worksheet.Cells[startRowForTable, 7].Value.ToString()); DateTime csout = Convert.ToDateTime(worksheet.Cells[startRowForTable, 8].Value.ToString()); CSrequest.CSin = csin.ToString("HH:mm"); CSrequest.CSout = csout.ToString("HH:mm"); //if (Employee.EmpNo.Contains("BIPH")) //{ CSrequest.EmployeeAccept = db.TT_GETTIME().FirstOrDefault(); //DateTime.Now;; //} CSrequest.Reason = worksheet.Cells[startRowForTable, 9].Value.ToString(); CSrequest.Status = 0; CSrequest.StatusMax = 2; CSrequest.CreateID = user.UserName; CSrequest.CreateDate = DateTime.Now;; CSrequest.UpdateID = user.UserName; CSrequest.UpdateDate = DateTime.Now;; try { db.AF_ChangeSchedulefiling.Add(CSrequest); 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.CS_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.CSType = worksheet.Cells[startRowForTable, 4].Value.ToString(); bemodify.DateFrom = Convert.ToDateTime(worksheet.Cells[startRowForTable, 5].Value); bemodify.DateTo = Convert.ToDateTime(worksheet.Cells[startRowForTable, 6].Value); DateTime csin = Convert.ToDateTime(worksheet.Cells[startRowForTable, 7].Value.ToString()); DateTime csout = Convert.ToDateTime(worksheet.Cells[startRowForTable, 8].Value.ToString()); bemodify.CSin = csin.ToString("HH:mm"); bemodify.CSout = csout.ToString("HH:mm"); bemodify.Reason = worksheet.Cells[startRowForTable, 9].Value.ToString(); bemodify.Status = 0; bemodify.StatusMax = 2; bemodify.UpdateID = user.UserName; bemodify.UpdateDate = DateTime.Now;; if (Employee.EmpNo.Contains("BIPH")) { bemodify.EmployeeAccept = db.TT_GETTIME().FirstOrDefault();//DateTime.Now;; } try { db.Entry(bemodify).State = EntityState.Modified; db.SaveChanges(); } catch (Exception err) { Error_Logs error = new Error_Logs(); error.PageModule = "Application Form - CS 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.Cost_Center == 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 = helper.GenerateCSRef(); 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)); } }
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 ApprovedOT(List <AF_OTModel> GetApproved, string ifalter, string OTType) { string[] Position = { "Supervisor", "Manager", "GeneralManager", "FactoryGeneralManager" }; int currentstatus = 0; int stat = 0, statmax = 0; foreach (AF_OTModel otrequest in GetApproved) { if (otrequest.Approved == true) { AF_OTfiling otfile = new AF_OTfiling(); otfile = (from c in db.AF_OTfiling where c.Status > -1 && c.OT_RefNo == otrequest.OT_RefNo && c.EmployeeNo == otrequest.EmployeeNo && c.OvertimeType == OTType select c).FirstOrDefault(); currentstatus = otfile.Status + 1; otfile.Status = (otrequest.Approved == true) ? currentstatus : currentstatus - (currentstatus * 2); db.Entry(otfile).State = EntityState.Modified; if (otfile.StatusMax == otfile.Status) { #region Cumulative OT //Save Cummulative AF_OTfiling_Cumulative Employee_Cumulative = new AF_OTfiling_Cumulative(); Employee_Cumulative.OT_RefNo = otfile.OT_RefNo; Employee_Cumulative.Schedule = (from c in db.M_Employee_Master_List_Schedule where c.EmployeeNo == otrequest.EmployeeNo orderby c.ScheduleID descending select c.ScheduleID).FirstOrDefault(); Employee_Cumulative.ShiftIn = (from c in db.M_Schedule where c.ID == Employee_Cumulative.Schedule select c.Timein).FirstOrDefault(); Employee_Cumulative.ShiftOut = (from c in db.M_Schedule where c.ID == Employee_Cumulative.Schedule select c.TimeOut).FirstOrDefault(); Employee_Cumulative.OTIn = otfile.OTin; Employee_Cumulative.OTOut = otfile.OTout; Employee_Cumulative.OTDate = DateTime.ParseExact(DateTime.Now.ToString("yyyy-MM-dd HH:mm tt"), "yyyy-MM-dd HH:mm tt", System.Globalization.CultureInfo.InvariantCulture); DateTime ShiftStart = DateTime.Parse(Employee_Cumulative.ShiftIn.ToString()); DateTime ShiftEnd = DateTime.Parse(Employee_Cumulative.ShiftOut.ToString()); DateTime OTStart = DateTime.Parse(Employee_Cumulative.OTIn.ToString()); DateTime OTEnd = DateTime.Parse(Employee_Cumulative.OTOut.ToString()); TimeSpan duration = new TimeSpan(); if (ShiftStart > ShiftEnd) { ShiftEnd = ShiftEnd.AddDays(1); } if (OTStart > OTEnd) { OTEnd = OTEnd.AddDays(1); } if (ShiftEnd == OTStart) { duration = OTEnd.Subtract(ShiftEnd); } else if (OTStart < ShiftEnd) { // OTStart = ShiftEnd; duration = OTEnd.Subtract(OTStart); } else { duration = OTEnd.Subtract(OTStart); } double Diffminutes = duration.TotalMinutes; double Cummulativenow = Diffminutes / 60; Employee_Cumulative.OTHours = Convert.ToDecimal(Cummulativenow); Employee_Cumulative.EmployeeNo = otfile.EmployeeNo; //Employee_Cumulative.OTDate = Filing.DateFrom; Employee_Cumulative.CreateID = user.UserName; Employee_Cumulative.CreateDate = DateTime.ParseExact(DateTime.Now.ToString("yyyy-MM-dd HH:mm tt"), "yyyy-MM-dd HH:mm tt", System.Globalization.CultureInfo.InvariantCulture); Employee_Cumulative.UpdateID = user.UserName; Employee_Cumulative.UpdateDate = DateTime.ParseExact(DateTime.Now.ToString("yyyy-MM-dd HH:mm tt"), "yyyy-MM-dd HH:mm tt", System.Globalization.CultureInfo.InvariantCulture); db.AF_OTfiling_Cumulative.Add(Employee_Cumulative); db.SaveChanges(); #endregion } stat = otfile.Status; statmax = otfile.StatusMax; db.SaveChanges(); } else { AF_OTfiling otfile = new AF_OTfiling(); otfile = (from c in db.AF_OTfiling where c.Status > -1 && c.OT_RefNo == otrequest.OT_RefNo && c.EmployeeNo == otrequest.EmployeeNo && c.OvertimeType == OTType select c).FirstOrDefault(); currentstatus = otfile.Status + 1; otfile.Status = (otrequest.Approved == true) ? currentstatus : currentstatus - (currentstatus * 2); db.Entry(otfile).State = EntityState.Modified; db.SaveChanges(); } } if (stat == statmax) { SendTheMail(GetApproved[0].OT_RefNo); } #region update Approver Status string refno = GetApproved[0].OT_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_EmailOTRequest(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.GenerateOTRef(); string Section = ""; string OTType = ""; List <AF_OTfiling> OTFilingList = new List <AF_OTfiling>(); 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 = 16; int totalNoOfTableRow = 25; #region Find Type if (worksheet.Cells[12, 3].Value.ToString().ToLower().Contains("x")) { OTType = "SundayHoliday"; } else if (worksheet.Cells[11, 6].Value.ToString().ToLower().Contains("x")) { OTType = "LegalHoliday"; } else if (worksheet.Cells[12, 6].Value.ToString().ToLower().Contains("x")) { OTType = "SpecialHoliday"; } else { OTType = "Regular"; } #endregion for (int x = 0; x < totalNoOfTableRow; x++) { string Empno = ""; try { Empno = worksheet.Cells[startRowForTable, 3].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_OTfiling bemodify = (from c in db.AF_OTfiling where c.EmployeeNo == Employee.EmpNo && c.OT_RefNo == TodayRefno select c).FirstOrDefault(); if (bemodify == null) { #region Creating via upload AF_OTfiling OTrequest = new AF_OTfiling(); OTrequest.OT_RefNo = TodayRefno; OTrequest.BIPH_Agency = Employee.Company; OTrequest.FileType = 3; //Upload OTrequest.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 == OTrequest.Section orderby c.ID descending select c.GroupSection).FirstOrDefault(); //otfile.Section; OTrequest.EmployeeNo = Employee.EmpNo; OTrequest.OvertimeType = OTType; OTrequest.DateFrom = Convert.ToDateTime(worksheet.Cells[6, 9].Value); OTrequest.DateTo = Convert.ToDateTime(worksheet.Cells[6, 9].Value); OTrequest.OTin = worksheet.Cells[startRowForTable, 5].Value.ToString(); OTrequest.OTout = worksheet.Cells[startRowForTable, 6].Value.ToString(); OTrequest.Purpose = worksheet.Cells[startRowForTable, 8].Value.ToString(); OTrequest.Status = 0; OTrequest.StatusMax = (OTrequest.OvertimeType == "SundayHoliday") ? 4 : 2; OTrequest.EmployeeAccept = db.TT_GETTIME().FirstOrDefault(); OTrequest.CreateID = user.UserName; OTrequest.CreateDate = DateTime.Now;; OTrequest.UpdateID = user.UserName; OTrequest.UpdateDate = DateTime.Now;; try { db.AF_OTfiling.Add(OTrequest); 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.CostCode; bemodify.OT_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 = OTType; bemodify.DateFrom = Convert.ToDateTime(worksheet.Cells[6, 8].Value); bemodify.DateTo = Convert.ToDateTime(worksheet.Cells[6, 8].Value); bemodify.OTin = worksheet.Cells[startRowForTable, 4].Value.ToString(); bemodify.OTout = worksheet.Cells[startRowForTable, 5].Value.ToString(); bemodify.Purpose = worksheet.Cells[startRowForTable, 7].Value.ToString(); bemodify.Status = 0; bemodify.StatusMax = (bemodify.OvertimeType == "SundayHoliday") ? 4 : 2; bemodify.EmployeeAccept = db.TT_GETTIME().FirstOrDefault(); 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 - 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 { if (Empno != "") { Unregistered.Add(Empno); } } } catch (Exception err) { if (Empno != "") { Unregistered.Add(Empno); } 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(); //return Json(new { Failed = "Failed" }, JsonRequestBehavior.AllowGet); } 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.Cost_Center == 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 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 = helper.GenerateOTRef(); approverstat.Approved = 0; approverstat.OverTimeType = OTType; 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)); } }
public ActionResult SaveOT(AF_OTfiling Filing, string Purposes, string EmployeeNos) { try { List <string> PurposeList = Purposes.Split(',').ToList(); List <string> EmployeeNosLis = EmployeeNos.Split(',').ToList(); int emploCounter = 0; string OTRefnow = helper.GenerateOTRef(); //long SectionID = 0; string Section = ""; foreach (string purpose in PurposeList) { string EmploNos = EmployeeNosLis[emploCounter]; AF_OTfiling otfile = new AF_OTfiling(); otfile.OT_RefNo = OTRefnow; otfile.BIPH_Agency = Filing.BIPH_Agency; otfile.EmployeeNo = EmploNos; otfile.FileType = Filing.FileType; long?Schedule_current = (from c in db.M_Employee_Master_List_Schedule where c.EmployeeNo == EmploNos orderby c.ID descending select c.ScheduleID).FirstOrDefault(); otfile.ScheduleID = Schedule_current; otfile.Section = (from c in db.M_Employee_CostCenter where c.EmployNo == EmploNos orderby c.ID descending select c.CostCenter_AMS).FirstOrDefault(); //SectionID = otfile.Section; Section = (from c in db.M_Cost_Center_List where c.Cost_Center == otfile.Section orderby c.ID descending select c.GroupSection).FirstOrDefault();//otfile.Section; otfile.OvertimeType = Filing.OvertimeType; otfile.DateFrom = Filing.DateFrom.Date; otfile.DateTo = Filing.DateFrom.Date; otfile.OTin = Filing.OTin; otfile.OTout = Filing.OTout; otfile.Purpose = purpose; otfile.Status = 0; otfile.StatusMax = (otfile.OvertimeType == "SundayHoliday") ? 4 : 2; //if (EmploNos.Contains("BIPH")) //{ otfile.EmployeeAccept = db.TT_GETTIME().FirstOrDefault(); //DateTime.Now;; //} otfile.CreateID = user.UserName; otfile.CreateDate = DateTime.Now; otfile.UpdateID = user.UserName; otfile.UpdateDate = DateTime.Now;; try { db.AF_OTfiling.Add(otfile); 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(); } emploCounter++; } M_Section_ApproverStatus checker = (from c in db.M_Section_ApproverStatus where c.RefNo == OTRefnow && c.OverTimeType == Filing.OvertimeType select c).FirstOrDefault(); if (checker == null) { #region GET approver & Email //string SectionID = (from c in db.M_Cost_Center_List // where c.Cost_Center == 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(); #region EMAIL FUNCTION TRANSFER TO SERVER JOBS //try //{ // db.AF_EmailOTRequest(); //} //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(); //} //EmailApproverController email = new EmailApproverController(); ////M_Employee_Master_List getSupervisor = (from c in db.M_Employee_Master_List where c.EmpNo == approver.Supervisor select c).FirstOrDefault(); //email.sendMail("OT Approval", approver, OTRefnow, Session["emailpath"].ToString()); #endregion #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 = OTRefnow; 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 { OTRefnow = OTRefnow }, JsonRequestBehavior.AllowGet)); } 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(); return(Json(new { OTRefnow = "" }, JsonRequestBehavior.AllowGet)); } }
public ActionResult ApprovedCS(List <AF_CSModel> GetApproved, string ifalter) { string[] Position = { "Supervisor", "Manager" }; int currentstatus = 0; int stat = 0, statmax = 0; string refno = GetApproved[0].CS_RefNo; foreach (AF_CSModel csrequest in GetApproved) { if (csrequest.Approved == true) { AF_ChangeSchedulefiling csfile = new AF_ChangeSchedulefiling(); csfile = (from c in db.AF_ChangeSchedulefiling where c.Status > -1 && c.CS_RefNo == csrequest.CS_RefNo && c.EmployeeNo == csrequest.EmployeeNo select c).FirstOrDefault(); currentstatus = csfile.Status + 1; csfile.Status = (csrequest.Approved == true) ? currentstatus : currentstatus - (currentstatus * 2); if (csfile.Status >= csfile.StatusMax) { csfile.Status = 2; } db.Entry(csfile).State = EntityState.Modified; db.SaveChanges(); stat = csfile.Status; statmax = csfile.StatusMax; } else { AF_ChangeSchedulefiling csfile = new AF_ChangeSchedulefiling(); csfile = (from c in db.AF_ChangeSchedulefiling where c.Status > -1 && c.CS_RefNo == csrequest.CS_RefNo && c.EmployeeNo == csrequest.EmployeeNo select c).FirstOrDefault(); currentstatus = csfile.Status + 1; csfile.Status = (csrequest.Approved == true) ? currentstatus : currentstatus - (currentstatus * 2); if (csfile.Status >= csfile.StatusMax) { csfile.Status = 2; } db.Entry(csfile).State = EntityState.Modified; db.SaveChanges(); } } #region update Approver Status //string pos = (ifalter == "alter") ? "Alternative " + Position[currentstatus] : Position[currentstatus - 1]; M_Section_ApproverStatus approverstatus = (from c in db.M_Section_ApproverStatus where c.RefNo == refno && c.EmployeeNo == user.UserName //&& c.EmployeeNo_CSRequest == csrequest.EmployeeNo //&& c.Position == pos select c).FirstOrDefault(); approverstatus.ApprovedDate = db.TT_GETTIME().FirstOrDefault(); approverstatus.Approved = 1; db.Entry(approverstatus).State = EntityState.Modified; db.SaveChanges(); #endregion if (stat == statmax) { db.AF_UpdateApprovedSchedule(refno); //SendTheMail(GetApproved[0].CS_RefNo); } db.AF_EmailCSRequest(refno); return(Json(new { }, JsonRequestBehavior.AllowGet)); }