public ActionResult Index(GuestWebParams param) { GuestContext model = new GuestContext(); if (WebSecurity.IsAuthenticated) { DateTime firstDate = ((param != null) && param.TestDate.HasValue) ? param.TestDate.Value.Date : DateTime.Now.Date; model.GuideDurties = new List <HotelGuideResult>(); List <GuestOrder> list = GuestProvider.GetActiveHotelOrders(UrlLanguage.CurrentLanguage, WebSecurity.CurrentUserId, firstDate, firstDate.AddDays(1.0)); if ((list != null) && (list.Count > 0)) { GuideController controller = new GuideController(); foreach (GuestOrder order in list) { HotelGuideParam param2 = new HotelGuideParam { h = order.hotelid, ln = UrlLanguage.CurrentLanguage, pb = new DateTime?(order.period.begin.Value), pe = new DateTime?(order.period.end.Value) }; HotelGuideResult item = controller.HotelGuide(param2); model.GuideDurties.Add(item); } } } else { model.ShowAuthenticationMessage = true; } return(base.View(model)); }
public ActionResult Departure(GuestWebParams param) { DepartureContext context; DateTime date = ((param != null) && param.TestDate.HasValue) ? param.TestDate.Value.Date : DateTime.Now.Date; if (WebSecurity.IsAuthenticated) { context = new DepartureContext(); List <GuestClaim> list = GuestProvider.GetActiveClaims(UrlLanguage.CurrentLanguage, WebSecurity.CurrentUserId, date); if ((list != null) && (list.Count > 0)) { context.Hotels = new List <DepartureHotel>(); foreach (GuestClaim claim in list) { int?hotel = null; context.Hotels.AddRange(GuestProvider.GetDepartureInfo(UrlLanguage.CurrentLanguage, date, date.AddDays(1.0), hotel, new int?(claim.claim))); } } return(base.View(context)); } if (HttpPreferences.Current.LocationHotel != null) { context = new DepartureContext { Hotel = CatalogProvider.GetHotelDescription(UrlLanguage.CurrentLanguage, HttpPreferences.Current.LocationHotel) }; if (context.Hotel != null) { context.Hotels = GuestProvider.GetDepartureInfo(UrlLanguage.CurrentLanguage, date, date.AddDays(1.0), new int?(context.Hotel.id), null); } return(base.View(context)); } string str = base.Url.RouteUrl(base.Request.QueryStringAsRouteValues()); return(base.RedirectToAction("login", "account", new { returnUrl = str })); }
public ActionResult PrintOrder(int?id) { PrintOrderContext context = new PrintOrderContext(); context.Form = new PrintOrderModel(); context.Form.Claim = (id.HasValue ? id.ToString() : ""); ActionResult result; if (WebSecurity.IsAuthenticated) { int guestId = WebSecurity.CurrentUserId; System.Collections.Generic.List <GuestClaim> claims = GuestProvider.GetLinkedClaims(UrlLanguage.CurrentLanguage, guestId); int?detailedId = null; if (id.HasValue) { if (claims.FirstOrDefault((GuestClaim m) => m.claim == id.Value) != null) { detailedId = new int?(id.Value); } } if (detailedId.HasValue) { result = this.BuildVoucher(detailedId.Value); return(result); } context.NotFound = true; } result = base.View(context); return(result); }
public ActionResult FindOrderPost(string id, [Bind(Prefix = "Form")] FindOrderModel form) { FindOrderContext context = new FindOrderContext(); context.Form = form; if (form.RequestType != "claim") { this.ClearErrorState(base.ModelState["Form.Claim"]); this.ClearErrorState(base.ModelState["Form.ClaimName"]); } if (form.RequestType != "passport") { this.ClearErrorState(base.ModelState["Form.Passport"]); this.ClearErrorState(base.ModelState["Form.PassportName"]); } if (base.ModelState.IsValid) { int guestId = WebSecurity.CurrentUserId; if (form.RequestType == "claim") { context.Claims = GuestProvider.FindGuestClaims(UrlLanguage.CurrentLanguage, guestId, form.ClaimName, new int?(System.Convert.ToInt32(form.Claim)), null); } else { if (!(form.RequestType == "passport")) { throw new System.Exception("invalid RequestType"); } context.Claims = GuestProvider.FindGuestClaims(UrlLanguage.CurrentLanguage, guestId, form.PassportName, null, form.Passport); } context.NotFound = (context.Claims.Count == 0); } return(base.View(context)); }
public ActionResult UnlinkOrder([Bind(Prefix = "Unlink")] UnlinkOrderModel model) { if ((model != null) && model.Claim.HasValue) { GuestProvider.UnlinkGuestClaim(WebSecurity.CurrentUserId, model.Claim.Value); } return(base.RedirectToAction("order")); }
public ActionResult Summary([Bind(Prefix = "OrderFindForm")] OrderModel model) { SummaryContext context = new SummaryContext { ShowOrderFindForm = true }; if (base.ModelState.IsValid) { DateTime? currentDate = model.CurrentDate; DateTime dateFrom = currentDate.HasValue ? currentDate.GetValueOrDefault() : DateTime.Now.Date; List <GuestClaim> claims = GuestProvider.FindGuestClaims(UrlLanguage.CurrentLanguage, 0, model.ClaimName, new int?(Convert.ToInt32(model.Claim)), null); if ((claims != null) && (claims.Count > 0)) { int?nullable2; ReservationState reservationState = BookingProvider.GetReservationState(UrlLanguage.CurrentLanguage, claims[0].claim); if ((reservationState != null) && (nullable2 = reservationState.claimId).HasValue) { context.Claim = reservationState; context.ShowOrderFindForm = false; context.Hotels = new List <DepartureHotel>(); foreach (GuestClaim claim in claims) { nullable2 = null; context.Hotels.AddRange(GuestProvider.GetDepartureInfo(UrlLanguage.CurrentLanguage, dateFrom, dateFrom.AddDays(1.0), nullable2, new int?(claim.claim))); } context.GuideDurties = new List <HotelGuideResult>(); List <GuestOrder> list2 = GuestProvider.GetActiveHotelOrders(claims, dateFrom, dateFrom.AddDays(1.0)); if ((list2 != null) && (list2.Count > 0)) { GuideController controller = new GuideController(); foreach (GuestOrder order in list2) { HotelGuideParam param = new HotelGuideParam { h = order.hotelid, ln = UrlLanguage.CurrentLanguage, pb = new DateTime?(order.period.begin.Value), pe = new DateTime?(order.period.end.Value) }; HotelGuideResult item = controller.HotelGuide(param); context.GuideDurties.Add(item); } } } } } context.OrderFindNotFound = context.Claim == null; return(base.View(context)); }
public ActionResult PrintOrderPost([Bind(Prefix = "Form")] PrintOrderModel model) { PrintOrderContext context = new PrintOrderContext { Form = model }; int result = 0; if (base.ModelState.IsValid && int.TryParse(model.Claim, out result)) { List <GuestClaim> list = GuestProvider.FindGuestClaims(UrlLanguage.CurrentLanguage, 0, model.Name, new int?(result), null); if ((list != null) && (list.Count > 0)) { return(this.BuildVoucher(result)); } context.NotFound = true; } return(base.View(context)); }
public ReservationState State(int?id, [FromUri] StatusParams param) { Func <GuestClaim, bool> func = null; if (!id.HasValue) { throw new ArgumentNullExceptionWithCode(110, "id"); } if (param == null) { throw new ArgumentNullException("param"); } WebPartner partner = UserToolsProvider.GetPartner(param); ReservationState result = BookingProvider.GetReservationState(param.Language, id.Value); ReservationState result2; if (result != null && result.claimId.HasValue) { if (param.PartnerSessionID != null && result.partner != null && result.partner.id == partner.id) { result2 = result; return(result2); } if (WebSecurity.CurrentUserId > 0) { System.Collections.Generic.List <GuestClaim> claims = GuestProvider.GetLinkedClaims(param.Language, WebSecurity.CurrentUserId); bool arg_10E_0; if (claims != null) { arg_10E_0 = (claims.FirstOrDefault((GuestClaim m) => m.claim == result.claimId.Value) == null); } else { arg_10E_0 = true; } if (!arg_10E_0) { result2 = result; return(result2); } } } return(null); }
public ActionResult Order(int?id) { OrderContext model = new OrderContext(); int currentUserId = WebSecurity.CurrentUserId; List <GuestClaim> linkedClaims = GuestProvider.GetLinkedClaims(UrlLanguage.CurrentLanguage, currentUserId); int? detailedId = null; if (id.HasValue) { if (linkedClaims.FirstOrDefault((GuestClaim m) => m.claim == id.Value) != null) { detailedId = new int?(id.Value); } } if (!(detailedId.HasValue || (linkedClaims.Count <= 0))) { detailedId = new int?(linkedClaims[0].claim); } if (detailedId.HasValue) { ReservationState reservationState = BookingProvider.GetReservationState(UrlLanguage.CurrentLanguage, detailedId.Value); if ((reservationState != null) && reservationState.claimId.HasValue) { model.Claim = reservationState; model.ExcursionTransfers = GuestProvider.GetExcursionTransferByClaim(UrlLanguage.CurrentLanguage, reservationState.claimId.Value); } } model.ClaimsNotFound = linkedClaims.Count == 0; model.ShowOtherClaims = true; model.OtherClaims = ( from m in linkedClaims //удалить детальн // where m.claim != detailedId select m).ToList <GuestClaim>(); // model.OtherClaims = linkedClaims.Where<GuestClaim>(new Func<GuestClaim, bool>(class2, (IntPtr) this.<Order>b__2)).ToList<GuestClaim>(); return(base.View(model)); }
public List <DepartureHotel> Departure([FromUri] DepartureParam param) { if (param == null) { throw new ArgumentNullException("param"); } if (!param.FirstDate.HasValue) { throw new ArgumentNullException("fd"); } if (!param.LastDate.HasValue) { throw new ArgumentNullException("ld"); } if (!(param.Hotel.HasValue || param.Claim.HasValue)) { throw new ArgumentException("'h' or 'c' should be specified"); } return(GuestProvider.GetDepartureInfo(param.Language, param.FirstDate.Value, param.LastDate.Value, param.Hotel, param.Claim)); }
public ActionResult Order([Bind(Prefix = "OrderFindForm")] OrderModel model) { OrderContext context = new OrderContext { ShowOrderFindForm = true }; if (base.ModelState.IsValid) { List <GuestClaim> list = GuestProvider.FindGuestClaims(UrlLanguage.CurrentLanguage, 0, model.ClaimName, new int?(Convert.ToInt32(model.Claim)), null); if ((list != null) && (list.Count > 0)) { ReservationState reservationState = BookingProvider.GetReservationState(UrlLanguage.CurrentLanguage, list[0].claim); if ((reservationState != null) && reservationState.claimId.HasValue) { context.Claim = reservationState; context.ExcursionTransfers = GuestProvider.GetExcursionTransferByClaim(UrlLanguage.CurrentLanguage, reservationState.claimId.Value); context.ShowOrderFindForm = false; } } } context.OrderFindNotFound = context.Claim == null; return(base.View(context)); }
public static void AddGuest() { GuestProvider.AddGuest(); }
public ActionResult Index([Bind(Prefix = "Form")] BookingModel form) { Predicate <BookingOrderModel> match = null; Predicate <BookingOrder> predicate2 = null; Action <BookingOrderModel> action2 = null; if (form == null) { throw new ArgumentNullException("form"); } if (form.Action == "remove") { base.ModelState.Clear(); if ((form.RemoveOrderId != null) && (form.Orders != null)) { if (match == null) { match = m => ((m != null) && (m.BookingOrder != null)) && (m.BookingOrder.orderid == form.RemoveOrderId); } form.Orders.RemoveAll(match); using (ShoppingCart cart = ShoppingCart.CreateFromSession(base.Session)) { if ((cart != null) && (cart.Orders != null)) { if (predicate2 == null) { predicate2 = m => m.orderid == form.RemoveOrderId; } cart.Orders.RemoveAll(predicate2); } } } } BookingContext model = new BookingContext(); model.PaymentModes = BookingProvider.GetPaymentModes(UrlLanguage.CurrentLanguage, 2025654180); BookingClaim bookingClaim = new BookingClaim { orders = new List <BookingOrder>() }; if (form.Orders != null) { if (action2 == null) { action2 = delegate(BookingOrderModel m) { if ((m != null) && (m.BookingOrder != null)) { bookingClaim.orders.Add(m.BookingOrder); } }; } form.Orders.ForEach(action2); } BookingCartParam bookingCartParam = new BookingCartParam { ln = UrlLanguage.CurrentLanguage, pa = form.PartnerAlias, psid = form.PartnerSessionID }; GuestService.Controllers.Api.BookingController controller = new GuestService.Controllers.Api.BookingController(); bookingClaim.note = form.BookingNote; Customer customer = new Customer { name = form.CustomerName, mobile = form.CustomerMobile, email = form.CustomerEmail, address = form.CustomerAddress }; bookingClaim.customer = customer; if (form.PromoCodes != null) { bookingClaim.PromoCodes = new List <string>(form.PromoCodes); } if (form.Action == null) { if (!form.RulesAccepted) { base.ModelState.AddModelError("Form.RulesAccepted", BookingStrings.RulesAccepted); } if (base.ModelState.IsValid) { CompleteOperation operation = CompleteOperation.CreateFromSession(base.Session); operation.Start(); model.BookingOperationId = operation.OperationId; int?userId = WebSecurity.IsAuthenticated ? new int?(WebSecurity.CurrentUserId) : null; ThreadPool.QueueUserWorkItem(delegate(object o) { try { BookingCartResult result = new BookingCartResult { Form = form, Reservation = controller.Book(bookingCartParam, bookingClaim) }; if (((result.Reservation != null) && result.Reservation.claimId.HasValue) && userId.HasValue) { GuestProvider.LinkGuestClaim(userId.Value, result.Reservation.claimId.Value); } string data = JsonConvert.SerializeObject(result); CompleteOperationProvider.SetResult(operation.OperationId, "bookingresult", data); } catch (Exception exception) { Tracing.WebTrace.TraceEvent(TraceEventType.Error, 2, exception.ToString()); CompleteOperationProvider.SetResult(operation.OperationId, null, null); } }, null); model.Form = form; return(base.View("_BookingProcessing", model)); } } else if (form.Action == "promo") { base.ModelState.Clear(); List <string> list = (form.PromoCodes == null) ? new List <string>() : new List <string>(form.PromoCodes); if (!string.IsNullOrWhiteSpace(form.PromoCode)) { Action <BookingOrderModel> action = null; BookingClaim checkPromoClaim = new BookingClaim { orders = new List <BookingOrder>() }; if (form.Orders != null) { if (action == null) { action = delegate(BookingOrderModel m) { if ((m != null) && (m.BookingOrder != null)) { checkPromoClaim.orders.Add(m.BookingOrder); } }; } form.Orders.ForEach(action); } checkPromoClaim.PromoCodes = (form.PromoCodes != null) ? new List <string>(form.PromoCodes) : new List <string>(); CheckPromoCodeResult result = controller.CheckPromoCode(bookingCartParam, bookingClaim, form.PromoCode); if ((result != null) && (result.errorcode == 0)) { list.Add(form.PromoCode); bookingClaim.PromoCodes = list; form.PromoCodes = list.ToArray(); } else { base.ModelState.AddModelError("PromoCodeError", (result != null) ? result.errormessage : "невозможно применить промо код"); } } } ReservationState reservation = controller.Calculate(bookingCartParam, bookingClaim); model.Prepare(form, reservation); return(base.View(model)); }