Beispiel #1
0
        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);
        }
Beispiel #3
0
        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"
                });
            }
        }