public IActionResult SubmitTicket([FromBody] SubmitTicketViewModel bodyRequest) { var addedTicket = _ticketService.SubmitTicket(bodyRequest.PickedNumbers, bodyRequest.UserEmail); var apiBaseUrl = _configuration.GetValue <string>("ApiBaseUrl"); var response = new { WinnersBoardLink = $"{apiBaseUrl}/api/winner?drawId={addedTicket.DrawId}", Message = "You should wait for the draw and if you get a prize you will see your name on the board" }; var ticketLink = $"{apiBaseUrl}/api/ticket/{addedTicket.Id}";//TODO: implement this(HttpGet action to read specific ticket) return(Created(ticketLink, response)); }
public IActionResult SubmitTicket(SubmitTicketViewModel model) { if (!_settings.ShowTickets) { return(RedirectToAction(nameof(Index), Name)); } if (model == null) { throw new ArgumentNullException(nameof(model)); } if (String.IsNullOrEmpty(model.CaptchaText)) { ModelState.AddModelError(nameof(model.CaptchaText), Languages.LanguageStrings.CodeNotValid); } if (_settings.ShowCaptchaText) { HelpdeskCacheItem helpdeskCache = GetCachedHelpdeskItem(true); if (!model.CaptchaText.Equals(helpdeskCache.CaptchaText, StringComparison.CurrentCultureIgnoreCase)) { ModelState.AddModelError(nameof(model.CaptchaText), Languages.LanguageStrings.CodeNotValid); } } if (ModelState.IsValid) { if (_helpdeskProvider.SubmitTicket(UserId(), model.Department, model.Priority, model.Username, model.Email, model.Subject, model.Message, out HelpdeskTicket ticket)) { return(RedirectToAction(nameof(ViewTicket), Name, new { ticket.Id })); } ModelState.AddModelError(String.Empty, Languages.LanguageStrings.OopsError); } return(View(GetSubmitTicketViewModel(model.Subject, model.Message, model.Username, model.Email))); }