Exemplo n.º 1
0
        //Todo: ekleme, güncelleme,silme gibi işlemlerde önyüzdeki kullanıcıya işlem başarıyla gerçekleşti veya başarısız bilgisi vermek isteyebiliriz. böyle durumlarda alttaki metot için void dönmek yerine ya boolean true false ya da int 1,0, -1 gibi bir şeyler dönecek halde kullanmak daha iyi olur. Projenin sonraki aşamalarda nasıl gelişebileceğini düşünerek kod yazmak avantaj sağlar.
        public void AddBlock(UserBlockVM model)
        {
            var blockRecord = _blockedUserRepository.Get(x => x.UserId == model.UserId && x.BlockedUserId == model.BlockedUserId);

            if (blockRecord != null)
            {
                return;
            }

            var blockedUser = new BlockedUser()
            {
                BlockedUserId = model.BlockedUserId,
                UserId        = model.UserId
            };

            //blockedUser.BlockedUserId = model.BlockedUserId,
            //blockedUser.UserId = model.UserId

            blockedUser.CreateDate = DateTime.Now;

            if (blockedUser.BlockedUserId != blockedUser.UserId)
            {
                var entity = _blockedUserRepository.Add(blockedUser);
                try
                {
                    _blockedUserRepository.SaveChanges();
                    //return new EntryViewModel() { Id = entity.Id, Content = entity.Content };
                }
                catch (Exception ex)
                {
                    var errorMessage = ex.Message;
                    throw;
                }
            }
        }
Exemplo n.º 2
0
        public Response <string> Block([FromBody] UserBlockVM block)
        {
            var service = new Services.Users.UserService(Context, CurrentAdmin);
            var success = service.Block(block);

            return(new Response <string>(success ? "Successful" : "Failed", !success));
        }
Exemplo n.º 3
0
        public void RemoveBlock(UserBlockVM model)
        {
            var blockRecord = _blockedUserRepository.Get(x => x.UserId == model.UserId && x.BlockedUserId == model.BlockedUserId);

            if (blockRecord != null)
            {
                _blockedUserRepository.Remove(blockRecord);
            }
        }
Exemplo n.º 4
0
        private UserBlockVM CurrentBlock(Guid UserId)
        {
            var         block    = this.mainContext.UserBlocks.AsNoTracking().Where(b => b.UserId == UserId && b.EndDate >= DateTime.UtcNow).OrderByDescending(b => b.EndDate).FirstOrDefault();
            UserBlockVM rtnBlock = null;

            if (block != null)
            {
                rtnBlock = new UserBlockVM(block);
            }

            return(rtnBlock);
        }
Exemplo n.º 5
0
        public IActionResult RemoveBlock(UserBlockVM model, int blockCurrentUserId, int blockBlockedUserId)
        {
            if (ModelState.IsValid)
            {
                model.UserId        = blockCurrentUserId;
                model.BlockedUserId = blockBlockedUserId;
                //model.BlockedUserId
            }
            _blockedUserService.RemoveBlock(model);

            return(RedirectToAction(nameof(UserController.BlockedUsers), "User", new { blockCurrentUserId = model.UserId }));
        }
Exemplo n.º 6
0
        public IActionResult Block(UserBlockVM model, int blockUserId, int postId)
        {
            var user   = HttpContext.User;
            var UserId = int.Parse(user.Claims.ToList().First(x => x.Type == ClaimTypes.NameIdentifier).Value);

            if (ModelState.IsValid)
            {
                model.UserId        = UserId;
                model.BlockedUserId = blockUserId;
            }

            _blockedUserService.AddBlock(model);

            return(RedirectToAction(nameof(HomeController.Index), "Home", new { id = postId }));
        }
Exemplo n.º 7
0
        public bool Block(UserBlockVM block)
        {
            var result = false;

            if (this.Actor.Roles.Contains("Admin"))
            {
                if (!CurrentlyBlocked(block.UserId))
                {
                    var newBlock = new UserBlock(block.UserId, block.EndDate, this.Actor.UserId, block.PublicComments, block.PrivateComments);

                    this.mainContext.UserBlocks.Add(newBlock);
                    this.mainContext.SaveChanges();
                    result = true;
                }
            }

            return(result);
        }