Esempio n. 1
0
        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);
     }
 }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        /// <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));
        }
Esempio n. 6
0
        /// <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);
     }
 }
Esempio n. 14
0
        /// <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);
        }
Esempio n. 15
0
        /// <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();
 }
Esempio n. 18
0
        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"));
            }
        }