public ActionResult CreateNewSnippet(CreateSnippetModel inModel) { UserDTO user = GetCurrentUserData(); var model = new CreateSnippetModel(_displayLanguages); if (ModelState.IsValid) { try { var newSnippet = new SnippetDTO { Guid = Guid.NewGuid(), Name = inModel.Name, Description = inModel.Description, Data = Encoding.UTF8.GetBytes(inModel.Data), IsPublic = true, Language_Id = inModel.LanguageId, LastModified = DateTime.UtcNow, User_Id = user.Id, User_FormsAuthId = user.FormsAuthId }; var files = new List<FileDTO>(); if (CurrentSnippet.UploadModel.Files.Any()) { for (int i = 0; i < CurrentSnippet.UploadModel.Files.Count(); i++) { NamedFileWithDescription file = ((List<NamedFileWithDescription>) CurrentSnippet.UploadModel.Files)[i]; var temp = new FileDTO { Name = file.Name, Description = file.Description, Data = file.File.Data, LastModified = DateTime.UtcNow }; files.Add(temp); } } // The new Guid and snippet id should be returned to us newSnippet = _managerService.CreateSnippet( newSnippet, new LanguageDTO {Id = inModel.LanguageId}, user, files.ToArray(), CurrentSnippet.Hyperlinks.ToArray()); var detailsModel = new SnippetDetailsModel { UserId = user.Id, UserGuid = user.FormsAuthId, UserName = user.LoginName, UserAvatar = user.AvatarImage, PreviewData = Encoding.UTF8.GetString(newSnippet.PreviewData), Data = Encoding.UTF8.GetString(newSnippet.Data), Name = newSnippet.Name, Description = newSnippet.Description, IsPublic = inModel.IsPublic, SnippetId = newSnippet.Guid, SnippetUrl = newSnippet.Guid.ToString(), Languages = _displayLanguages, Files = CurrentSnippet.UploadModel.Files ?? new List<NamedFileWithDescription>(), Hyperlinks = CurrentSnippet.Hyperlinks ?? new List<HyperlinkDTO>(), LanguageId = inModel.LanguageId }; UploadedFiles = null; CurrentSnippet.Hyperlinks = null; TempData["Message"] = "Saved Snippet Id: " + newSnippet.Guid + " Successfully"; return PartialView("_SnippetDetailsTablePartial", detailsModel); } catch (Exception ex) { Logger.LogError("CreateNewSnippet action method failed", ex); if (inModel.Languages == null) inModel.Languages = _displayLanguages; if (inModel.Hyperlinks == null) inModel.Hyperlinks = CurrentSnippet.Hyperlinks; if (inModel.UploadModel == null) inModel.UploadModel = CurrentSnippet.UploadModel; TempData["Error"] = "Unknown error occurred."; return View(inModel); } } else { inModel.Languages = _displayLanguages; TempData["Error"] = "Please fix any errors to continue"; return View(inModel); } }
public ActionResult CreateNewSnippet() { var viewModel = new CreateSnippetModel(_displayLanguages) { Data = string.Empty, Name = string.Empty, Description = string.Empty, IsPublic = true, Hyperlinks = new List<HyperlinkDTO>(), UploadModel = new UploadPublicFileModel { Files = new List<NamedFileWithDescription>() }, Languages = _displayLanguages, LanguageId = 1, IsPrivate = false }; return View(viewModel); }