public async Task <string> ClaimPromotionAsync(string promoId, string name, string email, string clientId) { Promotion clientPromotion = null; IRestResponse response = null; try { using (_DbContext) { clientPromotion = _DbContext.Promotion .Where(c => c.Id == promoId).First(); response = await _PromoService.SendPromoEmail(email, name, clientPromotion.Code); if (response.IsSuccessful) { ApplicationUser appUser = _DbContext.Users.Where(u => u.Id == clientId).First(); _PromoService.HandleCLaimedPromotion(clientPromotion, _DbContext, name, email, appUser); return("SUCCESS"); } else { return("ERROR"); } } } catch (Exception ex) { //todo log exception return("ERROR"); } }