/// <summary>
        /// Close Booking Request After Rejection of the Request from HOD
        /// Stand By Case
        /// </summary>
        /// <param name="trRequest"></param>
        /// <returns></returns>
        public int CloseOatBookingRequest_HOD(OALTravelRequestMasterModel trRequest)
        {
            //Booking Request Master for Close Request
            var closeItem = _context.OALTravelRequestMasterModel.Where(o => o.TravelRequestId == trRequest.TravelRequestId).ToList();

            if (closeItem.Count() > 0)
            {
                foreach (var p in closeItem)
                {
                    p.BookingStatus = trRequest.BookingStatus;
                    p.StatusDate    = trRequest.StatusDate;
                }
            }
            return(_context.SaveChanges());
        }
Exemplo n.º 2
0
        /// <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);
        }
Exemplo n.º 3
0
        /// <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);
        }