public int ApproveOatBookingRequest(OatTravelRequestApprovalModel travelRequestApprovalModels) { var c = _context.OatTravelRequestApprovalModel.Where(o => o.TravelRequestId == travelRequestApprovalModels.TravelRequestId).ToList(); if (c.Count() > 0) { return(1); } _context.OatTravelRequestApprovalModel.Add(travelRequestApprovalModels); var s = _context.SaveChanges(); return(s); }
/// <summary> /// To save Reject Booking Request /// </summary> /// <param name="travelRequestApprovalModels"></param> /// <returns></returns> public int RejectOatBookingRequest(OatTravelRequestApprovalModel trApprovalModels) { var s = 0; //For Travel Request Approval var updateItem = _context.OatTravelRequestApprovalModel.Where(o => o.TravelRequestId == trApprovalModels.TravelRequestId).ToList(); if (updateItem.Count() > 0) { foreach (var p in updateItem) { p.ApprovalStatus = trApprovalModels.ApprovalStatus; p.ApprovedByEmpId = trApprovalModels.ApprovedByEmpId; p.ApprovalDate = System.DateTime.Now; p.Comment = trApprovalModels.Comment; } } else { _context.OatTravelRequestApprovalModel.Add(trApprovalModels); } return(_context.SaveChanges()); }
/// <summary> /// Approve Booking Request for HOD /// </summary> /// <param name="travelReqId"></param> /// <returns></returns> public string ApproveOatBookingRequest(string travelReqId) { var jsonmsg = string.Empty; var approvalList = new OatTravelRequestApprovalModel() { TravelRequestId = Convert.ToInt32(travelReqId.Split(',')[0]), //Travel Request ApprovedByEmpId = Convert.ToInt32(travelReqId.Split(',')[1]), //Employee Id of approver ApprovalStatus = 1, IsMandatoryTravel = 0, // Convert.ToInt32(travelReqId.Split(',')[5]), //Is Mandatory Travel ApprovalDate = System.DateTime.Now, Comment = "Approved from HOD", ApprovedByEmpIdCLevel1 = 0, ApprovedByEmpIdCLevel2 = 0, ApprovalStatusCLevel1 = 0, ApprovalStatusCLevel2 = 0, CLevelComment1 = "", CLevelComment2 = "", CLevelAppDate1 = DateTime.Parse("01/01/1900"), CLevelAppDate2 = DateTime.Parse("01/01/1900"), RevenueApprovedStatus = 0, RevenueApprovedDate = DateTime.Parse("01/01/1900") }; //Check Duplicate PNR //var chkpnr = Services.ADO.SodCommonServices.CheckDuplicatePNR(Convert.ToInt64(travelReqId.Split(',')[0]), 1); //if (!chkpnr.Equals("0")) //{ // return "Sorry : PNR has already generated for this booking request. Existing PNR No. :" + chkpnr; //} var s = _oatApproverRepositorty.ApproveOatBookingRequest(approvalList); if (s >= 1) { //Close Booking Request var trRequestMaster = new OALTravelRequestMasterModel() { TravelRequestId = Convert.ToInt64(travelReqId.Split(',')[0]), BookingStatus = "Approved", StatusDate = System.DateTime.Now }; var c = _oatApproverRepositorty.CloseOatBookingRequest_HOD(trRequestMaster); //Get Booking Request Data for Email Notification var sodRequestsList = new List <OALTravelRequestMasterModel>(); var sodflightList = new List <OALModels>(); var sodPassList = new List <OALPassengerModel>(); var sodhotelList = new List <OALHotelModel>(); var dicList = new Dictionary <string, object>(); dicList = _oatApproverRepositorty.GetOatBookingInfoForPNR(Convert.ToInt32(travelReqId.Split(',')[0])); sodRequestsList = dicList["bookingInfo"] as List <OALTravelRequestMasterModel>; sodflightList = dicList["flightInfo"] as List <OALModels>; sodPassList = dicList["passInfo"] as List <OALPassengerModel>; sodhotelList = dicList["hotelInfo"] as List <OALHotelModel>; //sodPassMealsList = dicList["mealsInfo"] as List<PassengerMealAllocationModels>; //Send Approval Email Notification string emailSubject = "OAT Booking Request Approval Notification from HOD :" + System.DateTime.Now.ToString("dd-MMM-yyyy-hh:mm:ss"); var emailTemplateName = "OatBookingRequest_Approval_User.html"; //Send Email Notification Credentials var emailCredentials = EmailCredentials(emailSubject, emailTemplateName, sodRequestsList, sodflightList, sodPassList, sodhotelList, travelReqId); emailCredentials.TemplateFilePath = emailCredentials.TemplateFilePath.Replace("[Team]", "HOD"); EmailNotifications.SendBookingRequestNotificationTo_Requester(emailCredentials, sodRequestsList[0].EmailId.Trim()); jsonmsg = "Approval Alert for Request No. OAT-" + travelReqId.Split(',')[0] + ": \n Approval process has been completed successfully."; } return(s >= 1 ? jsonmsg : string.Empty); }
/// <summary> /// Reject Booking Request /// </summary> /// <param name="travelReqId"></param> /// <returns></returns> public string RejectOatBookingRequest(string travelReqId) { var jsonmsg = string.Empty; //Initialize list for updating revenue status var approvalList = new OatTravelRequestApprovalModel() { TravelRequestId = Convert.ToInt32(travelReqId.Split(',')[0]), ApprovedByEmpId = Convert.ToInt32(travelReqId.Split(',')[1]), ApprovalStatus = 2, ApprovalDate = System.DateTime.Now, Comment = "Rejected from HOD", ApprovedByEmpIdCLevel1 = 0, ApprovedByEmpIdCLevel2 = 0, ApprovalStatusCLevel1 = 0, ApprovalStatusCLevel2 = 0, CLevelComment1 = "", CLevelComment2 = "", CLevelAppDate1 = DateTime.Parse("01/01/1900"), CLevelAppDate2 = DateTime.Parse("01/01/1900"), RevenueApprovedStatus = 0, RevenueApprovedDate = DateTime.Parse("01/01/1900") }; var s = _oatApproverRepositorty.RejectOatBookingRequest(approvalList); if (s >= 1) { //Close Booking Request var trRequestMaster = new OALTravelRequestMasterModel() { TravelRequestId = Convert.ToInt32(travelReqId.Split(',')[0]), BookingStatus = "Rejected by HOD", StatusDate = System.DateTime.Now }; var c = _oatApproverRepositorty.CloseOatBookingRequest_HOD(trRequestMaster); //Get Booking Request Data for Email Notification var sodRequestsList = new List <OALTravelRequestMasterModel>(); var sodflightList = new List <OALModels>(); var sodPassList = new List <OALPassengerModel>(); var sodhotelList = new List <OALHotelModel>(); var dicList = new Dictionary <string, object>(); dicList = _oatApproverRepositorty.GetOatBookingInfoForPNR(Convert.ToInt32(travelReqId.Split(',')[0])); sodRequestsList = dicList["bookingInfo"] as List <OALTravelRequestMasterModel>; sodflightList = dicList["flightInfo"] as List <OALModels>; sodPassList = dicList["passInfo"] as List <OALPassengerModel>; sodhotelList = dicList["hotelInfo"] as List <OALHotelModel>; //sodPassMealsList = dicList["mealsInfo"] as List<PassengerMealAllocationModels>; //string bookingType = sodRequestsList[0].SodBookingTypeId == 1 ? "SOD" : "NON-SOD"; //Send Rejection Email Notification string emailSubject = "OAT Booking Request Rejection Notification from HOD :" + System.DateTime.Now.ToString("dd-MMM-yyyy-hh:mm:ss"); var emailTemplateName = "OatBookingRequest_Rejection_User.html"; //Send Email Notification Credentials var emailCredentials = EmailCredentials(emailSubject, emailTemplateName, sodRequestsList, sodflightList, sodPassList, sodhotelList, travelReqId); emailCredentials.TemplateFilePath = emailCredentials.TemplateFilePath.Replace("[Team]", "HOD"); EmailNotifications.SendBookingRequestNotificationTo_Requester(emailCredentials, sodRequestsList[0].EmailId.Trim()); jsonmsg = "Rejection Alert for Request No. OAT-" + travelReqId.Split(',')[0] + ": \n Rejection process has been completed successfully."; } return(s >= 1 ? jsonmsg : string.Empty); }