コード例 #1
0
        public int CreateShopHours(ShopHoursCreate model)
        {
            var entity =
                new ShopHours()
            {
                ShopID      = _userId,
                MonStart    = model.MonStart,
                MonEnd      = model.MonEnd,
                TeusStart   = model.TeusStart,
                TeusEnd     = model.TeusEnd,
                WedStart    = model.WedStart,
                WedEnd      = model.WedEnd,
                ThurStart   = model.ThurStart,
                ThurEnd     = model.ThurEnd,
                FriStart    = model.FriStart,
                FriEnd      = model.FriEnd,
                SatStart    = model.SatStart,
                SatEnd      = model.SatEnd,
                SunStart    = model.SunStart,
                SunEnd      = model.SunEnd,
                ModifiedUtc = DateTimeOffset.Now
            };

            using (var ctx = new ApplicationDbContext())
            {
                ctx.ShopHours.Add(entity);
                ctx.SaveChanges(); //error when trying to save datetime object
                return(entity.HoursID);
            }
        }
コード例 #2
0
        public virtual void UpdateShopHours(ShopHours shopHours)
        {
            if (shopHours == null)
            {
                throw new ArgumentNullException(nameof(shopHours));
            }

            _shopHoursRepository.Update(shopHours);

            //event notification
            _eventPublisher.EntityUpdated(shopHours);
        }
コード例 #3
0
ファイル: HoursTests.cs プロジェクト: stack111/barberbot
        public async Task ShopHours_IsAvailableAsync_DaysOfWeekExpected(DayOfWeek dayOfWeek, int hour, bool expectedAvailability)
        {
            IHoursRepository repository = new MemoryHoursRepository();
            ShopHours        shopHours  = new ShopHours(repository);
            var          date           = DateTime.Now.This(dayOfWeek).Date;
            var          inputDateTime  = new DateTime(date.Year, date.Month, date.Day, hour, 0, 0);
            Mock <IShop> shopMock       = new Mock <IShop>();

            shopMock.Setup(s => s.Type).Returns(HoursType.Shop);
            bool actualAvailability = await shopHours.IsAvailableAsync(shopMock.Object, inputDateTime);

            Assert.Equal(expectedAvailability, actualAvailability);
        }
コード例 #4
0
ファイル: HoursTests.cs プロジェクト: stack111/barberbot
        public async Task ShopHours_LoadAsync_DaysOfWeekExpectedHours(DayOfWeek dayOfWeek, int expectedOpeningHour, int expectedClosingHour)
        {
            IHoursRepository repository   = new MemoryHoursRepository();
            ShopHours        shopHours    = new ShopHours(repository);
            var          expectedDateTime = DateTime.Now.This(dayOfWeek);
            Mock <IShop> shopMock         = new Mock <IShop>();

            shopMock.Setup(s => s.Type).Returns(HoursType.Shop);
            await shopHours.LoadAsync(shopMock.Object, expectedDateTime);

            Assert.Equal(expectedOpeningHour, shopHours.OpeningHour);
            Assert.Equal(expectedClosingHour, shopHours.ClosingHour);
            Assert.Equal(expectedDateTime.Date, shopHours.OpeningDateTime().Date);
            Assert.Equal(expectedDateTime.Date, shopHours.ClosingDateTime().Date);
        }
コード例 #5
0
        public async Task AppointmentRequest_IsAvaiableNowJessica_True()
        {
            var  hoursRepository       = new MemoryHoursRepository();
            var  appointmentRepository = new MemoryAppointmentRepository();
            var  barbersRepository     = new MemoryBarbersRepository(appointmentRepository, hoursRepository);
            var  storeHours            = new ShopHours(hoursRepository);
            var  barberHours           = new BarberHours(hoursRepository);
            Shop shop = new Shop(appointmentRepository, storeHours, barbersRepository);
            AppointmentRequest request       = new AppointmentRequest(shop);
            Barber             initialBarber = new Barber(shop, appointmentRepository, barberHours);

            request.StartDateTime     = DateTime.Now;
            initialBarber.DisplayName = "Jessica";
            request.RequestedBarber   = initialBarber;
            request.Service           = new BarberService()
            {
                DisplayName = "Short Hair Cut", Duration = TimeSpan.FromMinutes(30)
            };

            AppointmentAvailabilityResponse response = await request.IsAvailableAsync();

            Assert.True(response.IsAvailable, $"{initialBarber.DisplayName} should be availabe on {request.StartDateTime}");
        }