public async Task <WishlistPresent> GetPresent(string partitionKey, string rowKey) { try { TableOperation retrieveOperation = TableOperation.Retrieve <WishlistPresent>(partitionKey, rowKey); TableResult result = await presentListTable.ExecuteAsync(retrieveOperation); WishlistPresent presentItem = result.Result as WishlistPresent; if (presentItem != null) { Console.WriteLine("\t{0}\t{1}\t{2}\t{3}", presentItem.PartitionKey, presentItem.RowKey, presentItem.Title, presentItem.Description); } if (result.RequestCharge.HasValue) { Console.WriteLine("Request Charge of Retrieve Operation: " + result.RequestCharge); } return(presentItem); } catch (StorageException e) { Console.WriteLine(e.Message); throw; } }
public async Task <WishlistPresent> InsertOrMergePresentAsync(WishlistPresent entity) { if (entity == null) { throw new ArgumentNullException("entity"); } try { // Create the InsertOrReplace table operation TableOperation insertOrMergeOperation = TableOperation.InsertOrMerge(entity); // Execute the operation. TableResult result = await this.presentListTable.ExecuteAsync(insertOrMergeOperation); WishlistPresent insertedPresent = result.Result as WishlistPresent; if (result.RequestCharge.HasValue) { Console.WriteLine("Request Charge of InsertOrMerge Operation: " + result.RequestCharge); } return(insertedPresent); } catch (StorageException e) { Console.WriteLine(e.Message); throw; } }
public async Task <bool> UpdatePresentAsync([FromBody] WishlistPresent updatedPresent, string id) { var purchasedPresent = updatedPresent.Purchase(); //updatedPresent.RemainingAmount = updatedPresent.RemainingAmount - updatedPresent.NewlyBought; var result = await _presentService.InsertOrMergePresentAsync(purchasedPresent); var successEmail = await _mailService.SendEmail(purchasedPresent); return(result != null); }
public async Task <WishlistPresent> CalculateValues(WishlistPresent present) { present.RemainingAmount = present.RequiredAmount; var purchasedPresents = await _presentService.GetAllPurchasesPartition(present.PartitionKey + present.RowKey); if (purchasedPresents.Any()) { var purchasedSum = purchasedPresents.Sum(pp => pp.NewlyBought); present.RemainingAmount = present.RequiredAmount - purchasedSum >= 0 ? present.RequiredAmount - purchasedSum : 0; } return(present); }