Exemple #1
0
        public IActionResult Delete(int id, bool?saveChangesError = false)
        {
            if (saveChangesError.GetValueOrDefault())
            {
                ViewBag.ErrorMessage = "Delete failed";
            }

            var post  = _postService.GetById(id);
            var model = new DeletePost
            {
                TopicId     = post.Topic.Id,
                PostContent = post.Content,
                PostId      = post.Id
            };

            if (post.User.UserName != User.Identity.Name)
            {
                return(NotFound());
            }

            if (post == null)
            {
                return(NotFound());
            }

            return(View(model));
        }
        public async Task <IActionResult> DeletePost(int groupId, int postId)
        {
            var command = new DeletePost {
                GroupId = groupId, PostId = postId
            };

            return(Ok(await _mediator.Send(command)));
        }
Exemple #3
0
        public async Task <IActionResult> Delete(Guid id)
        {
            var command = new DeletePost {
                BlogId = BlogId, AggregateRootId = id
            };
            await _mediator.SendAndPublishAsync <DeletePost, Post>(command);

            return(new NoContentResult());
        }
Exemple #4
0
        public IActionResult Delete(Guid id)
        {
            var cmd = new DeletePost
            {
                Id = id,
            };

            _mediatorHandler.SendCommand(cmd);
            return(Ok());
        }
Exemple #5
0
        public async Task <IActionResult> Delete([FromBody] DeletePost model)
        {
            var result = await postServices.Remove(model.Id);

            if (result.Status)
            {
                return(Ok(result));
            }
            return(BadRequest(result));
        }
Exemple #6
0
        public async Task <IActionResult> Delete([FromBody] DeletePost model)
        {
            Guid userId = HttpContext.CurrentUserId();
            var  result = await postServices.Remove(userId, model.Id);

            if (result.Status)
            {
                return(Ok(result));
            }
            return(BadRequest(result));
        }
Exemple #7
0
        public DeletePostResponse Handle(DeletePost command)
        {
            var response = new DeletePostResponse();

            try
            {
                var user = _membershipService.GetUserById(command.DeleteBy);

                if (user == null)
                {
                    response.Error = "Invalid user.";
                    return(response);
                }

                var post = _postService.GetPostById(command.PostId);

                if (post == null)
                {
                    response.Error = "Invalid post.";
                    return(response);
                }

                if (post.UserId == user.Id || user.IsAdmin)
                {
                    post.Deleted = true;
                    _postService.UpdatePost(post);

                    // let's remove the single vote that the author may have attributed to this post.
                    // this will prevent people from creating/deleting post for a single kudo, over and over.
                    _commandBus.Send(new CastVoteForPost
                    {
                        VoteType   = null, // unvote the comment!
                        PostId     = post.Id,
                        DateCasted = Common.CurrentTime(),
                        IpAddress  = string.Empty, // TODO,
                        UserId     = post.UserId
                    });
                }
                else
                {
                    response.Error = "You cannot delete this post.";
                    return(response);
                }

                return(response);
            }
            catch (Exception ex)
            {
                _logger.Error("Error editing post.", ex);
                response.Error = "An unknown error occured.";
                return(response);
            }
        }
        /// <summary>
        /// 删除一条或多条数据
        /// </summary>
        /// <returns></returns>
        public async Task <ApiResult <string> > DeleteAsync(DeletePost parm)
        {
            var isok = SysCodeTypeDb.Delete(m => m.Guid == parm.guid);
            var res  = new ApiResult <string>
            {
                statusCode = isok?200:500,
                data       = isok ? "1" : "0",
                message    = isok?"删除成功~":"删除失败~"
            };

            return(await Task.Run(() => res));
        }
        /// <summary>
        /// 删除员工信息
        /// </summary>
        /// <param name="parm"></param>
        /// <returns></returns>
        public async Task <ApiResult <string> > DeleteAsync(DeletePost parm)
        {
            var list = Utils.StrToListString(parm.guid);
            var isok = SysPersonDb.Delete(m => list.Contains(m.Guid));
            var res  = new ApiResult <string>
            {
                statusCode = isok ? (int)ApiEnum.Status : (int)ApiEnum.Error,
                data       = isok ? "1" : "0",
                message    = isok ? "删除成功~" : "删除失败~"
            };

            return(await Task.Run(() => res));
        }
