public virtual IActionResult AddPaperVersion( [FromQuery] string loginToken, [FromBody] PaperVersion body) { if (string.IsNullOrEmpty(loginToken)) { return(BadRequest("Login token is required")); } var loggedInUser = _tokenizer.ValidateToken(loginToken); if (loggedInUser != null) { if (body != null) { body.AuditEnteredBy = loggedInUser; body.AuditEntered = DateTime.Now; body.AuditUpdatedBy = loggedInUser; body.AuditUpdated = DateTime.Now; _dbContext.PaperVersions.Add(body); _dbContext.SaveChanges(); } if (body != null && body.Id != null) { return(new OkObjectResult(body)); } else { return(NotFound("Record was not added")); } } else { return(BadRequest("Invalid or expired login token")); } }
/// <summary> /// Test Retrieving a Record from the Data Base /// </summary> public void TestGet() { using (var controller = new PaperVersionApiController(_dbContext, _logger)) { if (saveItem == null || saveItem.Id == null) { TestAdd(); } var response = controller.GetPaperVersion(loginToken, saveItem.Id) as OkObjectResult; Assert.IsNotNull(response); Assert.AreEqual(200, response.StatusCode); testItem = response.Value as PaperVersion; Assert.AreEqual(testItem.Id, saveItem.Id); Assert.AreEqual(testItem.Name, saveItem.Name); Assert.AreEqual(testItem.Description, saveItem.Description); Assert.AreEqual(testItem.Content, saveItem.Content); Assert.AreEqual(testItem.ContributorId, saveItem.ContributorId); Assert.AreEqual(testItem.PaperId, saveItem.PaperId); Assert.AreEqual(testItem.Comments, saveItem.Comments); Assert.AreEqual(testItem.AuditEntered, saveItem.AuditEntered); Assert.AreEqual(testItem.AuditEnteredBy, saveItem.AuditEnteredBy); Assert.AreEqual(testItem.AuditUpdated, saveItem.AuditUpdated); Assert.AreEqual(testItem.AuditUpdatedBy, saveItem.AuditUpdatedBy); } }
public int DeletePaper(long id) { Paper paper = _context.Paper.Include(p => p.PaperVersions).FirstOrDefault(s => s.Id == id); if (paper.PaperVersions.Count == 0) { _context.Paper.Remove(paper); } else { paper.Title = paper.Title + " (deleted)"; paper.IsDeleted = true; foreach (var version in paper.PaperVersions) { PaperVersion entityVersion = _context.PaperVerison.Include(v => v.Reviews).FirstOrDefault(v => v.Id == version.Id); entityVersion.IsDeleted = true; if (version.Reviews.Count > 0) { foreach (var review in version.Reviews) { Review entityReview = _context.Review.FirstOrDefault(r => r.Id == review.Id); review.IsDeleted = true; } } } } int result = _context.SaveChanges(); return(result); }
/// <summary> /// Test Setters for PaperVersion Object /// </summary> public void TestSetters() { testItem = new PaperVersion() { Id = 15L, // Id Name = "Name", // Name Description = "Description", // Description Content = "Content", // Content ContributorId = 15L, // ContributorId PaperId = 15L, // PaperId Comments = "Comments", // Comments AuditEntered = testDate, // AuditEntered AuditEnteredBy = 15L, // AuditEnteredBy AuditUpdated = testDate, // AuditUpdated AuditUpdatedBy = 15L, // AuditUpdatedB }; Assert.AreEqual(15L, testItem.Id); Assert.AreEqual("Name", testItem.Name); Assert.AreEqual("Description", testItem.Description); Assert.AreEqual("Content", testItem.Content); Assert.AreEqual(15L, testItem.ContributorId); Assert.AreEqual(15L, testItem.PaperId); Assert.AreEqual("Comments", testItem.Comments); Assert.AreEqual(testDate, testItem.AuditEntered); Assert.AreEqual(15L, testItem.AuditEnteredBy); Assert.AreEqual(testDate, testItem.AuditUpdated); Assert.AreEqual(15L, testItem.AuditUpdatedBy); Assert.AreEqual(default(Contributor), testItem.Contributor); Assert.AreEqual(default(Paper), testItem.Paper); }
public async Task <IActionResult> Create( long?id, long?contributorId, long?paperId, string referer, string sortOrder, string searchString, int?page, int?pageSize, [Bind("Id,Name,Description,Content,ContributorId,PaperId,Comments,AuditEntered,AuditEnteredBy,AuditUpdated,AuditUpdatedBy")] PaperVersion item, string currentFilter = "") { // pass page configuration to Views ViewData["CurrentSort"] = sortOrder; ViewData["sortOrder"] = sortOrder; ViewData["searchString"] = searchString; ViewData["page"] = page; ViewData["pageSize"] = pageSize; ViewData["currentFilter"] = currentFilter; ViewData["contributorId"] = contributorId; ViewData["paperId"] = paperId; if (ModelState.IsValid) { _context.Add(item); await _context.SaveChangesAsync(); if (referer == null) { return(RedirectToAction("Index")); } return(new RedirectResult(referer)); } return(View(item)); }
/// <summary> /// Test Full Constructor for PaperVersion Object /// </summary> public void TestFullConstructor() { testItem = new PaperVersion( 0L // Id , "Name" // Name , "Description" // Description , "Content" // Content , 15L // ContributorId , 15L // PaperId , "Comments" // Comments , testDate // AuditEntered , 15L // AuditEnteredBy , testDate // AuditUpdated , 15L // AuditUpdatedBy ); Assert.AreEqual("Name", testItem.Name); Assert.AreEqual("Description", testItem.Description); Assert.AreEqual("Content", testItem.Content); Assert.AreEqual(15L, testItem.ContributorId); Assert.AreEqual(15L, testItem.PaperId); Assert.AreEqual("Comments", testItem.Comments); Assert.AreEqual(testDate, testItem.AuditEntered); Assert.AreEqual(15L, testItem.AuditEnteredBy); Assert.AreEqual(testDate, testItem.AuditUpdated); Assert.AreEqual(15L, testItem.AuditUpdatedBy); Assert.AreEqual(default(Contributor), testItem.Contributor); Assert.AreEqual(default(Paper), testItem.Paper); }
public async Task <IActionResult> Edit( long?id, long?contributorId, long?paperId, string referer, string sortOrder, string searchString, int?page, int?pageSize, [Bind("Id,Name,Description,Content,ContributorId,PaperId,Comments,AuditEntered,AuditEnteredBy,AuditUpdated,AuditUpdatedBy")] PaperVersion item, string currentFilter = "") { // pass page configuration to Views ViewData["CurrentSort"] = sortOrder; ViewData["sortOrder"] = sortOrder; ViewData["searchString"] = searchString; ViewData["page"] = page; ViewData["pageSize"] = pageSize; ViewData["currentFilter"] = currentFilter; ViewData["contributorId"] = contributorId; ViewData["paperId"] = paperId; if (id != item.Id) { return(NotFound()); } var oldItem = _context.PaperVersions.AsNoTracking().SingleOrDefault(m => m.Id == id); if (oldItem == null) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(item); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!PaperVersionExists(item.Id)) { return(NotFound()); } else { throw; } } if (referer == null) { return(RedirectToAction("Index")); } return(new RedirectResult(referer)); } return(View(item)); }
public int AddPaperVersion(PaperVersionDTO paperVersion) { PaperVersion newPaper = Mapper.Map <PaperVersion>(paperVersion); _context.PaperVerison.Add(newPaper); _context.SaveChanges(); return((int)newPaper.Id); }
/// <summary> /// This method delete completely Version! /// </summary> /// <param name="id"></param> /// <returns></returns> public int DeleteVersion(long id) { PaperVersion paperVersion = _context.PaperVerison.FirstOrDefault(s => s.Id == id); //paperVersion.IsDeleted = true; _context.PaperVerison.Remove(paperVersion); int result = _context.SaveChanges(); return(result); }
public void PaperVersionApiFullTest() { testItem = null; saveItem = null; TestAdd(); TestGet(); TestUpdate(); TestRevert(); TestList(); TestListCount(); TestSelect(); TestSearch(); TestSearchCount(); TestDelete(); }
/// <summary> /// View Component PaperVersion /// </summary> /// <param name="id">Id of record to display</param> /// <param name="selectedId">Id of already selected id</param> /// <param name="referred">referring callback URI</param> /// <param name="returnField">The parameter name to pass back for select view</param> /// <param name="viewType">The type of reference to render</param> /// <param name="contributorId">Hold Filter on contributorId (null to not filter)</param> /// <param name="paperId">Hold Filter on paperId (null to not filter)</param> /// <param name="auditEnteredBy">Hold Filter on auditEnteredBy (null to not filter)</param> /// <param name="auditUpdatedBy">Hold Filter on auditUpdatedBy (null to not filter)</param> /// <param name="sortOrder">Page Sort Order</param> /// <param name="searchString">Search String to limit results</param> /// <param name="page">Page number of results, starting at 0</param> /// <param name="pageSize">Page size to display</param> /// <param name="currentFilter">Last search string while paging</param> /// <returns>Task Action Result</returns> public async Task <IViewComponentResult> InvokeAsync( long?id, long?selectedId, string referred, string returnField, string viewType, long?contributorId, long?paperId, long?auditEnteredBy, long?auditUpdatedBy, string sortOrder, string searchString, int?page, int?pageSize, string currentFilter) { if (string.IsNullOrEmpty(viewType)) { viewType = "Default"; } // pass page configuration to Views ViewData["id"] = id; ViewData["selectedId"] = selectedId; ViewData["referred"] = referred; if (returnField == null) { returnField = "paperVersionId"; } ViewData["returnField"] = returnField; ViewData["viewType"] = viewType; ViewData["CurrentSort"] = sortOrder; ViewData["sortOrder"] = sortOrder; ViewData["searchString"] = searchString; ViewData["page"] = page; ViewData["pageSize"] = pageSize; ViewData["currentFilter"] = currentFilter; ViewData["contributorId"] = contributorId; ViewData["paperId"] = paperId; ViewData["auditEnteredBy"] = auditEnteredBy; ViewData["auditUpdatedBy"] = auditUpdatedBy; var item = await _context.PaperVersions.SingleOrDefaultAsync(m => m.Id == id); if (item == null) { item = new PaperVersion(); } return(View(viewType, item)); }
/// <summary> /// Setup a test item /// </summary> public void SetupTestItem() { testItem = new PaperVersion() { Name = "Name", Description = "Description", Content = "Content", ContributorId = null, PaperId = null, Comments = "Comments", AuditEntered = testDate, AuditEnteredBy = null, AuditUpdated = testDate, AuditUpdatedBy = null, }; }
/// <summary> /// Test Adding a Record to the Data Base /// </summary> public void TestAdd() { using (var controller = new PaperVersionApiController(_dbContext, _logger)) { if (saveItem == null || saveItem.Id == null) { SetupTestItem(); } Assert.IsNull(testItem.Id); var response = controller.AddPaperVersion(loginToken, testItem) as OkObjectResult; Assert.IsNotNull(response); Assert.AreEqual(200, response.StatusCode); saveItem = response.Value as PaperVersion; Assert.IsNotNull(saveItem); Assert.IsNotNull(saveItem.Id); } }
/// <summary> /// Test Default Constructor for PaperVersion Object /// </summary> public void TestDefaultConstructor() { testItem = new PaperVersion(); Assert.AreEqual(default(long?), testItem.Id); Assert.AreEqual(default(String), testItem.Name); Assert.AreEqual(default(String), testItem.Description); Assert.AreEqual(default(String), testItem.Content); Assert.AreEqual(default(long?), testItem.ContributorId); Assert.AreEqual(default(long?), testItem.PaperId); Assert.AreEqual(default(String), testItem.Comments); Assert.AreEqual(default(DateTime?), testItem.AuditEntered); Assert.AreEqual(default(long?), testItem.AuditEnteredBy); Assert.AreEqual(default(DateTime?), testItem.AuditUpdated); Assert.AreEqual(default(long?), testItem.AuditUpdatedBy); Assert.AreEqual(default(Contributor), testItem.Contributor); Assert.AreEqual(default(Paper), testItem.Paper); }
/// <summary> /// Test Other Methods for PaperVersion Object /// </summary> public void TestMethods() { testItem = new PaperVersion() { Id = 15L, Name = "Name", Description = "Description", Content = "Content", ContributorId = 15L, PaperId = 15L, Comments = "Comments", AuditEntered = testDate, AuditEnteredBy = 15L, AuditUpdated = testDate, AuditUpdatedBy = 15L }; testItem2 = new PaperVersion() { Id = 15L, Name = "Name", Description = "Description", Content = "Content", ContributorId = 15L, PaperId = 15L, Comments = "Comments", AuditEntered = testDate, AuditEnteredBy = 15L, AuditUpdated = testDate, AuditUpdatedBy = 15L }; Assert.AreEqual(testItem.GetHashCode(), testItem2.GetHashCode()); Assert.AreEqual(testItem.GetType(), testItem2.GetType()); Assert.AreEqual(testItem.ToJson(), testItem2.ToJson()); Assert.AreEqual(testItem.ToString(), testItem2.ToString()); Assert.IsTrue(testItem.Equals(testItem2)); Assert.IsTrue(testItem2.Equals(testItem)); Assert.IsTrue(testItem == testItem2); Assert.IsFalse(testItem2 != testItem); }
/// <summary> /// GET /PaperVersions/Create /// </summary> /// <param name="contributorId">Hold Filter on contributorId (null to not filter)</param> /// <param name="paperId">Hold Filter on paperId (null to not filter)</param> /// <param name="referer">The go-back url</param> /// <param name="sortOrder">Page Sort Order</param> /// <param name="searchString">Search String to limit results</param> /// <param name="page">Page number of results, starting at 0</param> /// <param name="pageSize">Page size to display</param> /// <param name="currentFilter">Last search string while paging</param> /// <returns>Task Action Result</returns> public IActionResult Create( long?contributorId, long?paperId, string referer, string sortOrder, string searchString, int?page, int?pageSize, string currentFilter = "") { // pass page configuration to Views if (referer == null) { referer = Request.Headers["Referer"]; } ViewData["referer"] = referer; ViewData["CurrentSort"] = sortOrder; ViewData["sortOrder"] = sortOrder; ViewData["searchString"] = searchString; ViewData["page"] = page; ViewData["pageSize"] = pageSize; ViewData["currentFilter"] = currentFilter; ViewData["contributorId"] = contributorId; ViewData["paperId"] = paperId; var newItem = new PaperVersion(); if (contributorId != null) { newItem.ContributorId = contributorId; } if (paperId != null) { newItem.PaperId = paperId; } return(View(newItem)); }
public PaperVersion PutPaperVersion(PaperVersion paperVersion) { throw new NotImplementedException(); }
public virtual IActionResult UpdatePaperVersion( [FromQuery] string loginToken, [FromBody] PaperVersion body) { if (string.IsNullOrEmpty(loginToken)) { return(BadRequest("Login token is required")); } var loggedInUser = _tokenizer.ValidateToken(loginToken); if (loggedInUser != null) { var itemToUpdate = _dbContext.PaperVersions.AsNoTracking().SingleOrDefault(b => b.Id == body.Id); if (itemToUpdate != null) { body.AuditEnteredBy = itemToUpdate.AuditEnteredBy; body.AuditEntered = itemToUpdate.AuditEntered; body.AuditUpdatedBy = loggedInUser; body.AuditUpdated = DateTime.Now; if (body.Name != null && !body.Name.Equals(itemToUpdate.Name)) { itemToUpdate.Name = body.Name; } if (body.Description != null && !body.Description.Equals(itemToUpdate.Description)) { itemToUpdate.Description = body.Description; } if (body.Content != null && !body.Content.Equals(itemToUpdate.Content)) { itemToUpdate.Content = body.Content; } if (body.ContributorId != null && !body.ContributorId.Equals(itemToUpdate.ContributorId)) { itemToUpdate.ContributorId = body.ContributorId; } if (body.PaperId != null && !body.PaperId.Equals(itemToUpdate.PaperId)) { itemToUpdate.PaperId = body.PaperId; } if (body.Comments != null && !body.Comments.Equals(itemToUpdate.Comments)) { itemToUpdate.Comments = body.Comments; } if (body.AuditEntered != null && !body.AuditEntered.Equals(itemToUpdate.AuditEntered)) { itemToUpdate.AuditEntered = body.AuditEntered; } if (body.AuditEnteredBy != null && !body.AuditEnteredBy.Equals(itemToUpdate.AuditEnteredBy)) { itemToUpdate.AuditEnteredBy = body.AuditEnteredBy; } if (body.AuditUpdated != null && !body.AuditUpdated.Equals(itemToUpdate.AuditUpdated)) { itemToUpdate.AuditUpdated = body.AuditUpdated; } if (body.AuditUpdatedBy != null && !body.AuditUpdatedBy.Equals(itemToUpdate.AuditUpdatedBy)) { itemToUpdate.AuditUpdatedBy = body.AuditUpdatedBy; } body.AuditUpdatedBy = loggedInUser; body.AuditUpdated = DateTime.Now; _dbContext.SaveChanges(); return(Ok("Successful operation, no data returned")); } else { return(NotFound("PaperVersion not found")); } } else { return(BadRequest("Invalid or expired login token")); } }