public async Task <ActionResult> New(NewJobOpportunityViewModel model, bool captchaValid) { if (!ModelState.IsValid) { return(View(model) .WithError("Han ocurrido errores de validación que no permiten continuar el proceso")); } if (string.IsNullOrWhiteSpace(model.LocationPlaceId)) { ModelState.AddModelError(nameof(model.LocationName), ""); return(View(model).WithError("Debe seleccionar una Localidad.")); } if (!string.IsNullOrWhiteSpace(model.CompanyLogoUrl) && !UrlHelperExtensions.IsImageAvailable(model.CompanyLogoUrl)) { return(View(model).WithError("La url del logo debe ser a una imagen en formato png o jpg")); } var jobOpportunity = model.ToEntity(); var userId = User.Identity.GetUserId(); _jobOpportunityService.CreateNewJobOpportunity(jobOpportunity, userId); await _twitterService.PostNewJobOpportunity(jobOpportunity, Url).ConfigureAwait(false); return(RedirectToAction(nameof(Detail), new { id = UrlHelperExtensions.SeoUrl(jobOpportunity.Id, jobOpportunity.Title) })); }