예제 #1
0
        public string GravarFoto(
            string idWorkflowFoto,
            string autonumCntrBl,
            string autonumPatio,
            string autonumCsOp,
            string bl,
            string autonumCsrdx,
            string autonumPatiordx,
            string imagemBase64)
        {
            if (string.IsNullOrWhiteSpace(idWorkflowFoto))
            {
                return($"ERRO - Parâmetro {nameof(idWorkflowFoto)} não informado");
            }

            if (string.IsNullOrWhiteSpace(autonumCntrBl))
            {
                return($"ERRO - Parâmetro {nameof(autonumCntrBl)} não informado");
            }

            if (string.IsNullOrWhiteSpace(autonumPatio))
            {
                return($"ERRO - Parâmetro {nameof(autonumPatio)} não informado");
            }

            if (string.IsNullOrWhiteSpace(autonumCsOp))
            {
                return($"ERRO - Parâmetro {nameof(autonumCsOp)} não informado");
            }

            if (string.IsNullOrWhiteSpace(bl))
            {
                return($"ERRO - Parâmetro {nameof(bl)} não informado");
            }

            if (string.IsNullOrWhiteSpace(imagemBase64))
            {
                return($"ERRO - Parâmetro {nameof(imagemBase64)} não informado");
            }

            var diretorio_padrao   = _banco.ObterDiretorioImagens();
            var nome_imagem        = Guid.NewGuid().ToString().RemoverCaracteresEspeciais();
            var diretorio_arquivos = Path.Combine(diretorio_padrao, bl);
            var caminhoImagem      = Path.Combine(diretorio_arquivos, $"{nome_imagem}.png");
            var imagemEmBytes      = Convert.FromBase64String(imagemBase64);

            var foto = new Foto(
                idWorkflowFoto,
                autonumCntrBl,
                autonumPatio,
                autonumCsOp,
                bl,
                autonumPatiordx,
                autonumCsrdx,
                nome_imagem);

            try
            {
                GravarNoDiretorio(diretorio_arquivos, caminhoImagem, imagemEmBytes);
                _banco.GravarFoto(foto);
            }
            catch (Exception ex)
            {
                return(ex.Message);
            }

            return("OK");
        }