Example #1
0
        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);
        }
Example #2
0
        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));
            }
        }