public async Task <Response> SellItem(Guid AdID, Guid buyerID) { Response response = new Response(); try { using (TransactionScope scope = new TransactionScope()) { DataResponse <Ad> adResponse = await GetObjectByID(AdID); if (adResponse.Data.Count > 0) { Response ChangeCash = await _userRepository.ChangeCashValues(adResponse.Data[0].SellerUserID, buyerID, adResponse.Data[0].Price); Response ChangeOwnerItem = await _itemRepository.ChangeOwner(buyerID, adResponse.Data[0].ItemID); if (ChangeCash.Success && ChangeOwnerItem.Success) { await _saleRepository.Creat(new Sale(buyerID, AdID)); await _context.SaveChangesAsync(); return(response); } } } } catch (Exception ex) { response.AddError("Banco de dados", "Error no banco de dados, contate um suporte"); StringBuilder logMessage = new StringBuilder(); logMessage.Append(DateTime.Now.ToString()); log.Error(logMessage.AppendLine(ex.Message).AppendLine(ex.StackTrace).ToString()); } return(response); }
public async Task <Response> Creat(Sale objectToCreat) { Response response = Validate.SaleValidate(false, objectToCreat); return(response.HasError() ? response : await _repository.Creat(objectToCreat)); }