Exemple #10
0
        public Task <Unit> Handle(DeletePost request, CancellationToken cancellationToken)
        {
            var userId    = _userService.UserId;
            var aggregate = _personRepository.GetAggregateByUserId(userId);

            if (aggregate.GetState().UserId != userId)
            {
                throw new Exception("Não é possivel deletar um post de outro usuario");
            }

            aggregate.DeletePost(request.Id);
            _personRepository.Save(aggregate);
            return(Unit.Task);
        }
        public void HandleAsync_ShouldInvokeSpecificMethods()
        {
            var command = new DeletePost
            {
                ResourceId = Guid.NewGuid()
            };

            _handler.Invoking(async x => await x.HandleAsync(command))
            .Should()
            .NotThrow();

            _postService.Verify(x => x.DeleteAsync(command.ResourceId), Times.Once);
            _eventPublisher.Verify(x => x.PublishAsync(It.Is <PostDeleted>(x => x.Id == command.ResourceId)), Times.Once);
        }
Exemple #12
0
            public async Task <Post> Handle(DeletePost request, CancellationToken cancellationToken)
            {
                var post = this.context.Posts.FindAsync(request.Id).AsTask();

                this.context.Posts.Remove(post.Result);

                if (await this.context.SaveChangesAsync() > 0)
                {
                    return(await post);
                }
                else
                {
                    return(await Task.FromResult(new Post {}));
                }
            }
Exemple #13
0
        public object Delete(DeletePost request)
        {
            if (request.Id <= 0)
            {
                throw new ArgumentNullException(nameof(request.Id));
            }

            var user = GetUser();
            var post = AssertPost(request.Id);

            AssertCanPostToOrganization(Db, post.OrganizationId, user, out var org, out var orgMember);
            AssertCanUpdatePost(post, user, orgMember);

            var userId = user.GetUserId();

            var now = DateTime.Now;

            if (!user.IsOrganizationModerator(orgMember))
            {
                Db.UpdateOnly(() => new Post
                {
                    Deleted   = now,
                    DeletedBy = user.UserName,
                    Modified  = now,
                },
                              where : x => x.Id == request.Id && x.UserId == userId);
            }
            else
            {
                Db.UpdateOnly(() => new Post
                {
                    Deleted   = now,
                    DeletedBy = user.UserName,
                    Modified  = now,
                },
                              where : x => x.Id == request.Id);
            }

            ClearPostCaches();

            return(new DeletePostResponse
            {
                Id = request.Id,
            });
        }
        public IActionResult DeleteByList([FromBody] DeletePost deletePost)
        {
            string ErrorMsg = string.Empty;
            var    flag     = sysAreaService.DeleteByList(deletePost, ref ErrorMsg);

            if (flag)
            {
                return(new JsonResult(
                           ResponseHelper.IsSuccess_Msg_Data_HttpCode(ErrorMsg, flag)
                           ));
            }
            else
            {
                return(new JsonResult(
                           ResponseHelper.Error_Msg_Ecode_Elevel_HttpCode(ErrorMsg, flag)
                           ));
            }
        }
Exemple #15
0
        /// <summary>
        /// 删除一条数据
        /// </summary>
        /// <param name="parm"></param>
        /// <returns></returns>
        public async Task <ApiResult <string> > DeleteAsync(DeletePost parm)
        {
            var res = new ApiResult <string>();

            try
            {
                var list = Utils.StrToListString(parm.guid);
                var isok = SysPersonEducateDb.Delete(m => list.Contains(m.Guid));
                res.statusCode = isok ? (int)ApiEnum.Status : (int)ApiEnum.Error;
                res.data       = "1";
                res.message    = isok ? "删除成功~" : "删除失败~";
            }
            catch (Exception ex)
            {
                res.statusCode = (int)ApiEnum.Error;
                res.message    = ex.Message;
            }
            return(await Task.Run(() => res));
        }
Exemple #16
0
 /// <summary>
 /// deletebylist
 /// </summary>
 /// <param name="deletePost">deletePost</param>
 /// <param name="ErrorMsg">Result</param>
 /// <returns></returns>
 public bool DeleteByList(DeletePost deletePost, ref string ErrorMsg)
 {
     try
     {
         if (sysAreaRepository.DeleteNotTrue(deletePost.ObjectIds))
         {
             ErrorMsg = "Edit Success";
             return(true);
         }
         else
         {
             ErrorMsg = "Edit Faild";
             return(false);
         }
     }
     catch (Exception ex)
     {
         ErrorMsg = "Edit Error";
         return(false);
     }
 }
