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); } }
public virtual void UpdateShopHours(ShopHours shopHours) { if (shopHours == null) { throw new ArgumentNullException(nameof(shopHours)); } _shopHoursRepository.Update(shopHours); //event notification _eventPublisher.EntityUpdated(shopHours); }
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); }
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); }
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}"); }