public TransportProviderAvailability CreateAvailability(int id, TransportProviderAvailability tpa, string user) { TransportProviderAvailability entity; var provider = Get(id); if (provider.AvailabilityRules.SingleOrDefault(a => a.day == tpa.day) == null) { tpa.Provider = provider; tpa.transportProviderID = provider.ID; entity = tpaServ.Create(tpa, user); return(entity); } throw new MacheteValidationException("Availability record already exists"); }
public FluentRecordBase AddTransportProviderAvailability( ) { // // DEPENDENCIES _servTPA = container.GetRequiredService <ITransportProvidersAvailabilityService>(); // // ARRANGE _tpa = (TransportProviderAvailability)Records.transportProviderAvailabilities.Clone(); // // ACT _servTPA.Create(_tpa, _user); return(this); }
public void TestInitialize() { _savedTransportAvailability = new TransportProviderAvailability(); _fakeTransportAvailability = new TransportProviderAvailability() { available = true, day = 1, ID = 1, key = "fakeTAKey", transportProviderID = 1, lookupKey = "fakeLUKey" }; _fakeTransportAvailabilities = new List <TransportProviderAvailability>(); _fakeTransportAvailabilities.Add(_fakeTransportAvailability); _fakeTransportAvailabilities.Add(new TransportProviderAvailability() { available = true, day = 4, ID = 2, key = "fakeTAKey2", transportProviderID = 2, lookupKey = "fakeLUKey2" }); _transportAvailabilityServ = new Mock <ITransportProvidersAvailabilityService>(); _transportAvailabilityServ.Setup(s => s.GetAll()) .Returns(_fakeTransportAvailabilities.AsQueryable); _transportAvailabilityServ.Setup(s => s.Get(1)) .Returns(_fakeTransportAvailability); _transportAvailabilityServ.Setup(s => s.Get(1000)) .Returns((TransportProviderAvailability)null); _transportAvailabilityServ.Setup(s => s.Create(It.IsAny <TransportProviderAvailability>(), It.IsAny <string>())) .Returns(_fakeTransportAvailability); _transportAvailabilityServ.Setup(s => s.Save(It.Is <TransportProviderAvailability>(r => r.ID == 1), It.IsAny <string>())) .Callback((TransportProviderAvailability tpa, string user) => _savedTransportAvailability = tpa); _transportAvailabilityServ.Setup(s => s.Delete(1, It.IsAny <string>())) .Verifiable(); var mapperConfig = new MapperConfiguration(config => { config.ConfigureApi(); }); _mapper = mapperConfig.CreateMapper(); _controller = new TransportProvidersAvailabilityController(_transportAvailabilityServ.Object, _mapper); }
public FluentRecordBase AddTransportProviderAvailability( ) { // // DEPENDENCIES if (_servTR == null) { AddServTransportProviderAvailability(); } // // ARRANGE _tpa = (TransportProviderAvailability)Records.transportProviderAvailability.Clone(); // // ACT _servTPA.Create(_tpa, _user); return(this); }
public IHttpActionResult ARPost(int tpid, [FromBody] TransportProviderAvailability value) { var domain = map.Map <TransportProviderAvailability, Domain.TransportProviderAvailability>(value); try { var entity = serv.CreateAvailability(tpid, domain, userEmail); var result = map.Map <Domain.TransportProviderAvailability, TransportProviderAvailability>(entity); return(Json(new { data = result })); } catch (Exception e) { throw new HttpResponseException( new HttpResponseMessage(HttpStatusCode.InternalServerError) { Content = new StringContent(e.Message), ReasonPhrase = "Create new availability failed" }); } }