public static Tecnologia ToModel(this TecnologiaViewModel tecnologiaVM) { var tecnologia = new Tecnologia() { id = (tecnologiaVM.Id.HasValue ? tecnologiaVM.Id.Value : 0), imageName = (tecnologiaVM.Image == null ? tecnologiaVM.ImageName : tecnologiaVM.Image.FileName), nome = tecnologiaVM.Nome, imageSource = tecnologiaVM.ImageSource, status = true }; if (tecnologiaVM.HasId) { tecnologia.data_alteracao = DateTime.Now; } return(tecnologia); }
public IActionResult Salvar(TecnologiaViewModel tecnologiaVM) { try { tecnologiaVM.ImageSource = tecnologiaVM.Image == null ? tecnologiaVM.ImageName : tecnologiaVM.Image.FileName; if (string.IsNullOrEmpty(tecnologiaVM.ImageSource)) { ModelState.AddModelError("Image", "Escolha uma imagem para a tecnologia."); } var imageNameAtual = tecnologiaVM.ImageName; if (ModelState.IsValid) { if (tecnologiaVM == null) { throw new Exception("Tecnologia inválida!"); } var tecnologia = tecnologiaVM.ToModel(); _repository.Salvar(tecnologia); if (tecnologiaVM.ImageSource != imageNameAtual) { _repository.UploadTecnologia(tecnologiaVM.Image, tecnologia); } return(RedirectToAction("Index")); } else { return(View("Tecnologia", tecnologiaVM)); } } catch (EntidadeNaoEncontradaException) { return(NotFound("Tecnologia não encontrada")); } catch (Exception ex) { return(StatusCode(500, ex)); } }