public async Task <TransportDto> GetTransportByIdAsync(long transportId)
        {
            var transport = await this.transportRepository.Entity.FirstOrDefaultAsync(x => x.TransportId == transportId)
                            ?? throw new ArgumentException("По заданному id транспорт не найден.");

            return(SimpleAutoMapperTransformer.Transform <Transport, TransportDto>(transport));
        }
Esempio n. 2
0
        public async Task <CustomerDto> GetCustomerByIdAsync(long customerId)
        {
            var customer = await this.customerRepository.Entity.FirstOrDefaultAsync(x => x.CustomerId == customerId)
                           ?? throw new ArgumentException("По заданному id клиент не найден.");

            return(SimpleAutoMapperTransformer.Transform <Customer, CustomerDto>(customer));
        }
Esempio n. 3
0
        public Task <IEnumerable <DeliveryDto> > GetAllDeliveriesDtoAsync()
        {
            return(Task.Run(
                       async() =>
            {
                var list = new List <DeliveryDto>();
                foreach (var delivery in this.deliveryRepository.Entity.AsEnumerable())
                {
                    var deliveryDto = SimpleAutoMapperTransformer.Transform <Delivery, DeliveryDto>(delivery);
                    deliveryDto.Customer = (await this.CustomerManager.GetCustomerByIdAsync(delivery.CustomerId)).ToString();
                    deliveryDto.TypeOfCargo = (await this.TypeOfCargoManager.GetTypeOfCargoByIdAsync(delivery.TypeOfCargoId)).ToString();
                    delivery.Departure =
                        await this.DepartureManager.GetDepartureByIdAsync(delivery.DepartureId);
                    deliveryDto.Courier =
                        (await this.CourierManager.GetCourierDtoByIdAsync(delivery.Departure.CourierId))
                        .ToString();
                    deliveryDto.Transport =
                        (await this.TransportManager.GetTransportByIdAsync(delivery.Departure.TransportId))
                        .ToString();
                    deliveryDto.DateOfDeparture = delivery.Departure.DateOfDeparture;
                    deliveryDto.PaymentForMileage = delivery.Departure.PaymentForMileage;

                    list.Add(deliveryDto);
                }

                return list.AsEnumerable();
            }));
        }
Esempio n. 4
0
        public async Task <DeliveryDto> GetDeliveryDtoByIdAsync(long deliveryId)
        {
            var delivery = await this.deliveryRepository.Entity.FirstOrDefaultAsync(x => x.DeliveryId == deliveryId)
                           ?? throw new ArgumentException("По заданному id доставка не найдена.");

            return(await Task.Run(
                       async() =>
            {
                var deliveryDto = SimpleAutoMapperTransformer.Transform <Delivery, DeliveryDto>(delivery);
                deliveryDto.Customer = (await this.CustomerManager.GetCustomerByIdAsync(delivery.CustomerId)).ToString();
                deliveryDto.TypeOfCargo = (await this.TypeOfCargoManager.GetTypeOfCargoByIdAsync(delivery.TypeOfCargoId)).ToString();
                delivery.Departure =
                    await this.DepartureManager.GetDepartureByIdAsync(delivery.DepartureId);
                deliveryDto.Courier =
                    (await this.CourierManager.GetCourierDtoByIdAsync(delivery.Departure.CourierId))
                    .ToString();
                deliveryDto.Transport =
                    (await this.TransportManager.GetTransportByIdAsync(delivery.Departure.TransportId))
                    .ToString();
                deliveryDto.DateOfDeparture = delivery.Departure.DateOfDeparture;
                deliveryDto.PaymentForMileage = delivery.Departure.PaymentForMileage;

                return deliveryDto;
            }));
        }
Esempio n. 5
0
        public async Task <TypeOfCargoDto> GetTypeOfCargoByIdAsync(long typeOfCargoId)
        {
            var typeOfCargo = await this.typeOfCargoRepository.Entity.FirstOrDefaultAsync(x => x.TypeOfCargoId == typeOfCargoId)
                              ?? throw new ArgumentException("По заданному id тип груза не найден.");

            return(SimpleAutoMapperTransformer.Transform <TypeOfCargo, TypeOfCargoDto>(typeOfCargo));
        }
Esempio n. 6
0
        public async Task AddTypeOfCargoAsync(TypeOfCargoDto typeOfCargoDto)
        {
            var typeOfCargo = SimpleAutoMapperTransformer.Transform <TypeOfCargoDto, TypeOfCargo>(typeOfCargoDto);

            this.Validate(typeOfCargoDto);

            if (await this.typeOfCargoRepository.Entity.AnyAsync(
                    x => x.Name == typeOfCargo.Name && x.Description == typeOfCargo.Description))
            {
                throw new ArgumentException("Такой тип груза уже существует.");
            }

            this.typeOfCargoRepository.Entity.Add(typeOfCargo);
            await this.typeOfCargoRepository.SaveChangesAsync();
        }
Esempio n. 7
0
        public async Task AddCustomerAsync(CustomerDto customerDto)
        {
            var customer = SimpleAutoMapperTransformer.Transform <CustomerDto, Customer>(customerDto);

            this.Validate(customerDto);

            if (await this.customerRepository.Entity.AnyAsync(
                    x => x.LastName == customer.LastName && x.Name == customer.Name &&
                    x.Patronymic == customer.Patronymic &&
                    x.Address == customer.Address))
            {
                throw new ArgumentException("Такой клиент уже существует.");
            }

            this.customerRepository.Entity.Add(customer);
            await this.customerRepository.SaveChangesAsync();
        }
        public async Task AddTransportAsync(TransportDto transportDto)
        {
            var transport = SimpleAutoMapperTransformer.Transform <TransportDto, Transport>(transportDto);

            this.Validate(transportDto);

            if (await this.transportRepository.Entity.AnyAsync(
                    x => x.NumberOfCar == transport.NumberOfCar && x.CarModel == transport.CarModel &&
                    x.DateOfRegistration
                    == transport.DateOfRegistration))
            {
                throw new ArgumentException("Такой транспорт уже существует.");
            }

            this.transportRepository.Entity.Add(transport);
            await this.transportRepository.SaveChangesAsync();
        }
Esempio n. 9
0
 public Task UpdateCustomerAsync(CustomerDto customerDto)
 {
     this.Validate(customerDto);
     this.customerRepository.Entity.AddOrUpdate(SimpleAutoMapperTransformer.Transform <CustomerDto, Customer>(customerDto));
     return(this.customerRepository.SaveChangesAsync());
 }
 public Task UpdateTransportAsync(TransportDto transportDto)
 {
     this.Validate(transportDto);
     this.transportRepository.Entity.AddOrUpdate(SimpleAutoMapperTransformer.Transform <TransportDto, Transport>(transportDto));
     return(this.transportRepository.SaveChangesAsync());
 }
Esempio n. 11
0
 public Task UpdateTypeOfCargoAsync(TypeOfCargoDto typeOfCargoDto)
 {
     this.Validate(typeOfCargoDto);
     this.typeOfCargoRepository.Entity.AddOrUpdate(SimpleAutoMapperTransformer.Transform <TypeOfCargoDto, TypeOfCargo>(typeOfCargoDto));
     return(this.typeOfCargoRepository.SaveChangesAsync());
 }