예제 #1
0
        public void CreatePostTransport(PostTransportCreateDto postTransportCreateDto, ApplicationUser user)
        {
            Location locationFrom = new Location()
            {
                Country  = _countryRepository.GetByName(postTransportCreateDto.CountryFrom),
                Locality = _localityRepository.GetByName(postTransportCreateDto.LocalityFrom)
            };

            Location locationTo = new Location()
            {
                Country  = _countryRepository.GetByName(postTransportCreateDto.CountryTo),
                Locality = _localityRepository.GetByName(postTransportCreateDto.LocalityTo)
            };

            TransportSpecification transportSpecification = new TransportSpecification()
            {
                Description    = postTransportCreateDto.TransportDescription,
                WeightCapacity = postTransportCreateDto.WeightCapacity,
                VolumeCapacity = postTransportCreateDto.VolumeCapacity
            };

            var postFactory = new PostFactory();
            var post        = postFactory.CreateNewPost(user, postTransportCreateDto.DateFrom, postTransportCreateDto.DateTo, locationFrom, locationTo,
                                                        postTransportCreateDto.PostTransportTypes, postTransportCreateDto.Price, postTransportCreateDto.AdditionalInfo, transportSpecification);

            _locationRepository.Save(locationFrom);
            _locationRepository.Save(locationTo);
            _transportSpecRepository.Save(transportSpecification);
            _postTransportRepository.Save(post as PostTransport);
        }
예제 #2
0
        public void CreatePostCargo(PostCargoCreateDto createPostCargoDto, ApplicationUser user)
        {
            Location locationFrom = new Location()
            {
                Country  = _countryRepository.GetByName(createPostCargoDto.CountryFrom),
                Locality = _localityRepository.GetByName(createPostCargoDto.LocalityFrom)
            };

            Location locationTo = new Location()
            {
                Country  = _countryRepository.GetByName(createPostCargoDto.CountryTo),
                Locality = _localityRepository.GetByName(createPostCargoDto.LocalityTo)
            };

            CargoSpecification cargoSpecification = new CargoSpecification()
            {
                Description = createPostCargoDto.CargoDescription,
                Weight      = createPostCargoDto.CargoWeight,
                Volume      = createPostCargoDto.CargoVolume
            };

            var postFactory = new PostFactory();
            var post        = postFactory.CreateNewPost(user, createPostCargoDto.DateFrom, createPostCargoDto.DateTo, locationFrom, locationTo,
                                                        createPostCargoDto.PostTransportTypes, createPostCargoDto.Price, createPostCargoDto.AdditionalInfo, cargoSpecification);

            _locationRepository.Save(locationFrom);
            _locationRepository.Save(locationTo);
            _cargospecRepository.Save(cargoSpecification);
            _postCargoRepository.Save(post as PostCargo);
        }