public ActionResult Form(AlimentoViewModel viewModel) { if (!ModelState.IsValid) { return(View(viewModel)); } var alimento = new Alimento(); alimento = Mapper.Map <Alimento>(viewModel); alimento.UsuarioId = User.Identity.GetUserId(); alimento.DataHora = viewModel.ObterDataCompleta(); var result = alimento.Validar(); if (!result.IsValid) { foreach (var validation in result.Errors) { if (validation.PropertyName.Equals("DataHora")) { ModelState.AddModelError("", validation.ErrorMessage); } else { ModelState.AddModelError(validation.PropertyName, validation.ErrorMessage); } } return(View(viewModel)); } if (string.IsNullOrEmpty(alimento.Id)) { _unitOfWork.AlimentoRepository.Add(alimento); } else { _unitOfWork.AlimentoRepository.Update(alimento); } _unitOfWork.Commit(); return(RedirectToAction("Index")); }