public ComplaintClientViewModel ToComplaintClientViewModel(ClientComplaint clientComplaint) { var complaint = new ComplaintClientViewModel { Id = clientComplaint.Id, Complaint = clientComplaint.Complaint, Email = clientComplaint.Email, Date = clientComplaint.Date, Body = clientComplaint.Body, Reply = clientComplaint.Reply, Status = clientComplaint.Status, ClientName = clientComplaint.CreatedBy.Name }; return(complaint); }
public ClientComplaint ToClientComplaint(ComplaintClientViewModel model, bool isNew) { var complaint = new ClientComplaint { Id = isNew ? 0 : model.Id, UpdateDate = DateTime.Now, Status = 1, Complaint = model.Complaint, Email = model.Email, Date = model.Date, Body = model.Body, Reply = model.Reply }; return(complaint); }
public async Task <IActionResult> ComplaintReply(ComplaintClientViewModel model) { if (ModelState.IsValid) { try { var complaint = await _clientComplaintRepository.GetClientByIdAsync(model.Id); if (complaint == null) { return(new NotFoundViewResult("_Error404")); } var user = await _userHelper.GetUserByIdAsync(complaint.CreatedBy.Id); if (user == null) { return(new NotFoundViewResult("_Error404")); } complaint.ModifiedBy = user; complaint.UpdateDate = DateTime.Now; complaint.Status = 0; complaint.Reply = model.Reply; await _clientComplaintRepository.UpdateAsync(complaint); _mailHelper.SendMail(user.Email, $"Your complaint has been processed.", $"<h1>You are very important to us.\nThank you very much.</h1>"); //todo: ViewBag.Message = "An error ocurred. Try again please."; return(RedirectToAction(nameof(Complaints))); } catch (Exception exception) { ModelState.AddModelError(string.Empty, exception.Message); } } return(View(model)); }