Пример #1
0
        public bool TrySetPickUpDate(string bookingId, DateTime pickUpDate, out string error)
        {
            bookingId = bookingId ?? _cartSession.BookingId;
            error     = "";
            var preparationTime    = GetPreparationTime(bookingId);
            var discount           = GetDiscount(bookingId);
            var pickUpOptions      = _calendarRepository.GetPickUpOption(preparationTime, discount);
            var validSelectedSlots = pickUpOptions.Where(x => x.Key <= pickUpDate && x.Key.Add(x.Value) >= pickUpDate);
            var validSlot          = validSelectedSlots.Any();

            if (validSlot)
            {
                var pickUp = new ShoppingCartPickUpDate
                {
                    BookingId     = bookingId,
                    From          = validSelectedSlots.First().Key,
                    To            = validSelectedSlots.First().Value,
                    UserSubmitted = true
                };
                _appDbContext.ShoppingCartPickUpDates.Add(pickUp);
                _appDbContext.SaveChanges();
                return(true);
            }
            else
            {
                error = "La fecha seleccionada no es válida.";
                return(false);
            }
        }
Пример #2
0
        private ShoppingCartPickUpDate InsertPickUpDate(string bookingId, KeyValuePair <DateTime, TimeSpan> defaultOption, bool userSubmitted, string message)
        {
            var pickUp = new ShoppingCartPickUpDate
            {
                BookingId     = bookingId,
                From          = defaultOption.Key,
                To            = defaultOption.Value,
                UserSubmitted = userSubmitted,
                Message       = message
            };

            _appDbContext.ShoppingCartPickUpDates.Add(pickUp);
            _appDbContext.SaveChanges();
            return(pickUp);
        }