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)); }
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)); }
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(); })); }
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; })); }
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)); }
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(); }
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(); }
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()); }
public Task UpdateTypeOfCargoAsync(TypeOfCargoDto typeOfCargoDto) { this.Validate(typeOfCargoDto); this.typeOfCargoRepository.Entity.AddOrUpdate(SimpleAutoMapperTransformer.Transform <TypeOfCargoDto, TypeOfCargo>(typeOfCargoDto)); return(this.typeOfCargoRepository.SaveChangesAsync()); }