public IActionResult FormUpdateProduto(ProdutoViewModel entrada)
        {
            Produto modelo = new Produto();

            entrada.contexto = this.contexto;


            try
            {
                if (ProdutoRules.MontaProdutoUpdate(entrada, out modelo))
                {
                    produtoData.Update(modelo);
                    StatusMessage = "Registro Atualizado com Sucesso!";

                    return(RedirectToAction("FormUpdateProduto", new { id = modelo.id.ToString(), idOrg = contexto.idOrganizacao }));
                }
            }
            catch (Exception ex)
            {
                LogOsca log = new LogOsca();
                log.GravaLog(1, 7, this.contexto.idUsuario, this.contexto.idOrganizacao, "FormUpdateProduto-post", ex.Message);
            }

            return(RedirectToAction("FormUpdateProduto", new { id = modelo.id.ToString() }));
        }
        public async Task <IActionResult> AddImage(IFormFile file)
        {
            string path     = "";
            string URLPAT   = "";
            string NomeFile = Path.GetFileName(file.FileName);

            //Regra 1
            if (file == null || file.Length == 0)
            {
                return(Content("file not selected"));
            }

            //Regra 2 - Remove espaço
            if (NomeFile.Contains(' '))
            {
                return(Content("Não pode haver espaço em branco no nome do arquivo"));
            }

            //Regra 3 - Limite de tamanho
            if (file.Length >= 2001000)
            {
                return(Content("Não pode ter mais de 2 MB"));
            }

            //Regra 4 - Apenas PNG e JPG
            string[] contentTypes = new string[] { "image/jpg", "image/png", "image/jpeg" };
            if (!contentTypes.Contains(file.ContentType))
            {
                return(Content("Suporte apenas para arquivos PNG,JPG e JPEG"));
            }


            if (this.oscaConfig.ambiente == "prod")
            {
                path   = "h:\\root\\home\\ronaldowl-001\\www\\bancoimagem\\prod\\OrgFiles\\" + this.contexto.organizacao + "\\produto\\imagens\\";
                URLPAT = "imagens.oscas.com.br/prod/orgfiles/" + this.contexto.organizacao + "/produto/imagens/" + NomeFile;
            }
            else
            {
                path   = "h:\\root\\home\\ronaldowl-001\\www\\bancoimagem\\desenv\\OrgFiles\\" + this.contexto.organizacao + "\\produto\\imagens\\";
                URLPAT = "imagens.oscas.com.br/desenv/orgfiles/" + this.contexto.organizacao + "/produto/imagens/" + NomeFile;
            }

            path = path + NomeFile;

            using (var stream = new FileStream(path, FileMode.Create))
            {
                await file.CopyToAsync(stream);
            }

            Produto          modelo  = new Produto();
            ProdutoViewModel entrada = new ProdutoViewModel();

            entrada.contexto           = this.contexto;
            entrada.produto.id         = new Guid(idProdutoTemp);
            entrada.produto.urlProduto = URLPAT;

            if (ProdutoRules.MontaProdutoUpdate(entrada, out modelo))
            {
                produtoData.UpdateImage(modelo);
            }

            return(RedirectToAction("FormUpdateProduto", new { id = entrada.produto.id }));
        }