public async Task <IActionResult> PutAsync(int id, [FromBody] SaveComplaintResource resource)
        {
            var complaint = _mapper.Map <SaveComplaintResource, Complaint>(resource);
            var result    = await _complaintService.UpdateAsync(id, complaint);

            if (!result.Success)
            {
                return(BadRequest(result.Message));
            }
            var complaintResource = _mapper.Map <Complaint, ComplaintResource>(result.Resource);

            return(Ok(complaintResource));
        }
        public async Task <IActionResult> PostAsync([FromBody] SaveComplaintResource resource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState.GetMessages()));
            }
            var complaint = _mapper.Map <SaveComplaintResource, Complaint>(resource);
            var result    = await _complaintService.SaveAsync(complaint);

            if (!result.Success)
            {
                return(BadRequest(result.Message));
            }

            var complaintResource = _mapper.Map <Complaint, ComplaintResource>(result.Resource);

            return(Ok(complaintResource));
        }