Пример #1
0
        public async Task SignUpDispatcherCompany(DispatcherCompanyAM dispatcherCompanyModel)
        {
            using (var transaction = await TransactionService.BeginTransaction())
            {
                try
                {
                    var domainGarage = await DomainGarageService.GetByAddress(
                        dispatcherCompanyModel.GarageAddress.Country,
                        dispatcherCompanyModel.GarageAddress.Province,
                        dispatcherCompanyModel.GarageAddress.Locality,
                        dispatcherCompanyModel.GarageAddress.District
                        );

                    var domainCompany = await DomainCompanyService.Create(
                        domainGarage.Id,
                        dispatcherCompanyModel.CompanyName);

                    var domainDispatcher = await DomainDispatcherService.Create(
                        dispatcherCompanyModel.Dispatcher.FirstName,
                        dispatcherCompanyModel.Dispatcher.LastName,
                        dispatcherCompanyModel.Dispatcher.PhoneNumber,
                        domainCompany.Id
                        );

                    transaction.Commit();
                }
                catch
                {
                    transaction.Rollback();
                    throw;
                }
            }
        }
        public async Task <Garage> CreateDomainGarage(int cityId, AddressAM address)
        {
            using (var transaction = await TransactionService.BeginTransaction())
            {
                try
                {
                    var domainCity = await CityService.GetDomainCity(cityId);

                    if (domainCity == null)
                    {
                        throw new EntityNotFoundException($"CityId: {cityId} doesn't exist.", "City");
                    }

                    var domainAddress = await AddressService.CreateDomainAddress(AddressKind.Garage, address);

                    var result = await DomainGarageService.Create(cityId, domainAddress.Id, domainCity.PricelistId);

                    transaction.Commit();
                    return(result);
                }
                catch
                {
                    transaction.Rollback();
                    throw;
                }
            }
        }
 public Task <ICollection <string> > GetAvailableDistricts(string country, string province, string locality)
 {
     return(DomainGarageService.GetAvailableDistricts(country, province, locality));
 }
 public Task <ICollection <string> > GetAvailableLocalities(string country, string province)
 {
     return(DomainGarageService.GetAvailableLocalities(country, province));
 }
 public Task <ICollection <string> > GetAvailableProvinces(string country)
 {
     return(DomainGarageService.GetAvailableProvinces(country));
 }
 public Task <Garage> GetDomainGarage(int garageId)
 {
     return(DomainGarageService.Get(garageId));
 }