private CommentReport MapReportCommentViewModel(CommentReportViewModel viewModel, string callerId)
 {
     return(new CommentReport
     {
         PostId = viewModel.PostId,
         ReportedByUserId = callerId,
         Message = viewModel.Message,
         CreatedDate = DateTime.Now,
     });
 }
 private CommentReport MapTicketViewModelIntoDataObject(CommentReportViewModel viewModel, string callerId)
 {
     return(new CommentReport
     {
         ReportedByUserId = callerId,
         PostId = viewModel.PostId,
         EntityId = viewModel.EntityId,
         Message = viewModel.Message,
         CreatedDate = DateTime.Now
     });
 }
        public async Task <IActionResult> ReportComment(CommentReportViewModel viewModel)
        {
            var callerId      = GetCallerId();
            var commentReport = MapReportCommentViewModel(viewModel, callerId);

            commentReport.Id = await _ticketsRepository.ReportComment(commentReport);

            return(new OkObjectResult(new
            {
                Message = "Report added",
                postReport = commentReport
            }));
        }
Example #4
0
        public async Task <IActionResult> Report(CommentReportViewModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var dto = mapper.Map <CommentReportViewModel, ReportedCommentDTO>(model);
                    dto.ReporterId = userManager.GetUserId(HttpContext.User);
                    dto.CreatorId  = this.commentService.GetCommentAuthorId(model.CommentId);

                    int result = await this.reportService.ReportComment(dto);

                    var log = new Log
                    {
                        LogType    = LogType.ReportedAComment,
                        ResourceId = model.CommentId,
                        UserId     = this.userManager.GetUserId(this.HttpContext.User),
                        DateTime   = DateTime.Now
                    };
                    int id = await this.logService.AddLog(log);

                    this.TempData["Success"] = Constants.Message.SuccessfulReport;
                    return(this.RedirectToAction("Details", "Offer", new { id = model.OfferId }));
                }


                catch (Exception ex)
                {
                    this.TempData["Error"] = ex.Message;
                    return(this.RedirectToAction("Details", "Offer", new { id = model.OfferId }));
                }
            }
            else
            {
                foreach (var error in ModelState.Values.SelectMany(p => p.Errors))
                {
                    this.TempData["Error"] += error.ErrorMessage + Environment.NewLine;
                }
                return(this.RedirectToAction("Offer", "Details", new { id = model.OfferId }));
            }
        }