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");
        }
Exemple #2
0
        public FluentRecordBase AddTransportProviderAvailability(
            )
        {
            //
            // DEPENDENCIES
            _servTPA = container.GetRequiredService <ITransportProvidersAvailabilityService>();

            //
            // ARRANGE
            _tpa = (TransportProviderAvailabilities)Records.transportProviderAvailabilities.Clone();

            //
            // ACT
            _servTPA.Create(_tpa, _user);
            return(this);
        }
Exemple #3
0
        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"
                }));
            }
        }