private vmBusinessTravelApplicationCreate GetAdditionalShowingInfo(vmBusinessTravelApplicationCreate vmBusinessTravelApplicationCreate) { var loggedInEmployeeId = User.GetCurrentEmployeeId(db.Employee); Employee employee = db.Employee.GetFirstOrDefaultWithRelatedData(c => c.Id == loggedInEmployeeId && c.IsActive == true && c.IsDeleted == false); if (employee.Superiror != null) { var applicationTo = new List <SelectListItem>(); applicationTo.Add(new SelectListItem { Text = employee.Superiror.MaskingId + " || " + employee.Superiror.FullName, Value = employee.Superiror.Id.ToString() }); vmBusinessTravelApplicationCreate.ApplicationToList = applicationTo; } vmBusinessTravelApplicationCreate.EmployeeId = employee.MaskingId; vmBusinessTravelApplicationCreate.Name = employee.FullName; vmBusinessTravelApplicationCreate.Department = employee.Department.Name; vmBusinessTravelApplicationCreate.Designation = employee.Designation.Name; vmBusinessTravelApplicationCreate.Department = employee.Department.Name; vmBusinessTravelApplicationCreate.Username = User.Identity.Name; vmBusinessTravelApplicationCreate.ApplicationStatusList = GetApplicationStatusList(employee.Id); return(vmBusinessTravelApplicationCreate); }
public IActionResult Application() { vmBusinessTravelApplicationCreate vmBusinessTravelApplicationCreate = new vmBusinessTravelApplicationCreate(); vmBusinessTravelApplicationCreate = GetAdditionalShowingInfo(vmBusinessTravelApplicationCreate); return(View(vmBusinessTravelApplicationCreate)); }
private bool AddBusinessTravelApplication(vmBusinessTravelApplicationCreate vmBusinessTravelApplicationCreate) { bool isBusinessTravelApplicationAdded = false; BusinessApplication businessApplication = new BusinessApplication(); var loggedInEmployeeId = User.GetCurrentEmployeeId(db.Employee); Employee employee = db.Employee.GetFirstOrDefaultWithRelatedData(c => c.Id == loggedInEmployeeId && c.IsActive == true && c.IsDeleted == false); businessApplication.EmployeeId = employee.Id; businessApplication.Purpose = vmBusinessTravelApplicationCreate.Purpose; businessApplication.Where = vmBusinessTravelApplicationCreate.Where; businessApplication.FromDate = DateTime.Parse(vmBusinessTravelApplicationCreate.From); businessApplication.ToDate = DateTime.Parse(vmBusinessTravelApplicationCreate.To); businessApplication.Status = ApplicationStatus.Pending; businessApplication.ApplicationToId = vmBusinessTravelApplicationCreate.ApplicationTo; db.BusinessApplication.Add(businessApplication); isBusinessTravelApplicationAdded = db.Save() > 0; if (isBusinessTravelApplicationAdded) { db.ApplicationApproval.SetApprover(ApplicationType.BusinessTravel, loggedInEmployeeId, businessApplication.Id.ToString(), businessApplication.CreatedDate, businessApplication.CreatedBy); } return(isBusinessTravelApplicationAdded); }
public IActionResult Application(vmBusinessTravelApplicationCreate vmBusinessTravelApplicationCreate) { try { if (ModelState.IsValid) { bool isOverlap = CheckLeaveOverlap(vmBusinessTravelApplicationCreate); if (isOverlap == false) { bool isSaved = AddBusinessTravelApplication(vmBusinessTravelApplicationCreate); if (isSaved) { vmBusinessTravelApplicationCreate model = new vmBusinessTravelApplicationCreate(); model = GetAdditionalShowingInfo(model); model.IsModelValid = true; model.ErrorMessage = "Business travel application successfully added. Please wait for the confirmation."; return(Json(model)); } } vmBusinessTravelApplicationCreate.IsModelValid = false; vmBusinessTravelApplicationCreate.ErrorMessage = "Business travel application can not be added. Something went wrong. Please try again."; return(Json(vmBusinessTravelApplicationCreate)); } vmBusinessTravelApplicationCreate.IsModelValid = false; vmBusinessTravelApplicationCreate.ErrorMessage = "Validation Failed!. Please try Again with valid data."; return(Json(vmBusinessTravelApplicationCreate)); } catch { vmBusinessTravelApplicationCreate.IsModelValid = false; vmBusinessTravelApplicationCreate.ErrorMessage = "Business travel application can not be added. Something went wrong. Please try Again."; return(Json(vmBusinessTravelApplicationCreate)); } }
private bool CheckLeaveOverlap(vmBusinessTravelApplicationCreate vm) { var loggedEmployeeId = User.GetCurrentEmployeeId(db.Employee); var leaveApp = db.BusinessApplication.GetAll().Where(x => x.EmployeeId == loggedEmployeeId); var selectedDate = new List <DateTime>(); DateTime start = DateTime.Parse(vm.From); DateTime end = DateTime.Parse(vm.To); for (DateTime counter = start; counter <= end; counter = counter.AddDays(1)) { selectedDate.Add(counter); } bool flag = false; foreach (var item in leaveApp) { for (DateTime counter = item.FromDate; counter <= item.ToDate; counter = counter.AddDays(1)) { foreach (var selectedItem in selectedDate) { if (counter.Date == selectedItem.Date) { flag = true; break; } } if (flag == true) { break; } } if (flag == true) { break; } } return(flag); }