public JsonResult TimesheetReject(string[] DATA) { try { foreach (string i in DATA) { ActionItems res = JsonConvert.DeserializeObject <ActionItems>(i); NewEntryModel existing = DB.EmpTimeSheet.Find(res.TsID); if (existing != null) { existing.Status = Convert.ToInt64(ReadConfig.GetValue("StatusRejected")); existing.ApproveRejectComments = ""; existing.ApproveRejectStatus = "R"; existing.ApproveRejectUser = (long)Session[Constants.SessionEmpID]; existing.ApproveRejectDate = DateTime.Now; DB.EmpTimeSheet.Attach(existing); DB.Entry(existing).State = System.Data.Entity.EntityState.Modified; DB.SaveChanges(); } } } catch (Exception ex) { TempData["Error"] = ex.ToString(); LogHelper.ErrorLog(ex); } return(Json(new { data = true })); }
public async Task <IActionResult> PostEntries([FromBody] NewEntryModel entry) { _logger.LogInformation($"PostEntryAsync called"); var user = await _userManager.GetUserAsync(User); if (user == null) { return(Unauthorized()); } Entry NewEntry = new Entry() { Website = entry.Website, UserName = entry.UserName, Password = entry.Password, User = user }; var result = _db.Entries.AddAsync(NewEntry); await _db.SaveChangesAsync(); return(Ok(NewEntry)); }
private decimal CalculateInvolvementPercentage(long _empId, decimal editDays, NewEntryModel newEntryModel) { WorkDaysModel obj = DB.Workdays.FirstOrDefault(x => x.EmpID == _empId && x.InvolveMonth == newEntryModel.InvolveMonth.Date); decimal empDaysCount = obj == null ? 0 : obj.DaysCount; if (obj == null) { empDaysCount = DB.Settings.Where(x => x.SetCode == "ManDays").First().SetValue; } decimal involveMentPercentage = (editDays * 100) / Convert.ToDecimal(empDaysCount); return(involveMentPercentage); }
public async Task <ActionResult> Editing_Update(DataSourceRequest request, NewEntryByProjectSelection[] MODEL) { ViewBag.ProjectList = DropdownList.ProjectList((long)Session[Constants.SessionEmpID], (long)(Session[Constants.SessionRoleID])); ViewBag.EmployeeList = DropdownList.EmployeeList(); ViewBag.Quadrent = GetQuardrent(); if (MODEL != null) { try { long _entryId = (long)Session[Constants.SessionEmpID]; string quarter = MODEL.Any() ? MODEL[0].Quarter : GetQuarter(); var listMonth = (from Quart in DB.Quarter where Quart.Quarter == quarter select new { Quart.Month }).ToList(); string month1 = DateTime.Now.ToString("yyyy/" + listMonth[0].Month + "/01"); string month2 = DateTime.Now.ToString("yyyy/" + listMonth[1].Month + "/01"); string month3 = DateTime.Now.ToString("yyyy/" + listMonth[2].Month + "/01"); int currentmonth = GetQuarter() == quarter ? DateTime.Now.Month : Convert.ToInt32(listMonth[2].Month); List <KeyValuePair <string, string> > emailStatus = new List <KeyValuePair <string, string> >(); if (MODEL != null && ModelState.IsValid) { foreach (NewEntryByProjectSelection product in MODEL) { int _currentNumber = 0; IQueryable <int> items = DB.EmpTimeSheet.OrderByDescending(u => u.SequenceNo).Take(1).Select(e => e.SequenceNo); foreach (int ir in items) { _currentNumber = ir; } if (_currentNumber == 0) { _currentNumber = 100; } else { _currentNumber++; } if (currentmonth == Convert.ToInt32(listMonth[0].Month)) { NewEntryModel newEntryModel = new NewEntryModel(); newEntryModel.InvolveMonth = Convert.ToDateTime(month1); newEntryModel.DaysCount = Convert.ToDecimal(product.InvolvementDays1); newEntryModel.DaysEditCount = Convert.ToDecimal(product.InvolvementEditDays1); newEntryModel.InvolvePercent = CalculateInvolvementPercentage(product.EmployeeID, product.InvolvementEditDays1, newEntryModel); NewEntryModel exists = DB.EmpTimeSheet.FirstOrDefault(x => x.InvolveMonth == newEntryModel.InvolveMonth && x.EmpId == product.EmployeeID && x.ProjectID == product.ProjectID); if (exists != null) { newEntryModel.TsID = exists.TsID; newEntryModel.RefNo = exists.RefNo; newEntryModel.SequenceNo = exists.SequenceNo; newEntryModel.EntryBy = (long)Session[Constants.SessionEmpID]; //empid newEntryModel.EntryDate = DateTime.Now; newEntryModel.Quart = quarter; newEntryModel.EntryRole = (long)Session[Constants.SessionRoleID]; newEntryModel.EmpId = product.EmployeeID; //empid newEntryModel.ProjectID = product.ProjectID; newEntryModel.EmpRemarks = ""; newEntryModel.ApproveRejectComments = ""; newEntryModel.ApproveRejectStatus = "A"; newEntryModel.ApproveRejectUser = (long)Session[Constants.SessionEmpID]; newEntryModel.ApproveRejectDate = DateTime.Now; newEntryModel.Status = Convert.ToInt64(ReadConfig.GetValue("StatusApproved")); DB.Entry(exists).CurrentValues.SetValues(newEntryModel); DB.SaveChanges(); } else { if (newEntryModel.DaysEditCount != 0 || product.IsEdit1) { newEntryModel.RefNo = AutoGen.GetReferenceNumber(); newEntryModel.SequenceNo = _currentNumber; newEntryModel.EntryBy = _entryId; //empid newEntryModel.EntryDate = DateTime.Now; newEntryModel.EntryRole = (long)Session[Constants.SessionRoleID]; newEntryModel.EmpId = product.EmployeeID; //empid newEntryModel.ProjectID = product.ProjectID; newEntryModel.Quart = quarter; newEntryModel.EmpRemarks = ""; newEntryModel.ApproveRejectComments = ""; newEntryModel.ApproveRejectStatus = "A"; newEntryModel.ApproveRejectUser = (long)Session[Constants.SessionEmpID]; newEntryModel.ApproveRejectDate = DateTime.Now; newEntryModel.Status = Convert.ToInt64(ReadConfig.GetValue("StatusApproved")); DB.EmpTimeSheet.Add(newEntryModel); DB.SaveChanges(); } } } if (currentmonth == Convert.ToInt32(listMonth[1].Month)) { foreach (string month in months) { NewEntryModel newEntryModel = new NewEntryModel(); bool isEdit = false; if (month == months[0]) { newEntryModel.InvolveMonth = Convert.ToDateTime(month1); newEntryModel.DaysCount = Convert.ToDecimal(product.InvolvementDays1); newEntryModel.DaysEditCount = Convert.ToDecimal(product.InvolvementEditDays1); newEntryModel.InvolvePercent = CalculateInvolvementPercentage(product.EmployeeID, product.InvolvementEditDays1, newEntryModel); isEdit = product.IsEdit1; } if (month == months[1]) { newEntryModel.InvolveMonth = Convert.ToDateTime(month2); newEntryModel.DaysCount = Convert.ToDecimal(product.InvolvementDays2); newEntryModel.DaysEditCount = Convert.ToDecimal(product.InvolvementEditDays2); newEntryModel.InvolvePercent = CalculateInvolvementPercentage(product.EmployeeID, product.InvolvementEditDays2, newEntryModel); isEdit = product.IsEdit2; } if (newEntryModel.DaysEditCount != 0 || isEdit) { NewEntryModel exists = DB.EmpTimeSheet.FirstOrDefault(x => x.InvolveMonth == newEntryModel.InvolveMonth && x.EmpId == product.EmployeeID && x.ProjectID == product.ProjectID); if (ModelState.IsValid) { if (exists != null) { newEntryModel.TsID = exists.TsID; newEntryModel.RefNo = exists.RefNo; newEntryModel.SequenceNo = exists.SequenceNo; newEntryModel.EntryBy = (long)Session[Constants.SessionEmpID]; //empid newEntryModel.EntryDate = DateTime.Now; newEntryModel.Quart = quarter; newEntryModel.EntryRole = (long)Session[Constants.SessionRoleID]; newEntryModel.EmpId = product.EmployeeID; //empid newEntryModel.ProjectID = product.ProjectID; newEntryModel.EmpRemarks = ""; newEntryModel.ApproveRejectComments = ""; newEntryModel.ApproveRejectStatus = "A"; newEntryModel.ApproveRejectUser = (long)Session[Constants.SessionEmpID]; newEntryModel.ApproveRejectDate = DateTime.Now; newEntryModel.Status = Convert.ToInt64(ReadConfig.GetValue("StatusApproved")); DB.Entry(exists).CurrentValues.SetValues(newEntryModel); DB.SaveChanges(); } else { newEntryModel.RefNo = AutoGen.GetReferenceNumber(); newEntryModel.SequenceNo = _currentNumber; newEntryModel.EntryBy = _entryId; //empid newEntryModel.EntryDate = DateTime.Now; newEntryModel.EntryRole = (long)Session[Constants.SessionRoleID]; newEntryModel.EmpId = product.EmployeeID; //empid newEntryModel.ProjectID = product.ProjectID; newEntryModel.Quart = quarter; newEntryModel.EmpRemarks = ""; newEntryModel.ApproveRejectComments = ""; newEntryModel.ApproveRejectStatus = "A"; newEntryModel.ApproveRejectUser = (long)Session[Constants.SessionEmpID]; newEntryModel.ApproveRejectDate = DateTime.Now; newEntryModel.Status = Convert.ToInt64(ReadConfig.GetValue("StatusApproved")); DB.EmpTimeSheet.Add(newEntryModel); DB.SaveChanges(); } } else { TempData["Error"] = ResourceMessage.DayscountExceed; //return View("Index", BindData(model.QID)); } } } } if (currentmonth == Convert.ToInt32(listMonth[2].Month)) { foreach (string month in months) { NewEntryModel newEntryModel = new NewEntryModel(); bool isEdit = false; if (month == months[0]) { newEntryModel.InvolveMonth = Convert.ToDateTime(month1); newEntryModel.DaysCount = Convert.ToDecimal(product.InvolvementDays1); newEntryModel.DaysEditCount = Convert.ToDecimal(product.InvolvementEditDays1); newEntryModel.InvolvePercent = CalculateInvolvementPercentage(product.EmployeeID, product.InvolvementEditDays1, newEntryModel); isEdit = product.IsEdit1; } if (month == months[1]) { newEntryModel.InvolveMonth = Convert.ToDateTime(month2); newEntryModel.DaysCount = Convert.ToDecimal(product.InvolvementDays2); newEntryModel.DaysEditCount = Convert.ToDecimal(product.InvolvementEditDays2); newEntryModel.InvolvePercent = CalculateInvolvementPercentage(product.EmployeeID, product.InvolvementEditDays2, newEntryModel); isEdit = product.IsEdit2; } if (month == months[2]) { newEntryModel.InvolveMonth = Convert.ToDateTime(month3); newEntryModel.DaysCount = Convert.ToDecimal(product.InvolvementDays3); newEntryModel.DaysEditCount = Convert.ToDecimal(product.InvolvementEditDays3); newEntryModel.InvolvePercent = CalculateInvolvementPercentage(product.EmployeeID, product.InvolvementEditDays3, newEntryModel); isEdit = product.IsEdit3; } if (newEntryModel.DaysEditCount != 0 || isEdit) { NewEntryModel exists = DB.EmpTimeSheet.FirstOrDefault(x => x.InvolveMonth == newEntryModel.InvolveMonth && x.EmpId == product.EmployeeID && x.ProjectID == product.ProjectID); if (ModelState.IsValid) { if (exists != null) { newEntryModel.TsID = exists.TsID; newEntryModel.RefNo = exists.RefNo; newEntryModel.SequenceNo = exists.SequenceNo; newEntryModel.EntryBy = (long)Session[Constants.SessionEmpID]; //empid newEntryModel.EntryDate = DateTime.Now; newEntryModel.Quart = quarter; newEntryModel.EntryRole = (long)Session[Constants.SessionRoleID]; newEntryModel.EmpId = product.EmployeeID; //empid newEntryModel.ProjectID = product.ProjectID; newEntryModel.EmpRemarks = ""; newEntryModel.ApproveRejectComments = ""; newEntryModel.ApproveRejectStatus = "A"; newEntryModel.ApproveRejectUser = (long)Session[Constants.SessionEmpID]; newEntryModel.ApproveRejectDate = DateTime.Now; newEntryModel.Status = Convert.ToInt64(ReadConfig.GetValue("StatusApproved")); DB.Entry(exists).CurrentValues.SetValues(newEntryModel); DB.SaveChanges(); } else { newEntryModel.RefNo = AutoGen.GetReferenceNumber(); newEntryModel.SequenceNo = _currentNumber; newEntryModel.EntryBy = _entryId; //empid newEntryModel.EntryDate = DateTime.Now; newEntryModel.EntryRole = (long)Session[Constants.SessionRoleID]; newEntryModel.EmpId = product.EmployeeID; //empid newEntryModel.ProjectID = product.ProjectID; newEntryModel.Quart = quarter; newEntryModel.EmpRemarks = ""; newEntryModel.ApproveRejectComments = ""; newEntryModel.ApproveRejectStatus = "A"; newEntryModel.ApproveRejectUser = (long)Session[Constants.SessionEmpID]; newEntryModel.ApproveRejectDate = DateTime.Now; newEntryModel.Status = Convert.ToInt64(ReadConfig.GetValue("StatusApproved")); DB.EmpTimeSheet.Add(newEntryModel); DB.SaveChanges(); } } else { TempData["Error"] = ResourceMessage.DayscountExceed; //return View("Index", BindData(model.QID)); } } } } if ((product.IsEdit1 && product.InvolvementEditDays1 > 0) || (product.IsEdit2 && product.InvolvementEditDays2 > 0) || (product.IsEdit3 && product.InvolvementEditDays3 > 0)) { var SubmittedMonths = new List <string>(); if (product.IsEdit1 && product.InvolvementEditDays1 > 0) { SubmittedMonths.Add(product.Month1 + " " + Convert.ToDateTime(month1).Year); } if (product.IsEdit2 && product.InvolvementEditDays2 > 0) { SubmittedMonths.Add(product.Month2 + " " + Convert.ToDateTime(month2).Year); } if (product.IsEdit3 && product.InvolvementEditDays3 > 0) { SubmittedMonths.Add(product.Month3 + " " + Convert.ToDateTime(month3).Year); } string projectName = DB.ProjectMaster.FirstOrDefault(x => x.ProjectID == product.ProjectID).ProjectName; var projectManagers = (from x in DB.ProjectEmployee.Where(x => x.ProjectID == product.ProjectID && x.EmployeeID != product.EmployeeID && x.CheckRole) join y in DB.Employee on x.EmployeeID equals y.EmployeeID join z in DB.User on y.UserID equals z.UserID select new { z.Email, y.EmpFirstName, y.EmpLastName, y.EmpMiddleName }).ToList <dynamic>(); if (SubmittedMonths.Any() && projectManagers.Any()) { var emp = DB.Employee.FirstOrDefault(x => x.EmployeeID == product.EmployeeID); var emailObj = new TimeSheetSubmissionEmailModel() { EmpName = Models.Common.GetName(emp.EmpFirstName, emp.EmpLastName, emp.EmpMiddleName), ManagerInfo = projectManagers, ProjectName = projectName, SubmissionDates = string.Join(", ", SubmittedMonths) }; bool emailResult = await Email.SendTimeSubmissionEmail(emailObj); if (!emailResult) { emailStatus.Add(new KeyValuePair <string, string>(emailObj.EmpName, projectName)); } } } } } return(Json(new { MODEL, emailStatus })); } catch (Exception ex) { LogHelper.ErrorLog(ex); throw ex; } } else { ViewBag.Quadrent = GetQuardrent(); long empId = (long)Session[Constants.SessionEmpID]; ViewBag.QuarterList = DropdownList.PreviousAndQuarterListNewEntryOnBehalf(empId); NewEntryByProjectSelection model = new NewEntryByProjectSelection { Quarter = ViewBag.Quadrent, Month1 = "Jan-2019" }; return(View("Index", model)); } }
public async Task <ActionResult> Submit(NewEntryBox model) { long _empId = (long)Session[Constants.SessionEmpID]; string _empName = Session[Constants.SessionEmpName].ToString(); List <string> emailStatus = new List <string>(); try { decimal edit1 = 0; decimal edit2 = 0; decimal edit3 = 0; model.Items[model.Items.Count - 1].InvolvementEditDays1 = 0; model.Items[model.Items.Count - 1].InvolvementEditDays2 = 0; model.Items[model.Items.Count - 1].InvolvementEditDays3 = 0; for (int i = 0; i < model.Items.Count - 1; i++) { edit1 = edit1 + model.Items[i].InvolvementEditDays1; edit2 = edit2 + model.Items[i].InvolvementEditDays2; edit3 = edit3 + model.Items[i].InvolvementEditDays3; } model.Items[model.Items.Count - 1].InvolvementEditDays1 = edit1; model.Items[model.Items.Count - 1].InvolvementEditDays2 = edit2; model.Items[model.Items.Count - 1].InvolvementEditDays3 = edit3; if (Convert.ToDouble(model.Items[model.Items.Count - 1].InvolvementDays1) < Convert.ToDouble(model.Items[model.Items.Count - 1].InvolvementEditDays1) || Convert.ToDouble(model.Items[model.Items.Count - 1].InvolvementDays2) < Convert.ToDouble(model.Items[model.Items.Count - 1].InvolvementEditDays2) || Convert.ToDouble(model.Items[model.Items.Count - 1].InvolvementDays3) < Convert.ToDouble(model.Items[model.Items.Count - 1].InvolvementEditDays3)) { ViewBag.ErrorMessage = "Total Input is more than allowable days, Please adjust your timesheet"; ViewBag.QuarterList = model.QID; ViewBag.QuarterList = DropdownList.PreviousAndQuarterList(_empId, true); return(View("Index", BindData(model.QID))); } if (model != null) { int roleId = Convert.ToInt32(Session[Constants.SessionRoleID]); foreach (BoxItems item in model.Items.Where(x => x.IsEdit1 || x.IsEdit2 || x.IsEdit3)) { if (item.ProjectID != 0) { int _currentNumber = 0; IQueryable <int> items = DB.EmpTimeSheet.OrderByDescending(u => u.SequenceNo).Take(1).Select(e => e.SequenceNo); foreach (int ir in items) { _currentNumber = ir; } if (_currentNumber == 0) { _currentNumber = 100; } else { _currentNumber++; } foreach (string month in months) { bool isEditable = false; NewEntryModel newEntryModel = new NewEntryModel(); newEntryModel.ApproveRejectStatus = roleId == 1 ? "A" : DB.ProjectEmployee.FirstOrDefault(x => x.EmployeeID == _empId && x.ProjectID == item.ProjectID).CheckRole == true ? "A" : null; if (month == months[0]) { newEntryModel.InvolveMonth = Convert.ToDateTime(model.Month1); newEntryModel.DaysCount = item.InvolvementDays1; newEntryModel.DaysEditCount = item.InvolvementEditDays1; newEntryModel.InvolvePercent = CalculateInvolvementPercentage(_empId, item.InvolvementEditDays1, newEntryModel); if (item.IsEdit1) { isEditable = true; } } if (month == months[1]) { newEntryModel.InvolveMonth = Convert.ToDateTime(model.Month2); newEntryModel.DaysCount = item.InvolvementDays2; newEntryModel.DaysEditCount = item.InvolvementEditDays2; newEntryModel.InvolvePercent = CalculateInvolvementPercentage(_empId, item.InvolvementEditDays2, newEntryModel); if (item.IsEdit2) { isEditable = true; } } if (month == months[2]) { newEntryModel.InvolveMonth = Convert.ToDateTime(model.Month3); newEntryModel.DaysCount = item.InvolvementDays3; newEntryModel.DaysEditCount = item.InvolvementEditDays3; newEntryModel.InvolvePercent = CalculateInvolvementPercentage(_empId, item.InvolvementEditDays3, newEntryModel); if (item.IsEdit3) { isEditable = true; } } if (newEntryModel.DaysCount != 0) { if (isEditable) { NewEntryModel exists = DB.EmpTimeSheet.FirstOrDefault(x => x.InvolveMonth == newEntryModel.InvolveMonth && x.EmpId == _empId && x.ProjectID == item.ProjectID); if (exists != null) { newEntryModel.TsID = exists.TsID; newEntryModel.RefNo = exists.RefNo; newEntryModel.SequenceNo = exists.SequenceNo; newEntryModel.EntryBy = _empId; //empid newEntryModel.EntryDate = DateTime.Now; newEntryModel.Quart = model.QID; newEntryModel.EntryRole = (long)Session[Constants.SessionRoleID]; newEntryModel.EmpId = _empId; //empid newEntryModel.ProjectID = item.ProjectID; newEntryModel.EmpRemarks = ""; newEntryModel.Status = newEntryModel.ApproveRejectStatus == "A" ? Convert.ToInt64(ReadConfig.GetValue("StatusApproved")) : Convert.ToInt64(ReadConfig.GetValue("StatusPending")); if (newEntryModel.ApproveRejectStatus == "A") { newEntryModel.ApproveRejectUser = _empId; } DB.Entry(exists).CurrentValues.SetValues(newEntryModel); } else { newEntryModel.RefNo = AutoGen.GetReferenceNumber(); newEntryModel.SequenceNo = _currentNumber; newEntryModel.EntryBy = _empId; //empid newEntryModel.EntryDate = DateTime.Now; newEntryModel.Quart = model.QID; newEntryModel.EntryRole = (long)Session[Constants.SessionRoleID]; newEntryModel.EmpId = _empId; //empid newEntryModel.ProjectID = item.ProjectID; newEntryModel.EmpRemarks = ""; newEntryModel.Status = newEntryModel.ApproveRejectStatus == "A" ? Convert.ToInt64(ReadConfig.GetValue("StatusApproved")) : Convert.ToInt64(ReadConfig.GetValue("StatusPending")); if (newEntryModel.ApproveRejectStatus == "A") { newEntryModel.ApproveRejectUser = _empId; } DB.EmpTimeSheet.Add(newEntryModel); } DB.SaveChanges(); if (newEntryModel.Status == Convert.ToInt64(ReadConfig.GetValue("StatusApproved"))) { TempData["Success"] = ResourceMessage.NewEntryApprove; } else if (newEntryModel.Status == Convert.ToInt64(ReadConfig.GetValue("StatusPending"))) { TempData["Success"] = ResourceMessage.NewEntrySubmit; } } } } if ((item.InvolvementDays1 > 0 && item.InvolvementEditDays1 > 0) || (item.InvolvementDays2 > 0 && item.InvolvementEditDays2 > 0) || (item.InvolvementDays3 > 0 && item.InvolvementEditDays3 > 0)) { var SubmittedMonths = new List <string>(); if (item.IsEdit1 && item.InvolvementEditDays1 > 0) { SubmittedMonths.Add(model.Month1); } if (item.IsEdit2 && item.InvolvementEditDays2 > 0) { SubmittedMonths.Add(model.Month2); } if (item.IsEdit3 && item.InvolvementEditDays3 > 0) { SubmittedMonths.Add(model.Month3); } if (roleId != 1) { bool isProjectManager = DB.ProjectEmployee.FirstOrDefault(x => x.ProjectID == item.ProjectID && x.EmployeeID == _empId).CheckRole; if (!isProjectManager) { string projectName = DB.ProjectMaster.FirstOrDefault(x => x.ProjectID == item.ProjectID).ProjectName; var projectManagers = (from x in DB.ProjectEmployee.Where(x => x.ProjectID == item.ProjectID && x.EmployeeID != _empId && x.CheckRole) join y in DB.Employee on x.EmployeeID equals y.EmployeeID join z in DB.User on y.UserID equals z.UserID select new { z.Email, y.EmpFirstName, y.EmpLastName, y.EmpMiddleName }).ToList <dynamic>(); if (SubmittedMonths.Any() && projectManagers.Any()) { bool emailResult = await Email.SendTimeSubmissionEmail(new TimeSheetSubmissionEmailModel() { EmpName = _empName, ManagerInfo = projectManagers, ProjectName = projectName, SubmissionDates = string.Join(", ", SubmittedMonths) }); if (!emailResult) { emailStatus.Add(projectName); } } } } } } } } } catch (Exception ex) { TempData["Error"] = ex.ToString(); LogHelper.ErrorLog(ex); } // TempData["EmailNotificationErrors"] = emailStatus; return(RedirectToAction("Index")); }
private static string getToolTip(long status, EmployeeModel et, EmployeeModel at, NewEntryModel nm) { string toopTip = ""; switch (status) { case 1: toopTip = "<div>Time Sheet Drafted</div>"; break; case 2: toopTip = @"<table class=""table table-border""><tr><td><b>Status : </b></td><td>Pending Approval</td></table>"; break; case 3: toopTip = @"<table class=""table table-border""><tr><td><b>Status :</b></td><td>Approved</td></tr><tr><td><b>Approval Date :</b></td><td>" + (nm.ApproveRejectDate.HasValue ? nm.ApproveRejectDate.Value.ToString() : "") + @"</td></tr><tr><td><b>Approval By :</b></td><td>" + (at == null ? "" : ((at.EmpFirstName ?? "") + " " + (at.EmpMiddleName ?? "") + " " + (at.EmpLastName ?? ""))) + @"</td></tr><tr><td><b>Approval Comments :</b></td><td>" + (nm.ApproveRejectComments ?? "Approved") + @"</td></tr></table>"; break; case 4: toopTip = @"<table class=""table table-border""><tr><td><b>Status :</b></td><td>Rejected</td></tr><tr><td><b>Approval Date :</b></td><td>" + (nm.ApproveRejectDate.HasValue ? nm.ApproveRejectDate.Value.ToString() : "") + @"</td></tr><tr><td><b>Approval By :</b></td><td>" + (at == null ? "" : ((at.EmpFirstName ?? "") + " " + (at.EmpMiddleName ?? "") + " " + (at.EmpLastName ?? ""))) + @"</td></tr><tr><td><b>Approval Comments :</b></td><td>" + (nm.ApproveRejectComments ?? "Rejected") + @"</td></tr></table>"; break; default: break; } return(toopTip); }