public async Task <PersonelVm> Handle(CreatePersonelAddressCommand request, CancellationToken cancellationToken) { var tranId = ""; try { DomainLayer.Entities.PersonelAddress newPersonelAddress = request; await ValidateInput(request); tranId = AppDbContext.BeginTransaction(); await DoDbActions(newPersonelAddress, request, cancellationToken); await AppDbContext.CommitTransactionAsync(tranId); return(await PersonelFinder.Handle(new GetPersonelByIdQuery { PersonelId = request.PersonelId }, cancellationToken)); } catch (Exception e) { await Logger.ErrorAsync(e); await AppDbContext.RollbackTransactionAsync(tranId); throw; } }
private async System.Threading.Tasks.Task DoDbActions( DomainLayer.Entities.PersonelAddress personelAddress, UpdatePersonelAddressCommand request, CancellationToken cancellationToken) { var personel = await AppDbContext.Personels.FindAsync(request.PersonelId); await UpdateAddressInPersonel(personelAddress, personel, cancellationToken); }
private async System.Threading.Tasks.Task CheckForPersonel(DomainLayer.Entities.PersonelAddress value, List <Exception> res) { var personel = await PersonelFinder.Handle(new GetPersonelByIdQuery { PersonelId = value.Personel.Id }, new System.Threading.CancellationToken()); if (personel == null) { res.Add(new NotFoundException()); } GC.SuppressFinalize(personel); }
private async System.Threading.Tasks.Task UpdateAddressInPersonel( DomainLayer.Entities.PersonelAddress personelAddress, DomainLayer.Entities.Personel personel, CancellationToken cancellationToken) { var address = personel.Addresses.FirstOrDefault(m => m.Id == personelAddress.Id); address.City = personelAddress.City; address.Country = personelAddress.Country; address.No = personelAddress.No; address.Street = personelAddress.Street; await AppDbContext.SaveChangesAsync(cancellationToken); }
private async System.Threading.Tasks.Task AddAddressIntoPersonel(DomainLayer.Entities.PersonelAddress newPersonelAddress, DomainLayer.Entities.Personel personel, CancellationToken cancellationToken) { personel.Addresses.Add(newPersonelAddress); await AppDbContext.SaveChangesAsync(cancellationToken); }