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 int CreateNewSnippet(SnippetDTO snippet) { Guard.ArgNotNull(snippet, "snippet"); int newSnippetId = -1; try { CreateSnippetResponse result = _dataService.CreateSnippet( new CreateSnippetRequest { IsPublic = snippet.IsPublic, Name = snippet.Name, Description = snippet.Description, PreviewData = snippet.PreviewData, Data = snippet.Data, LastModified = snippet.LastModified, Language_Id = snippet.Language_Id, User_Id = snippet.User_Id, User_FormsAuthId = snippet.User_FormsAuthId, Id = -1, Guid = snippet.Guid }); if (result.Success) newSnippetId = result.SnippetId; } catch (Exception ex) { Logger.LogError("Error creating new snippet", ex); } return newSnippetId; }
public SnippetDTO GetSnippetByGuid(string guid) { SnippetDTO returnValue; Guid parsedGuid; if (Guid.TryParse(guid, out parsedGuid)) returnValue = _snippetOperationsEngine.GetSnippetByGuid(parsedGuid); else returnValue = new SnippetDTO(); return returnValue; }
public ActionResult CreateNewPrivateSnippet(CreateSnippetModelPrivate 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 = false, 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 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; }
public GetPagedSnippetListResponse GetPagedSnippetList(GetPagedSnippetListRequest request) { var response = new GetPagedSnippetListResponse(); try { int skipCount = 0; int takeCount = request.SnippetsPerPage; if (request.CurrentPage == 0) request.CurrentPage = 1; if (request.CurrentPage == 1) takeCount = request.SnippetsPerPage; else { skipCount = (request.CurrentPage - 1)*request.SnippetsPerPage; takeCount = request.SnippetsPerPage; } List<Snippet> snippets = _unitOfWork.SnippetRepository.Get( d => d.Id > 0 && ((request.IncludePrivate) ? d.IsPublic == (true | false) : d.IsPublic) && (!(request.IncludePrivate) || (d.User_Id == request.UserId && d.Guid == request.UserGuid))) .OrderByDescending(d => d.LastModified) .Skip(skipCount).Take(takeCount).ToList(); response.Snippets = new List<SnippetDTO>(); foreach (Snippet snippet in snippets) { var temp = new SnippetDTO { Id = snippet.Id, Data = snippet.Data, Description = snippet.Description, Guid = snippet.Guid, IsPublic = snippet.IsPublic, Name = snippet.Name, Language_Id = snippet.Language_Id, PreviewData = snippet.PreviewData, LastModified = snippet.LastModified, User_FormsAuthId = snippet.User_FormsAuthId, User_Id = snippet.User_Id }; ((List<SnippetDTO>) response.Snippets).Add(temp); } response.Success = true; } catch (Exception ex) { response.Success = false; response.FailureInformation = ex.Message; Logger.LogError("GetPagedSnippetList method failed", ex); } return response; }
public GetSnippetByGuidResponse GetSnippetByGuid(GetSnippetByGuidRequest request) { var response = new GetSnippetByGuidResponse(); try { Snippet returnValue = _unitOfWork.SnippetRepository.Get(d => d.Guid == request.Guid).First(); if (returnValue != null) { var dto = new SnippetDTO { Id = returnValue.Id, Guid = returnValue.Guid, Name = returnValue.Name, Description = returnValue.Description, PreviewData = returnValue.PreviewData, Data = returnValue.Data, IsPublic = returnValue.IsPublic, LastModified = returnValue.LastModified, Language_Id = returnValue.Language_Id, User_FormsAuthId = returnValue.User_FormsAuthId, User_Id = returnValue.User_Id }; response.Snippet = dto; } } catch (Exception ex) { response.Success = false; response.FailureInformation = ex.Message; Logger.LogError("GetSnippetByGuid Method Failed", ex); } return response; }