public async Task <ActionResult> CreateForUnregistered(CreateReservationForNonRegisteredUserViewModel model) { _logger.Info("Creating Reservation! Params: " + model.ToJson()); if (!ModelState.IsValid) { _logger.Error("Creating Reservation Form Invalid! Errors:" + ModelState.ToJson()); return(Json(ModelState.ToDictionary())); } try { CreateReservationDTO reservation = Mapper.Map <CreateReservationForNonRegisteredUserViewModel, CreateReservationDTO>(model); await ReservationsManager.CreateReservation(reservation); _logger.Info("Creating Reservation Successfully!"); return(Json("STATUS_OK")); } catch (Exception ex) { _logger.Error(ex, "Creating Reservation Failed!"); throw; } }
public async Task <ActionResult> PayReservation(ReservationPaymentViewModel model) { _logger.Info("Paying Reservation! Params: " + model.ToJson()); if (!ModelState.IsValid) { _logger.Error("Paying Reservation Form Invalid! Errors:" + ModelState.ToJson()); return(Json(ModelState.ToDictionary())); //throw new ArgumentException("Проблем при плащане на резервацията. Опитайте отново, ако не стане свържете се с екипът ни!"); } if (model.PaymentInfo.PaymentMethod.ToUpper() == "EASYPAY" && (string.IsNullOrEmpty(model.PaymentInfo.PayerName) || model.PaymentInfo.PayerName.Length > 26)) { ModelState.AddModelError(nameof(model.PaymentInfo.PayerName), "Името е задължително и не трябва да превишава 26 символа"); _logger.Error("Paying Reservation Form Invalid! Errors:" + ModelState.ToJson()); return(Json(ModelState.ToDictionary())); } try { //Either EasyPayCode or redirect Form which have to be submited var paymentRedirectForm = await ReservationsManager.PayReservation(model.Id, model.IsCaparoPayed, model.PaymentInfo, model.UrlOk, model.UrlCancel); _logger.Info("Paying Reservation - Redirecting to External Payment provider!"); return(Content(paymentRedirectForm)); } catch (Exception ex) { _logger.Error(ex, "Paying Reservation Failed!"); throw; } }
public async Task <ActionResult> Create(CreateReservationViewModel model) { _logger.Info("Creating Reservation! Params: " + model.ToJson()); if (!ModelState.IsValid) { _logger.Error("Creating Reservation Form Invalid! Errors:" + ModelState.ToJson()); return(Json(ModelState.ToDictionary())); } //if (await UserManager.IsPhoneNumberConfirmedAsync(User.Identity.GetUserId()) // && await UserManager.HasPhoneNumberAsync(User.Identity.GetUserId())) //{ // return Json("Въведете и потвърдете телефонен номер тогава опитайте отново!"); //} try { CreateReservationDTO reservation = Mapper.Map <CreateReservationViewModel, CreateReservationDTO>(model, o => o.Items["UserId"] = User.Identity.GetUserId()); await ReservationsManager.CreateReservation(reservation); _logger.Info("Creating Reservation Successfully!"); return(Json("STATUS_OK")); } catch (Exception ex) { _logger.Error(ex, "Creating Reservation Failed!"); throw; } }
public CartsManager(IStocksProvider stocksProvider, IProductsProvider productsProvider, IReservationsProvider reservationsProvider, ICartsProvider cartProvider) { _stocksProvider = stocksProvider; _productsProvider = productsProvider; _reservationsProvider = reservationsProvider; _reservationsManager = new ReservationsManager(_stocksProvider, _reservationsProvider); _cartsProvider = cartProvider; }
public async Task <ActionResult> GetOwnReservations() { var userId = User.Identity.GetUserId(); List <ListReservationViewModel> reservations = await ReservationsManager.ListUserReservations(userId); return(View("MyReservations", reservations)); //return Json(reservations, JsonRequestBehavior.AllowGet); }
public async Task <ActionResult> Details(int?reservationId) { if (reservationId == 0 || reservationId == null) { return(HttpNotFound()); } var reservation = await ReservationsManager.GetReservation((int)reservationId, User.Identity.GetUserId()); return(View(reservation)); }
private TablesViewModel GetReserveTablesViewData() { List <SelectListItem> selectOptions = new List <SelectListItem>(); var freeTables = ReservationsManager.GetFreeTables(); freeTables.ForEach(x => selectOptions.Add(new SelectListItem { Text = x.Name, Value = x.PoolTableID.ToString() })); return(new TablesViewModel(0, DateTime.Now, selectOptions)); }
public ActionResult ReserveTable(TablesViewModel tablesView) { if (tablesView.SelectedDate == null) { ModelState.AddModelError("", "Date cannot be null"); return(View(GetReserveTablesViewData())); } ReservationsManager.CreateReservation(tablesView); return(View(GetReserveTablesViewData())); }
public static void Run() { // Create providers. IProductsProvider productsProvider; IReservationsProvider reservationsProvider; IStocksProvider stocksProvider; if (_useInMemoryDatabase) { CreateInMemoryProviders(out productsProvider, out reservationsProvider, out stocksProvider); } else { CreateDatabaseProviders(out productsProvider, out reservationsProvider, out stocksProvider); } // Create additional objects on top of the database. var productsManager = new ProductsManager(productsProvider, stocksProvider); // Initialize the database so it is not empty when qwe launch the application. if (_initializeDatabase) { DatabaseInitializer databaseInitializer = new DatabaseInitializer(); databaseInitializer.InitializeDatabase(productsManager); } // has methods to act on databases through productsProvider and stocksProvider var reservationsManager = new ReservationsManager(stocksProvider, reservationsProvider); Cart cart = new Cart(productsProvider, reservationsManager); NavigationData navData = new NavigationData(); ExpiredReservationsManager expiredReservationsManager = new ExpiredReservationsManager(reservationsProvider); navData.ProductsReader = productsProvider; navData.StocksReader = stocksProvider; navData.Cart = cart; IPage currentPage = new MainPage(); while (currentPage != null) { string menu = currentPage.OnNavigatedTo(navData); Console.WriteLine(menu); string userInput = Console.ReadLine(); var newPage = currentPage.OnUserInput(userInput); navData.PreviousPages.Push(currentPage); currentPage = newPage; Console.Clear(); } }
public async Task <ActionResult> Delete(int?reservationId) { _logger.Info("Deleting Reservation! ReservationId: " + reservationId); if (reservationId == 0 || reservationId == null) { _logger.Warn("Deleting Reservation Not Found!"); return(HttpNotFound()); } try { await ReservationsManager.DeleteReservation((int)reservationId, User.Identity.GetUserId()); _logger.Info("Deleting Reservation Successfully!"); return(Json("STATUS_OK", JsonRequestBehavior.AllowGet)); } catch (Exception ex) { _logger.Error(ex, "Deleting Reservation Failed!"); throw; } }
public async Task <ActionResult> GetReservations([Required(ErrorMessage = "Изберете имот!")] int propertyId) { var reservations = await ReservationsManager.ListReservations(propertyId); return(Json(reservations, JsonRequestBehavior.AllowGet)); }
public ActionResult Reservations() { var reservations = ReservationsManager.GetReservations().OrderBy(o => o.Time); return(View(reservations)); }
public ReservationsController(DbAppContext context, IMapper mapper, ReservationsManager reservationsManager, UsersManager usersManager) { _mapper = mapper; _reservationsManager = reservationsManager; _usersManager = usersManager; }
private void StartMonitors() { ReservationsManager _reservationsManager = new ReservationsManager(ProvidersFactory.GetStocksProvider(), ProvidersFactory.GetReservationsProvider()); ExpiredReservationsManager _expiredReservationsManager = new ExpiredReservationsManager(ProvidersFactory.GetReservationsProvider()); }