public async Task <ActionResult> CreateArticle(Article article, HttpPostedFileBase image) { try { if (Request.Form["Confirm"] != null) { List <Tuple <string, string> > errors = articleManager.ValidateArticle(article); if (errors.Count == 0) { var user = (User)Session["login"]; article.AuthorId = user.Id; article.ModificationdDate = DateTime.Now; article.CreationDate = DateTime.Now; if (image != null) { var imageData = new byte[image.ContentLength]; image.InputStream.Read(imageData, 0, image.ContentLength); articleManager.CreateArticle(article, imageData); } else { articleManager.CreateArticle(article, null); } return(RedirectToAction("ArticleView", new { id = article.Id })); } else { foreach (Tuple <string, string> t in errors) { ModelState.AddModelError(t.Item1, t.Item2); } return(View(article)); } } else { if (Request.Form["Import"] != null) { return(RedirectToAction("Import")); } return(View()); } } catch (Exception e) { ViewBag.ErrorTitle = "Server Error"; ViewBag.ErrorDescription = "Please try again later"; return(View("~/Views/Shared/ErrorPage.cshtml")); } }