/// <summary>
        /// Updates a complaint in the database
        /// </summary>
        /// <param name="feedId"></param>
        /// <param name="complaintId"></param>
        /// <param name="complaint"></param>
        /// <returns></returns>
        public async Task <Response <string> > EditComplaint(string complaintId, EditComplaintDTO complaint)
        {
            var response = new Response <string>();

            var complaintToEdit = await _complaintsRepo.GetById(complaintId);

            //end the process if the complaint is not found
            if (complaintToEdit == null)
            {
                response.Message = "Error retrieving complaint";
                return(response);
            }

            //updates dynamic values of the complaint
            complaintToEdit.Question = complaint.Question;
            complaintToEdit.Image    = complaint.Image;
            complaintToEdit.Title    = complaint.Title;
            complaintToEdit.IsTask   = complaint.IsTask;

            //updates the status of the entity class
            await _complaintsRepo.Modify(complaintToEdit);

            response.Message = "Updated successfully";
            response.Success = true;
            return(response);
        }
 public static Complaint FromEditComplaintDTO(EditComplaintDTO complaint)
 {
     return(new Complaint
     {
         Type = complaint.Type,
         Image = complaint.Image,
         IsTask = complaint.IsTask,
         Question = complaint.Question
     });
 }
Exemplo n.º 3
0
        public async Task FailWhenComplaintNotFound()
        {
            //Arrange
            MockUp(null);
            var complaintServices = new ComplaintServices(_serviceProvider);
            var complaintId       = "";
            var complaint         = new EditComplaintDTO();

            //Act
            var actual = await complaintServices.EditComplaint(complaintId, complaint);

            //Assert
            Assert.IsFalse(actual.Success);
        }
Exemplo n.º 4
0
        public async Task ReturnValidResponse()
        {
            //Arrange
            MockUp(new Complaint());
            var complaintServices = new ComplaintServices(_serviceProvider);
            var complaintId       = "";
            var complaint         = new EditComplaintDTO();

            //Act
            var actual = await complaintServices.EditComplaint(complaintId, complaint);

            //Assert
            Assert.IsTrue(actual.Success);
        }
        public async Task BadRequestResponse()
        {
            //Arrange
            MockUp(false);
            var feedController = new FeedController(_serviceProvider);
            var complaintid    = "";
            var complaint      = new EditComplaintDTO();
            var expected       = 400;

            //ACT
            var actual = await feedController.EditComplaint(complaintid, complaint) as BadRequestObjectResult;

            //Assert
            Assert.IsNotNull(actual);
            Assert.AreEqual(expected, actual.StatusCode);
        }
        public async Task <IActionResult> EditComplaint([FromRoute] string complaintId, [FromBody] EditComplaintDTO model)
        {
            var result = await _complaintsServices.EditComplaint(complaintId, model);

            if (result.Success)
            {
                return(Ok(result));
            }
            return(BadRequest(result));
        }