public SnippetDTO CreateSnippet(SnippetDTO snippet, LanguageDTO language, UserDTO user, IEnumerable<FileDTO> files, IEnumerable<HyperlinkDTO> links) { SnippetDTO returnDTO = snippet; if (snippet.Data == null || (language == null || language.Id <= 0)) return null; if (snippet.Language_Id > 0) { snippet.Language_Id = language.Id; snippet.PreviewData = GetPreviewData(snippet.Data); snippet.LastModified = DateTime.UtcNow; snippet.User_Id = user.Id; snippet.User_FormsAuthId = user.FormsAuthId; } int result = _snippetOperationsEngine.CreateNewSnippet(snippet); if (result > 0) { returnDTO.Id = snippet.Id; returnDTO.Guid = snippet.Guid; // Snippet creation was successult. Now we have a SnippetId and can insert // any hyperlinks or files // Hyperlinks first if (links != null && links.Any()) { foreach (HyperlinkDTO hyperlinkDTO in links) { // Update the hyperlink's Snippet Id since we successfully sved it hyperlinkDTO.Snippet_Id = result; int createHyperlinkResponse = _snippetOperationsEngine.CreateNewHyperlink(hyperlinkDTO); if (createHyperlinkResponse <= 0) Logger.LogInfo( string.Format("Failed to create hyperlink uri {0} for snippet id {1}", hyperlinkDTO.Uri, hyperlinkDTO.Snippet_Id), LogType.Notify); } } // Files now if (files != null && files.Any()) { foreach (FileDTO fileDTO in files) { // Update the SnippetId with newly created id fileDTO.Snippet_Id = result; int createFileResponse = _snippetOperationsEngine.CreateNewFile(fileDTO); if (createFileResponse <= 0) Logger.LogInfo(string.Format("Failed to create new file {0} for snippet id {1}", fileDTO.Id, fileDTO.Snippet_Id), LogType.Notify); } } } return returnDTO; }
public SnippetDTO CreateSnippet(SnippetDTO snippet, LanguageDTO language, UserDTO user, IEnumerable<FileDTO> files, IEnumerable<HyperlinkDTO> links) { SnippetDTO newSnippet = SnippetManager.CreateSnippet(snippet, language, user, files, links); return newSnippet; }