public int ConfirmSharePet(string token) { var request = new PetShareConfirmRequest { Token = Guid.Parse(token) }; return(_petServiceClient.ConfirmSharePet(request)); }
public async Task <int> ConfirmSharePetAsync(PetShareConfirmRequest request) { if (request == null) { throw new ArgumentNullException(nameof(request)); } var records = await _petDataAccess.ConfirmSharePetAsync(request) .ConfigureAwait(false); return(records); }
public async Task <int> ConfirmSharePetAsync(PetShareConfirmRequest request) { long records = 0; using (var dbConnection = _dbConnectionFactory.Open()) { using (var trans = dbConnection.OpenTransaction(IsolationLevel.ReadCommitted)) { var requestRecord = await dbConnection.SingleAsync <OwnerSharedPetTableModel>(x => x.TokenCode == request.Token && !x.Used) .ConfigureAwait(false); if (requestRecord != null) { var pet = await dbConnection.SingleAsync <PetTableModel>(x => x.Id == requestRecord.PetTableModelId) .ConfigureAwait(false); var owner = await dbConnection.SingleAsync <OwnerTableModel>(x => x.Email == requestRecord.ToOwnerEmail) .ConfigureAwait(false); var existSharedRecord = await dbConnection.SingleAsync <OwnerPetTableModel>(x => x.PetTableModelId == pet.Id && x.OwnerTableModelId == owner.Id) .ConfigureAwait(false); if (existSharedRecord == null) { var ownerPetTable = GetNewOwnerPetTableModel(owner.Id, pet.Id, false); records = await dbConnection.InsertAsync <OwnerPetTableModel>(ownerPetTable, selectIdentity : true) .ConfigureAwait(false); } await dbConnection.UpdateOnlyAsync(new OwnerSharedPetTableModel { Used = true }, x => x.Used, x => x.Id == requestRecord.Id) .ConfigureAwait(false); await dbConnection.UpdateOnlyAsync(new OwnerSharedPetTableModel { UsedOn = System.DateTime.Now }, x => x.UsedOn, x => x.Id == requestRecord.Id) .ConfigureAwait(false); trans.Commit(); } } } return((int)records); }
public int ConfirmSharePet(PetShareConfirmRequest request) { var response = _findMyPetClient.JsonClient().Put(request); return(response); }
public async Task <int> Put(PetShareConfirmRequest request) { return(await _petProvider.ConfirmSharePetAsync(request) .ConfigureAwait(false)); }