// GET: Complaint public ActionResult ComplaintsList() { using (ComplaintService complaintService = new ComplaintService()) { return(View(complaintService.GetComplaints(User.Identity.GetUserId(), User.IsInRole("Admin")))); } }
public ActionResult Details(int id) { var commentaryService = new CommentaryService(); var complaintService = new ComplaintService(); var postService = new PostService(); var userService = new UserService(); var votesService = new VoteService(); var post = postService.GetPostById(new GetPostByIdRequest() { Id = id }).Post; // Se obtienen los comentarios del post y se los separa en comentarios padre y respuestas. var allComments = commentaryService.SearchCommentsByIdPost(new SearchCommentsByIdPostRequest() { IdPost = id }).Comments.Where(x => !x.NullDate.HasValue).ToList(); ViewBag.Comments = allComments.Where(x => !x.IdUpperComment.HasValue).ToList(); ViewBag.Replies = allComments.Where(x => x.IdUpperComment.HasValue).ToList(); List <Complaint> userComplaints = new List <Complaint>(); if (User.Identity.IsAuthenticated && !User.IsInRole("Admin")) { // Se obtienen las denuncias/quejas realizadas por el usuario. userComplaints = complaintService.SearchComplaintsByUserId(new SearchComplaintsByUserIdRequest { AspNetUserId = User.Identity.GetUserId() }).Complaints; var user = userService.GetUserByAccountId(new GetUserByAccountIdRequest { AccountId = User.Identity.GetUserId() }).User; // Se obtienen los votos del post y del usuario var postVotes = votesService.GetVotesCountByPostId(new GetVotesCountByPostIdRequest { PostId = post.Id }); var userVotes = votesService.GetVoteByUserAndPostId(new GetVoteByUserAndPostIdRequest { PostId = post.Id, UserId = user.Id }); ViewBag.GoodVotes = postVotes.GoodVotes; ViewBag.BadVotes = postVotes.BadVotes; ViewBag.UserGoodVote = userVotes.Good ? "true" : "false"; ViewBag.UserBadVote = userVotes.Bad ? "true" : "false"; } if (User.Identity.IsAuthenticated && User.IsInRole("Admin")) { ViewBag.Complaints = complaintService.SearchComplaintsByPostId(new SearchComplaintsByPostIdRequest { PostId = post.Id }).Complaints; } ViewBag.UserComplaints = userComplaints; return(View(post)); }
public ActionResult Edit(int spId, string cl, string rc, string s) { try { var model = ComplaintService.GetComplaint(spId, cl, s); var rcas = RcaService.GetRcasForDropDown(rc); var rcasList = new List <SelectListItem>(); foreach (var rca in rcas) { rcasList.Add(new SelectListItem() { Text = rca.Title, Value = rca.Id }); } ViewBag.Rcas = rcasList; model.SpId = spId; model.ClName = cl; model.RcaName = rc; return(View(model)); } catch (Exception ex) { throw ex; } }
public void ShouldFetchAllComplaintsFromDb(string title, string description) { // Arrange using var context = new ComplaintsContext(DbFixtureProvider.CreateNewContextOptions()); var complaintService = new ComplaintService(context); var complaintEntityEntries = new List <EntityEntry <ComplaintEntity> >(); var complaintIds = new List <int>(); for (var i = 0; i < 5; i++) { complaintEntityEntries.Add( context.Complaints.Add(new ComplaintEntity { Title = title, Description = description })); } context.SaveChanges(); // Act var complaintsInDb = complaintService.GetAll().ToList(); // Assert Assert.Equal(complaintsInDb.Count, complaintEntityEntries.Count); foreach (var complaint in complaintEntityEntries) { Assert.NotNull(complaintsInDb.Find(x => x.Id == complaint.Entity.Id)); } }
public ActionResult ComplaintDetails(int id) { var svc = new ComplaintService(); var model = svc.GetComplaintByID(id); return(View(model)); }
public ActionResult Index() { var service = new ComplaintService(); var model = service.GetComplaints(); ViewBag.TotalCount = model.ToList().Count(); return(View(model)); }
public void ShouldThrowAnExceptionGivenIdIfItemNotFoundInDatabase(int complaintId) { // Arrange using var context = new ComplaintsContext(DbFixtureProvider.CreateNewContextOptions()); var complaintService = new ComplaintService(context); // Act + Assert Assert.Throws <ComplaintException>(() => complaintService.GetComplaintById(complaintId)); }
public ActionResult DeleteComplaint(int id) { var service = new ComplaintService(); service.DeleteComplaint(id); TempData["Save Result"] = ("The Complaint was removed"); return(RedirectToAction("Index")); }
public void Accept(ComplaintStatus status) { var service = new ComplaintService(_tolkDbContext, _clock, _notificationService, _logger); var complaint = new Complaint { Status = status }; service.Accept(complaint, 1, null); }
public void Refute(ComplaintStatus status) { var service = new ComplaintService(_tolkDbContext, _clock, _notificationService, _logger); var complaint = new Complaint { Status = status }; service.Refute(complaint, 1, null, "detta är INTE ok"); }
public void Create(RequestStatus status) { var service = new ComplaintService(_tolkDbContext, _clock, _notificationService, _logger); var request = new Request { Status = status, Complaints = new List <Complaint>() }; _ = service.Create(request, 1, null, "apa", ComplaintType.BadDelivery); }
public void Accept_InvalidStatus(ComplaintStatus status) { var service = new ComplaintService(_tolkDbContext, _clock, _notificationService, _logger); var complaint = new Complaint { Status = status }; Assert.Throws <InvalidOperationException>(() => service.Accept(complaint, 1, null)); }
public void Create_InvalidStatus(RequestStatus status) { var service = new ComplaintService(_tolkDbContext, _clock, _notificationService, _logger); var request = new Request { Status = status, Complaints = new List <Complaint>() }; Assert.ThrowsAsync <InvalidOperationException>(() => service.Create(request, 1, null, "apa", ComplaintType.BadDelivery)); }
public JsonResult ReadAllComplaints(UserInfo userInfo) { try { var complaints = ComplaintService.GetAllComplaintsData(userInfo); return(Json(Newtonsoft.Json.JsonConvert.SerializeObject(complaints), JsonRequestBehavior.AllowGet)); } catch (Exception ex) { throw ex; } }
public ActionResult ComplaintCreate() { var service = new ComplaintService(); var model = new ComplaintCreate { InvestigatorList = service.GetAllInvestigators(), AdminList = service.GetAllAdmin(), AgentList = service.GetAllAgents(), InsurerList = service.GetAllInsurer(), ConsumerList = service.GetAllConsumer() }; return(View(model)); }
public JsonResult Get(int complaintId) { try { using (ComplaintService complaintService = new ComplaintService()) { return(Json(complaintService.Get(complaintId), JsonRequestBehavior.AllowGet)); } } catch (System.Exception ex) { throw; } }
public ComplaintController( TolkDbContext tolkDbContext, ComplaintService complaintService, ApiUserService apiUserService, ApiOrderService apiOrderService, ILogger <ComplaintController> logger ) { _dbContext = tolkDbContext; _apiUserService = apiUserService; _complaintService = complaintService; _apiOrderService = apiOrderService; _logger = logger; }
public ActionResult CommentaryComplaints(int id) { var commentaryService = new CommentaryService(); var complaintService = new ComplaintService(); ViewBag.Comment = commentaryService.GetCommentaryById(new GetCommentaryByIdRequest { Id = id }).Commentary; ViewBag.CommentaryComplaints = complaintService.SearchComplaintsByCommentaryId(new SearchComplaintsByCommentaryIdRequest { CommentaryId = id }).Complaints; return(View()); }
public ComplaintController( TolkDbContext dbContext, IAuthorizationService authorizationService, ILogger <ComplaintController> logger, ComplaintService complaintService, EventLogService eventLogService, ISwedishClock clock ) { _dbContext = dbContext; _authorizationService = authorizationService; _logger = logger; _complaintService = complaintService; _eventLogService = eventLogService; _clock = clock; }
public async Task <JsonResult> Create(ComplaintViewModel complaint) { try { using (ComplaintService complaintService = new ComplaintService()) { await complaintService.Create(complaint, User.Identity.GetUserId()); } return(Json("Success", JsonRequestBehavior.AllowGet)); } catch (System.Exception ex) { throw; } }
public JsonResult UpdateStatus(int complaintId, int statusId) { try { using (ComplaintService complaintService = new ComplaintService()) { complaintService.UpdateStatus(complaintId, statusId, User.Identity.GetUserId()); return(Json("Success", JsonRequestBehavior.AllowGet)); } } catch (System.Exception ex) { throw; } }
public ActionResult ComplaintCreate(ComplaintCreate model) { if (!ModelState.IsValid) { return(View(model)); } var service = new ComplaintService(); if (service.ComplaintCreate(model)) { TempData["SaveResult"] = "The Complaint was created."; return(RedirectToAction("Index")); } ; ModelState.AddModelError("", "The Complaint could not be created."); return(View(model)); }
public async Task ListAsyncWhenNoComplaintsReturnsEmptyCollection() { var mockComplaintRepository = GetDefaultIComplaintRepositoryInstance(); mockComplaintRepository.Setup(r => r.ListAsync()) .ReturnsAsync(new List <Complaint>()); var mockUnitOfWork = GetDefaultIUnitOfWorkInstance(); var service = new ComplaintService( mockComplaintRepository.Object, mockUnitOfWork.Object); // Act List <Complaint> result = (List <Complaint>) await service.ListAsync(); int complaintsCount = result.Count; // Assert complaintsCount.Should().Equals(0); }
public ActionResult Edit(int id) { if ((bool)TempData["UserAccountSuspended"]) { return(RedirectToAction("Suspended", "Account")); } var postService = new PostService(); var categoryService = new CategoryService(); var complaintService = new ComplaintService(); var result = postService.GetPostById(new GetPostByIdRequest { Id = id }).Post; var model = new EditPostViewModel { Id = result.Id, Title = result.Title, Summary = result.Summary, Body = result.Body, IdCategory = result.IdCategory, IsDraft = result.IsDraft, PrincipalImageName = result.PrincipalImageName, DeleteImage = false, Tags = result.Tags }; var categories = categoryService.SearchCategories(new SearchCategoriesRequest()).Categories; ViewBag.Categories = categories.Select(x => new SelectListItem() { Text = x.Title, Value = x.Id.ToString() }); ViewBag.Complaints = complaintService.SearchComplaintsByPostId(new SearchComplaintsByPostIdRequest { PostId = model.Id }).Complaints; return(View(model)); }
public void ShouldAddComplaintToDatabase(string title, string description) { // Arrange using var context = new ComplaintsContext(DbFixtureProvider.CreateNewContextOptions()); var complaintService = new ComplaintService(context); var complaintEntity = new ComplaintEntity { Title = title, Description = description }; // Act var createdComplaint = complaintService.AddComplaint(complaintEntity); // Assert var complaintInDb = context.Complaints.Find(createdComplaint.Id); Assert.NotNull(complaintInDb); Assert.Equal(createdComplaint, complaintInDb); }
public void ShouldFetchCorrectComplaintFromDb(string title, string description) { // Arrange using var context = new ComplaintsContext(DbFixtureProvider.CreateNewContextOptions()); var complaintService = new ComplaintService(context); var complaintEntity = new ComplaintEntity { Title = title, Description = description }; var createdComplaint = context.Complaints.Add(complaintEntity); context.SaveChanges(); // Act var complaintInDb = complaintService.GetComplaintById(createdComplaint.Entity.Id); // Assert Assert.Equal(complaintInDb, createdComplaint.Entity); }
public ActionResult ComplaintEdit(int id) { var svc = new ComplaintService(); var detail = svc.GetComplaintByID(id); var model = new ComplaintEdit { ComplaintID = detail.ComplaintID, InvestigatorID = detail.InvestigatorID, AdminActionID = detail.AdminActionID, AgentID = detail.AgentID, InsurerID = detail.InsurerID, ConsumerID = detail.ConsumerID, ComplaintDesc = detail.ComplaintDesc, Resolved = detail.Resolved, DateSubmitted = detail.DateSubmitted, DateCompleted = detail.DateCompleted }; return(View(model)); }
public ActionResult ComplaintEdit(int id, ComplaintEdit model) { if (!ModelState.IsValid) { return(View(model)); } if (model.ComplaintID != id) { ModelState.AddModelError("", "ID Mismatch"); return(View(model)); } var svc = new ComplaintService(); if (svc.UpdateComplaint(model)) { TempData["SaveResult"] = "The Complaint was updated."; return(RedirectToAction("Index")); } ModelState.AddModelError("", "The Complaint could not be updated"); return(View(model)); }
public ComplaintController() { _complaintService = new ComplaintService(_db); }
public JsonResult PostComplaint(PostComplaintViewModel model) { var complaintService = new ComplaintService(); var userService = new UserService(); var postService = new PostService(); try { var user = userService.GetUserByAccountId(new GetUserByAccountIdRequest { AccountId = User.Identity.GetUserId() }).User; if (user != null) { var userComplaints = complaintService.SearchComplaintsByUserId(new SearchComplaintsByUserIdRequest { UserId = user.Id }).Complaints; if (userComplaints.Any(x => x.IdPost == model.PostId)) { return(Json(new { success = false, Message = "Ya se ha registrado una denuncia para esta cuenta en esta publicación." }, JsonRequestBehavior.AllowGet)); } var post = postService.GetPostById(new GetPostByIdRequest { Id = model.PostId }).Post; if (post.IdWriter == user.Id) { return(Json(new { success = false, Message = "No puede denunciar su propia publicación." }, JsonRequestBehavior.AllowGet)); } var complaintResult = complaintService.CreatePostComplaint(new CreatePostComplaintRequest { PostId = model.PostId, UserId = user.Id, Commentary = model.Commentary }); if ((complaintResult.PostComplaintsCount % (int)DividersToDeleteByComplaint.PostAndCommentaryDeletedDivider) == 0) { // Se da de baja la publicación. var deletePostResult = postService.DeletePost(new DeletePostRequest { Id = complaintResult.PostId, IsComplaintOrVoteDifference = true }); var complaints = complaintService.SearchComplaintsByPostId(new SearchComplaintsByPostIdRequest { PostId = post.Id }).Complaints.OrderByDescending(x => x.Id).Take(3).ToList(); // Se notifica la baja del post via correo electrónico al escritor. SendPostDeletedEmailToWriter(post, complaints); // Se verifica y de ser necesario, se suspende temporalmente la cuenta del usuario. var verifyResult = userService.VerifyAndUpdateUserStateByPosts(new VerifyAndUpdateUserStateByPostsRequest { UserId = post.IdWriter }); if (verifyResult.UserSuspended) { var reason = "La cantidad de publicaciones dadas de baja por denuncias ha alcanzando el número estipulado para suspender temporalmente su cuenta."; SendAccountBlockedToWriter(post.IdWriter, verifyResult.ActivationDate, reason); } ; } return(Json(new { success = true, Message = "<div style='text-align:justify;'>Su denuncia ha sido registrada y será colocada junto a la de otros usuarios. Si se alcanza el límite establecido en nuestros <a href='/Home/TermsAndConditions' target='_blank'>Términos y Condiciones</a>, la publicación será dada de baja.<br><br>Gracias por contribuir con nuestra comunidad :)</div>" }, JsonRequestBehavior.AllowGet)); } else { return(Json(new { success = false, Message = "Ha ocurrido un error al procesar la solicitud." }, JsonRequestBehavior.AllowGet)); } } catch (Exception e) { return(Json(new { success = false, Message = "Ha ocurrido un error al procesar la solicitud." }, JsonRequestBehavior.AllowGet)); } }