Exemple #17
0
        public static void Main(string[] args)
        {
            int menuSelection = 0;

            while (menuSelection != 6)
            {
                if (menuSelection == 1)
                {
                    IViewPost   readObject = new ViewPost();
                    List <Post> allPosts   = readObject.ViewPost();
                    foreach (Post post in allPosts)
                    {
                        Console.WriteLine(post.ToString());
                    }
                }
                else if (menuSelection == 2)
                {
                    ISavePost savePost = new SavePost();
                    savePost.SavePost();
                }
                else if (menuSelection == 3)
                {
                    IDeletePost deletePost = new DeletePost();
                    deletePost.DeletePost();
                }
                else if (menuSelection == 4)
                {
                    IEditPost editPost = new EditPost();
                    editPost.EditPost();
                }
                else if (menuSelection == 5)
                {
                    IReseedPost reseedPost = new ReseedPost();
                    reseedPost.ReseedPost();
                }
                menuSelection = displayMenu();
            }
        }
Exemple #18
0
        public void DeleteForeignPost()
        {
            HomePage homePage = new HomePage(this.driver);

            homePage.NavigateTo();

            LoginPage logPage = new LoginPage(this.driver);

            logPage.NavigateTo();
            var loginUser = AccessExcelData.GetTestDataLoging("LoginForeinUserData");

            logPage.FillLoginForm(loginUser);

            homePage.DeletePostLink.Click();

            DeletePost deletePost = new DeletePost(this.driver);

            deletePost.NavigateTo();
            deletePost.Title.Click();
            deletePost.DeleteButton.Click();

            deletePost.AssertEditForeignPostErrorMessageIsDisplayed("You do not have permission to view this directory or page");
        }
        public async Task Setup()
        {
            _post = PostFactories.Post();

            _command = new DeletePost
            {
                BlogId          = Guid.NewGuid(),
                AggregateRootId = Guid.NewGuid()
            };

            _postRepositoryMock = new Mock <IPostRepository>();
            _postRepositoryMock
            .Setup(x => x.GetByIdAsync(_command.BlogId, _command.AggregateRootId))
            .ReturnsAsync(_post);
            _postRepositoryMock
            .Setup(x => x.UpdateAsync(It.IsAny <Post>()))
            .Callback <Post>(p => _updatedPost = p)
            .Returns(Task.CompletedTask);

            _commandHandler = new DeletePostHandler(_postRepositoryMock.Object);
            _result         = await _commandHandler.HandleAsync(_command);

            _event = _updatedPost.Events.OfType <PostDeleted>().Single();
        }
Exemple #20
0
        public void CancelDeleteButtonFuntionality()
        {
            HomePage homePage = new HomePage(this.driver);

            homePage.NavigateTo();

            LoginPage logPage = new LoginPage(this.driver);

            logPage.NavigateTo();
            var loginUser = AccessExcelData.GetTestDataLoging("LoginSuccessfully");

            logPage.FillLoginForm(loginUser);

            homePage.DeletePostLink.Click();

            DeletePost deletePost = new DeletePost(this.driver);

            deletePost.NavigateTo();
            deletePost.Title.Click();
            deletePost.DeleteButton.Click();
            deletePost.CancelButtonPost.Click();

            deletePost.AssertPostDeleteCancelButton("Test Post Creation");
        }
Exemple #21
0
        public void DeletePostSuccessfuly()
        {
            HomePage homePage = new HomePage(this.driver);

            homePage.NavigateTo();

            LoginPage logPage = new LoginPage(this.driver);

            logPage.NavigateTo();
            var loginUser = AccessExcelData.GetTestDataLoging("LoginSuccessfully");

            logPage.FillLoginForm(loginUser);

            homePage.DeletePostLink.Click();

            DeletePost deletePost = new DeletePost(this.driver);

            deletePost.NavigateTo();
            deletePost.Title.Click();
            deletePost.DeleteButton.Click();
            deletePost.DeleteButtonPost.Click();

            deletePost.AssertSuccessfulPostDelete("Test Post Edit");
        }
