public IActionResult LockNewsItem([FromBody] LockEntry lockentry) { var Message = ""; var NewsLockEntry = _NewsDBcontext.FeedItemQueueLocks .Where(t => t.fkItemID == lockentry.IDFromWorkUnitsDBTable) .FirstOrDefault(); if (NewsLockEntry == null) { var MaxID = _NewsDBcontext.FeedItemQueueLocks.Max(x => x.ID); FeedItemQueueLocks newLock = new FeedItemQueueLocks(); newLock.ID = MaxID + 1; newLock.LockedByRecipientID = lockentry.AppUserID; newLock.DateTimeItemWasLocked = DateTime.UtcNow; newLock.fkItemID = lockentry.IDFromWorkUnitsDBTable; _NewsDBcontext.FeedItemQueueLocks.Add(newLock); try { _NewsDBcontext.SaveChanges(); return(Ok()); } catch (Exception e) { var logInfo = e.Message + " - " + e.InnerException; { return(BadRequest(e.Message)); } } } else { var thisUser = _context.AppUser .Where(t => t.AppUserID == NewsLockEntry.LockedByRecipientID) .FirstOrDefault(); if (thisUser != null) { Message = thisUser.AppUserName + " (" + thisUser.AppUserID + ")"; } else { Message = "User ID - " + NewsLockEntry.LockedByRecipientID.ToString(); } return(NotFound("This Record is locked to " + Message)); } }
public void FeedItemQueueLocks() { IQueryable <FeedItemQueueLocks> FeedItemQueueLocksFeedItemQueueLocks = Enumerable.Empty <FeedItemQueueLocks>().AsQueryable(); FeedItemQueueLocks ct = new FeedItemQueueLocks { ID = 1, fkItemID = 123 }; Mock <IFeedItemQueueLocksRepository> FeedItemQueueLocksService = new Mock <IFeedItemQueueLocksRepository>(); object obj = new object(); try { FeedItemQueueLocksService.Setup(x => x.GetAll()).Returns(FeedItemQueueLocksFeedItemQueueLocks); FeedItemQueueLocksService.Setup(x => x.Get(It.IsAny <int>())).Returns(ct); FeedItemQueueLocksService.Setup(x => x.Add(It.IsAny <FeedItemQueueLocks>())).Returns(ct); FeedItemQueueLocksService.Setup(x => x.Delete(It.IsAny <FeedItemQueueLocks>())).Verifiable(); FeedItemQueueLocksService.Setup(x => x.Update(It.IsAny <FeedItemQueueLocks>(), It.IsAny <object>())).Returns(ct); var FeedItemQueueLocksObject = FeedItemQueueLocksService.Object; var p1 = FeedItemQueueLocksObject.GetAll(); var p2 = FeedItemQueueLocksObject.Get(1); var p3 = FeedItemQueueLocksObject.Update(ct, obj); var p4 = FeedItemQueueLocksObject.Add(ct); FeedItemQueueLocksObject.Delete(ct); Assert.IsAssignableFrom <IQueryable <FeedItemQueueLocks> >(p1); Assert.IsAssignableFrom <FeedItemQueueLocks>(p2); Assert.Equal(123, p2.fkItemID); Assert.Equal(123, p3.fkItemID); FeedItemQueueLocksService.VerifyAll(); FeedItemQueueLocksObject.Dispose(); } finally { FeedItemQueueLocksService = null; } }
public LockEntry LockNewsItem(LockEntry lockentry) { var NewsLockEntry = _newsfeedcontext.FeedItemQueueLocks.Where(t => t.fkItemID == lockentry.IDFromWorkUnitsDBTable).FirstOrDefault(); if (NewsLockEntry == null) { var MaxID = _newsfeedcontext.FeedItemQueueLocks.Max(x => x.ID); FeedItemQueueLocks newLock = new FeedItemQueueLocks { ID = MaxID + 1, LockedByRecipientID = lockentry.AppUserID, DateTimeItemWasLocked = DateTime.UtcNow, fkItemID = lockentry.IDFromWorkUnitsDBTable }; _newsfeedcontext.FeedItemQueueLocks.Add(newLock); _newsfeedcontext.SaveChanges(); return(lockentry); } return(null); }