Exemple #1
0
        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));
            }
        }
Exemple #2
0
        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;
            }
        }
Exemple #3
0
        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);
        }