Exemple #22
0
 public async Task <ApiResult <string> > DeleteCode(DeletePost parm)
 {
     return(await _sysPersonService.DeleteAsync(parm));
 }
 public void Handle(DeletePost command)
 {
     repository.Delete(command);
 }
        public void Delete(int id)
        {
            IDeletePost deleteObject = new DeletePost();

            deleteObject.DeleteAPost(id);
        }
        /// <summary>
        /// 刪除貼文
        /// </summary>
        /// <param name="data"> 封包資料 </param>
        /// <returns> 結果 </returns>
        public string OnDeletePost(string data)
        {
            string ret = "";

            DeletePost packet = JsonConvert.DeserializeObject <DeletePost>(data);

            DeletePostResult rData = new DeletePostResult();

            PostInfo post = null;

            try
            {
                post = GetSql().Queryable <PostInfo>().With(SqlSugar.SqlWith.RowLock).Where(it => it.PostID == packet.PostID).Single();

                //貼文存在
                if (post != null)
                {
                    // 貼文所有者
                    if (post.MemberID == packet.MemberID)
                    {
                        // 設定DB 交易的起始點
                        GetSql().BeginTran();

                        if (GetSql().Deleteable <PostInfo>().With(SqlSugar.SqlWith.TabLockX).Where(it => it.PostID == packet.PostID).ExecuteCommand() > 0)
                        {
                            rData.Result = (int)DeletePostResult.ResultDefine.emResult_Success;

                            SaveLog($"[Info] MessageFcunction::OnDeletePost Delete Member:{packet.MemberID}'s Post:{packet.PostID} Info Success");
                        }
                        else
                        {
                            rData.Result = (int)DeletePostResult.ResultDefine.emResult_Fail;

                            SaveLog($"[Info] MessageFcunction::OnDeletePost Delete Member:{packet.MemberID}'s Post:{packet.PostID} Info Fail");
                        }
                    }
                    else
                    {
                        rData.Result = (int)DeletePostResult.ResultDefine.emResult_Fail;

                        SaveLog($"[Info] MessageFcunction::OnDeletePost Member:{packet.MemberID} Not Post:{packet.PostID} Owner");
                    }
                }
                else
                {
                    rData.Result = (int)DeletePostResult.ResultDefine.emResult_Fail;

                    SaveLog($"[Info] MessageFcunction::OnDeletePost Can Not Find Member:{packet.MemberID}'s Post:{packet.PostID}");
                }
            }
            catch (Exception ex)
            {
                rData.Result = (int)DeletePostResult.ResultDefine.emResult_Fail;

                SaveLog($"[Error] MessageFcunction::OnDeletePost Catch Error Msg:{ex.Message}");
            }

            if (rData.Result == (int)DeletePostResult.ResultDefine.emResult_Success)
            {
                // DB 交易提交
                GetSql().CommitTran();

                // 刪除Redus 會員的貼文
                {
                    if (GetRedis((int)Connect.RedisDB.emRedisDB_Post).KeyExists($"PostInfo_" + packet.PostID))
                    {
                        GetRedis((int)Connect.RedisDB.emRedisDB_Post).KeyDelete($"PostInfo_" + packet.PostID);
                    }
                }

                // 刪除Redis 會員的貼文列表
                {
                    if (GetRedis((int)Connect.RedisDB.emRedisDB_Post).KeyExists($"PostList_" + packet.MemberID))
                    {
                        string sPostList = GetRedis((int)Connect.RedisDB.emRedisDB_Post).StringGet($"PostList_" + packet.MemberID);

                        JArray        jsMemberPostList = JArray.Parse(sPostList);
                        List <string> memberPostList   = jsMemberPostList.ToObject <List <string> >();

                        if (memberPostList.Contains(packet.PostID))
                        {
                            memberPostList.Remove(packet.PostID);
                        }

                        JArray jsNewList = JArray.FromObject(memberPostList);

                        GetRedis((int)Connect.RedisDB.emRedisDB_Post).StringSet($"PostList_" + packet.MemberID, jsNewList.ToString());
                    }
                }

                DeleteFriendPost(packet.MemberID, packet.PostID);
            }
            else
            {
                // DB 交易失敗, 啟動Rollback
                GetSql().RollbackTran();
            }

            JObject jsMain = new JObject();

            jsMain.Add("CmdID", (int)S2C_CmdID.emDeletePostResult);
            jsMain.Add("Data", JsonConvert.DeserializeObject <JObject>(JsonConvert.SerializeObject(rData)));

            ret = jsMain.ToString();

            return(ret);
        }
        public async Task <IActionResult> DeletePost([FromBody] DeletePost command)
        {
            await DispatchAsync(command);

            return(NoContent());
        }