public ActionResult Create(PromotionalFareModel model) { PromotionalFareSetupProvider promotionalFareSetupProvider = new PromotionalFareSetupProvider(); PromotionalFareModel viewModel = new PromotionalFareModel(); GeneralProvider generalProvider = new GeneralProvider(); try { foreach (var item in model.PromotionalFareSector.PromotionalFareSegment) { item.FromCityList = generalProvider.GetAirlineCityList();; item.ToCityList = generalProvider.GetAirlineCityList();; } viewModel = promotionalFareSetupProvider.GetPromotionalFareSetupCreateModel(); viewModel.PromotionalFareSector.Taxes = model.PromotionalFareSector.Taxes; viewModel.PromotionalFareSector.PromotionalFareSegment = model.PromotionalFareSector.PromotionalFareSegment; promotionalFareSetupProvider.SavePromotionalFare(model); TempData["SuccessMessage"] = "Saved Successfully."; return(View(viewModel)); } catch (Exception ex) { TempData["ActionResponse"] = ex.Message; return(View(viewModel)); } }
public ActionResult ViewETicket(string id, ETicketViewModel model1) { long PNRid = Int64.Parse(id); var ts = (TravelSession)Session["TravelPortalSessionInfo"]; int agentid = ticketprovider.GetAgentIdbyPNRId(PNRid); ETicketViewModel viewmodel = ticketprovider.GetAllInformationForeTicket(PNRid, agentid); viewmodel.PNRSectorList = ticketprovider.DeterminePNRSectorCount(PNRid); viewmodel.PassengerList = ticketprovider.GetPassengerListByPNRID(PNRid, agentid); viewmodel.PNRSegmentList = ticketprovider.GetPNRSegmentListByPNRSectorID(PNRid); viewmodel.ShowFareOnETicket = ticketprovider.ShowFareOnETicket(agentid); viewmodel.ShowAgentLogoOnETicket = ticketprovider.ShowAgentLogoOnETicket(agentid); viewmodel.AirlineVendorLocators = ticketprovider.GetAirlineVendorLocatorsById(PNRid); viewmodel.OperatingAirline = ticketprovider.GetAirlineCodeByMasterPnrId(PNRid); string serverPath = Server.MapPath("~") + "Content\\AgentLogo"; string resolved = Path.Combine(serverPath, viewmodel.AgentLogo); if (!System.IO.File.Exists(resolved)) { string directoryName = Path.GetDirectoryName(resolved); resolved = Path.Combine(directoryName, "DefaultLogo.png"); viewmodel.AgentLogo = "DefaultLogo.png"; if (!System.IO.File.Exists(resolved)) { // Images.DefaultLogo.Save(resolved); } } if (!ModelState.IsValid) { return(View("eTicket", viewmodel)); } string body = RenderPartialViewToString("ETicket", viewmodel); try { GeneralProvider provider = new GeneralProvider(); TravelSession travelSession = (TravelSession)Session["TravelPortalSessionInfo"]; Agents agent = provider.GetAgentById(viewmodel.AgentId); EmailEngine.EmailSender.Send(body, agent.Email, model1.txtEmailTo); ViewData["isEmailSent"] = "Your email is right on the way, you'll get email in a minute."; } catch (Exception ex) { ATLTravelPortal.Utility.ErrorLogging.LogException(ex); ViewData["isEmailSent"] = "Unable to send email"; } return(View("eTicket", viewmodel)); }
public ActionResult Create(PromotionalFareModel model) { PromotionalFareProvider promotionalFareProvider = new PromotionalFareProvider(); PromotionalFareModel viewModel = new PromotionalFareModel(); GeneralProvider generalProvider = new GeneralProvider(); TravelSession obj = (TravelSession)Session["TravelPortalSessionInfo"]; try { model.PromotionalFareSector.CreatedBy = obj.AppUserId; promotionalFareProvider.Save(model); model = promotionalFareProvider.GetPromotionalFareCreateModel(); TempData["SuccessMessage"] = "Record Saved Successfully!"; return(RedirectToAction("Index")); } catch { TempData["ActionResponse"] = "Unsuccessful to Save"; model = promotionalFareProvider.GetPromotionalFareCreateModel(); return(View(model)); } }
public ActionResult Details(OfflineBookViewModel model, FormCollection fs) { if (model.PNRBookedList[0].ServiceProviderId != Convert.ToInt32(fs["PreviousServiceProviderId"])) { //var mpnrResult = _entity.TBO_MasterPNRs.Where(x => x.MPNRId == mpnrId).FirstOrDefault(); //if (model.PNRBookedList[0].TicketStatusId == 33 && model.PNRBookedList[0].ServiceProviderId == 5) //{ // mpnrResult.TicketStatusId = 24; //} //if (model.PNRBookedList[0].TicketStatusId == 34 && model.PNRBookedList[0].ServiceProviderId == 5) //{ // mpnrResult.TicketStatusId = 28; //} //_entity.ApplyCurrentValues(mpnrResult.EntityKey.EntitySetName, mpnrResult); //_entity.SaveChanges(); bookProvider.UpdateMasterPnrTicketStatusID(model); bookProvider.UpdateMasterPnrServiceProviderId(model.PNRBookedList[0].ServiceProviderId, model.PNRBookedList[0].MPNRId); } GeneralProvider generalProvider = new GeneralProvider(); decimal totalFare = 0; //foreach (var fare in model.PNRBookedList[0].PNRDetails[0].PassengerDetail[0].FareDetails) //{ // totalFare = Convert.ToDecimal(fare.BaseFare + fare.SellingTax - fare.DiscountAmount); //} totalFare = bookProvider.GetTotalFareByMPNRID(model.PNRBookedList[0].MPNRId); string currency = bookProvider.GetCurrencyByMPNRID(model.PNRBookedList[0].MPNRId); model.AvailableBalance = generalProvider.GetAccountInfoByAgentId(model.PNRBookedList[0].UserDetail.AgentId); bool IsSufficientBalance = (bool)generalProvider.Air_isSufficientBalance ( totalFare, model.PNRBookedList[0].UserDetail.AgentId, (int)Enum.Parse(typeof(Galileo.FareService.CurrencyType), currency), model.PNRBookedList[0].ServiceProviderId ); try { if (fs.AllKeys.Contains("Issue")) { var ts = (TravelSession)Session["TravelPortalSessionInfo"]; if (model.PNRBookedList[0].ServiceProviderId == 3) { if (!IsSufficientBalance) { TempData["ActionResponse"] = "Insufficient Balance"; return(RedirectToAction("Details", new { id = model.PNRBookedList[0].MPNRId })); } string recloc = bookProvider.GetRecLoc(model.PNRBookedList[0].MPNRId); if (string.IsNullOrEmpty(recloc)) { var result = bookProvider.Edit(model); bookProvider.IssueTicket(model.PNRBookedList[0].MPNRId, ts.AppUserId); bookProvider.Air_UpdateTicketStatusId(model.PNRBookedList[0].MPNRId, "ISSUEPNR", false, ts.AppUserId); } else { bookProvider.Abacus_IssueTicket(model.PNRBookedList[0].MPNRId, ts.AppUserId); } TempData["SuccessMessage"] = "PNR is successfully issued."; } else if (model.PNRBookedList[0].ServiceProviderId == 4) { if (!IsSufficientBalance) { TempData["ActionResponse"] = "Insufficient Balance"; return(RedirectToAction("Details", new { id = model.PNRBookedList[0].MPNRId })); } string recloc = bookProvider.GetRecLoc(model.PNRBookedList[0].MPNRId); if (string.IsNullOrEmpty(recloc)) { var result = bookProvider.Edit(model); bookProvider.IssueTicket(model.PNRBookedList[0].MPNRId, ts.AppUserId); bookProvider.Air_UpdateTicketStatusId(model.PNRBookedList[0].MPNRId, "ISSUEPNR", false, ts.AppUserId); } else { bookProvider.Buddha_IssueTicket(model.PNRBookedList[0].MPNRId, ts.AppUserId); } TempData["SuccessMessage"] = "PNR is successfully issued."; } else if (model.PNRBookedList[0].TicketStatusId == 28) { try { var result = bookProvider.Edit(model); bookProvider.IssueTicket(model.PNRBookedList[0].MPNRId, ts.AppUserId); bookProvider.Air_UpdateTicketStatusId(model.PNRBookedList[0].MPNRId, "ISSUEPNR", false, ts.AppUserId); TempData["SuccessMessage"] = "PNR is successfully issued."; } catch { TempData["ActionResponse"] = "Ticket already issued."; } } else if (model.PNRBookedList[0].ServiceProviderId == 1) { if (!IsSufficientBalance) { TempData["ActionResponse"] = "Insufficient Balance"; return(RedirectToAction("Details", new { id = model.PNRBookedList[0].MPNRId })); } string recloc = bookProvider.GetRecLoc(model.PNRBookedList[0].MPNRId); if (string.IsNullOrEmpty(recloc)) { var result = bookProvider.Edit(model); bookProvider.IssueTicket(model.PNRBookedList[0].MPNRId, ts.AppUserId); bookProvider.Air_UpdateTicketStatusId(model.PNRBookedList[0].MPNRId, "ISSUEPNR", false, ts.AppUserId); } else { bookProvider.Galileo_IssueTicket(model.PNRBookedList[0].MPNRId, ts.AppUserId); } TempData["SuccessMessage"] = "PNR is successfully issued."; } else { try { if (!IsSufficientBalance) { TempData["ActionResponse"] = "Insufficient Balance"; return(RedirectToAction("Details", new { id = model.PNRBookedList[0].MPNRId })); } var result = bookProvider.Edit(model); bookProvider.IssueTicket(model.PNRBookedList[0].MPNRId, ts.AppUserId); bookProvider.Air_UpdateTicketStatusId(model.PNRBookedList[0].MPNRId, "ISSUEPNR", false, ts.AppUserId); TempData["SuccessMessage"] = "PNR is successfully issued."; } catch { TempData["ActionResponse"] = "Ticket already issued."; } } } else if (fs.AllKeys.Contains("Save")) { var ts = (TravelSession)Session["TravelPortalSessionInfo"]; model.UpdatedBy = ts.AppUserId; model.MPNRId = model.PNRBookedList[0].MPNRId; HttpPostedFileBase eTicketFile = model.ticket; if (model.ticket != null) { if (eTicketFile.ContentType == "application/zip" || eTicketFile.ContentType == "application/x-zip-compressed") { var result = bookProvider.Edit(model); TempData["SuccessMessage"] = "PNR is successfully saved."; } } else if (model.ticket == null) { var result = bookProvider.Edit(model); TempData["SuccessMessage"] = "PNR is successfully saved."; } } else if (model.isDeleted) { var sessionDetail = (TravelSession)Session["TravelPortalSessionInfo"]; var models = bookProvider.GetBookedPNRList(model.PNRBookedList[0].MPNRId); model.ServiceProviderId = models.PNRBookedList[0].ServiceProviderId; bool checkId = bookProvider.CheckMPNRIdExist(model.PNRBookedList[0].MPNRId); if (checkId == true) { bookProvider.Delete(model.PNRBookedList[0].MPNRId, sessionDetail.AppUserId, model.ServiceProviderId); } TempData["SuccessMessage"] = "PNR is successfully cancelled."; } } catch (GDS.GDSException ex) { System.Text.StringBuilder errorBuilder = new System.Text.StringBuilder(); foreach (GDS.GdsErrorData errors in ex.GDSErrors) { errorBuilder.Append(errors.ErrorMessage); errorBuilder.Append(errors.ErrText); } TempData["ActionResponse"] = errorBuilder; ATLTravelPortal.Utility.ErrorLogging.BookingLogException(ex, model.PNRBookedList[0].MPNRId); } catch (Exception ex) { if (ex.InnerException != null) { TempData["ActionResponse"] = ex.InnerException.Message; } ATLTravelPortal.Utility.ErrorLogging.BookingLogException(ex, model.PNRBookedList[0].MPNRId); } return(RedirectToAction("Details", new { id = model.PNRBookedList[0].MPNRId })); }
public ActionResult Create(OfflineBookViewModel model, FormCollection coll) { var sessionDetail = (TravelSession)Session["TravelPortalSessionInfo"]; decimal totalFare = 0; List <OfflineBookFareDetailModel> fareDetailsList = new List <OfflineBookFareDetailModel>(); foreach (var fare in model.PNRDetails[0].PassengerDetail) { totalFare += Convert.ToDecimal(fare.FareDetail.SellingBaseFare); //+ fare.FareDetail.SellingTax - fare.FareDetail.DiscountAmount } GeneralProvider generalProvider = new GeneralProvider(); bool IsSufficientBalance = (bool)generalProvider.Air_isSufficientBalance ( totalFare, int.Parse(coll["UserDetail.AgentId"]), (int)Enum.Parse(typeof(Galileo.FareService.CurrencyType), model.PNRDetails[0].PassengerDetail[0].FareDetail.Currency), int.Parse(model.PNRDetails[0].BookingSource) ); bool chkGDSPNR = bookProvider.CheckDuplicateGDSPNR(model.PNRDetails[0].PNR.ToUpper()); try { model.UserDetail.AppUserId = sessionDetail.AppUserId; model.UserDetail.SessionId = sessionDetail.Id; HttpPostedFileBase eTicketFile = model.ticket; if (model.ticket != null && chkGDSPNR == true) { if (eTicketFile.ContentType == "application/zip" || eTicketFile.ContentType == "application/x-zip-compressed") { if (!IsSufficientBalance) { TempData["ActionResponse"] = "Insufficient Balance"; return(View(model)); } var response = bookProvider.Save(model, (double)totalFare); return(RedirectToAction("Index")); } } else if (model.ticket == null && chkGDSPNR == true) { if (!IsSufficientBalance) { TempData["ActionResponse"] = "Insufficient Balance"; return(View(model)); } var response = bookProvider.Save(model, (double)totalFare); if (response == true) { return(RedirectToAction("Index")); } else { return(View("Create", model)); } } else { TempData["ActionResponse"] = "Uploaded file should have .zip extension"; } return(RedirectToAction("Index")); } catch (Exception e) { throw new Exception("Sorry, Error Occurred While Booking!", e); } }