public async Task <IActionResult> SendGift(TransferDTOin dto) { if (!Request.Headers["Referer"].ToString().TrimEnd('/').EndsWith("/SendGift")) { // We arrive from elsewhere so not all data filled and no warnings needed return(View(dto)); } if (!ModelState.IsValid) { ViewData["Error"] = GlobalConstants.GeneralError(ModelState.Values.SelectMany(v => v.Errors).First().ErrorMessage); return(View(dto)); } try { await transferService.TransferCreditsAsync(User, dto); } catch (ArgumentOutOfRangeException ex) { ViewData["Error"] = ex.ParamName; return(View(dto)); } return(RedirectToAction("Index")); }