public TransportProviderAvailabilities CreateAvailability(int id, TransportProviderAvailabilities tpa, string user) { TransportProviderAvailabilities entity; var provider = Get(id); if (provider.AvailabilityRules.SingleOrDefault(a => a.day == tpa.day) == null) { tpa.TransportProvider = 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 = (TransportProviderAvailabilities)Records.transportProviderAvailabilities.Clone(); // // ACT _servTPA.Create(_tpa, _user); return(this); }
public ActionResult ARPost(int tpid, [FromBody] TransportProviderAvailabilities value) { var domain = map.Map <TransportProviderAvailabilities, Domain.TransportProviderAvailabilities>(value); try { var entity = serv.CreateAvailability(tpid, domain, UserEmail); var result = map.Map <Domain.TransportProviderAvailabilities, TransportProviderAvailabilities>(entity); return(new JsonResult(new { data = result })); } catch (Exception e) { return(StatusCode((int)HttpStatusCode.InternalServerError, new { Content = new StringContent(e.Message), ReasonPhrase = "Create new availability failed" })); } }