Exemple #1
0
        public int Atualizar(NfeConfiguracaoImagemEntity model)
        {
            var SQL = new StringBuilder();

            SQL.AppendLine("UPDATE dbo.tb_dep_nfe_configuracao_imagem");

            SQL.AppendLine("   SET UsuarioAlteracaoId = 1");
            SQL.Append("      ,ValueX = ").Append(model.ValueX).AppendLine();
            SQL.Append("      ,ValueY = ").Append(model.ValueY).AppendLine();
            SQL.Append("      ,Width = ").Append(model.Width).AppendLine();
            SQL.Append("      ,Height = ").Append(model.Height).AppendLine();
            SQL.AppendLine("      ,DataAlteracao = GETDATE()");

            SQL.Append(" WHERE ConfiguracaoImagemId = ").Append(model.ConfiguracaoImagemId).AppendLine();

            return(DataBase.Execute(SQL));
        }
Exemple #2
0
        public List <NfeConfiguracaoImagemEntity> Listar(NfeConfiguracaoImagemEntity model)
        {
            var SQL = new StringBuilder();

            SQL.AppendLine("SELECT tb_dep_nfe_configuracao_imagem.ConfiguracaoImagemId");
            SQL.AppendLine("      ,tb_dep_nfe_configuracao_imagem.ClienteDepositoId");
            SQL.AppendLine("      ,tb_dep_nfe_configuracao_imagem.UsuarioCadastroId");
            SQL.AppendLine("      ,tb_dep_nfe_configuracao_imagem.UsuarioAlteracaoId");
            SQL.AppendLine("      ,tb_dep_nfe_configuracao_imagem.ValueX");
            SQL.AppendLine("      ,tb_dep_nfe_configuracao_imagem.ValueY");
            SQL.AppendLine("      ,tb_dep_nfe_configuracao_imagem.Width");
            SQL.AppendLine("      ,tb_dep_nfe_configuracao_imagem.Height");
            SQL.AppendLine("      ,tb_dep_nfe_configuracao_imagem.DataCadastro");
            SQL.AppendLine("      ,tb_dep_nfe_configuracao_imagem.DataAlteracao");

            SQL.AppendLine("  FROM dbo.tb_dep_nfe_configuracao_imagem");

            SQL.AppendLine("  JOIN dbo.tb_dep_clientes_depositos");
            SQL.AppendLine("    ON tb_dep_clientes_depositos.id_cliente_deposito = tb_dep_nfe_configuracao_imagem.ClienteDepositoId");

            SQL.AppendLine(" WHERE 1 = 1");

            if (model.ConfiguracaoImagemId > 0)
            {
                SQL.Append("   AND tb_dep_clientes_depositos.ConfiguracaoImagemId = ").Append(model.ConfiguracaoImagemId).AppendLine();
            }
            else if (model.ClienteDepositoId > 0)
            {
                SQL.Append("   AND tb_dep_clientes_depositos.ClienteDepositoId = ").Append(model.ClienteDepositoId).AppendLine();
            }

            if (model.ClienteId > 0)
            {
                SQL.Append("   AND tb_dep_clientes_depositos.id_cliente = ").Append(model.ClienteId).AppendLine();
            }

            if (model.DepositoId > 0)
            {
                SQL.Append("   AND tb_dep_clientes_depositos.id_deposito = ").Append(model.DepositoId).AppendLine();
            }

            using (var dataTable = DataBase.Select(SQL))
            {
                return(dataTable == null ? null : DataTableUtil.DataTableToList <NfeConfiguracaoImagemEntity>(dataTable));
            }
        }
Exemple #3
0
        public int Cadastrar(NfeConfiguracaoImagemEntity model)
        {
            var SQL = new StringBuilder();

            SQL.AppendLine("INSERT INTO dbo.tb_dep_nfe_configuracao_imagem");

            SQL.AppendLine("      (ClienteDepositoId");
            SQL.AppendLine("      ,UsuarioCadastroId");
            SQL.AppendLine("      ,ValueX");
            SQL.AppendLine("      ,ValueY");
            SQL.AppendLine("      ,Width");
            SQL.AppendLine("      ,Height)");

            SQL.AppendLine("VALUES");

            SQL.Append("      (").Append(model.ClienteDepositoId).AppendLine();
            SQL.AppendLine("      ,1");
            SQL.Append("      ,").Append(model.ValueX).AppendLine();
            SQL.Append("      ,").Append(model.ValueY).AppendLine();
            SQL.Append("      ,").Append(model.Width).AppendLine();
            SQL.Append("      ,").Append(model.Height).AppendLine(")");

            return(DataBase.ExecuteScopeIdentity(SQL));
        }
        private byte[] BaixarImagem(int clienteId, int depositoId, string identificadorNota, Consulta identificaoNotaFiscal, string url)
        {
            byte[] imagemNotaFiscal;

            NfeConfiguracaoImagemEntity ConfiguracaoImagem;

            NfeConfiguracaoImagemController NfeConfiguracaoImagemController = new NfeConfiguracaoImagemController();

            if ((ConfiguracaoImagem = NfeConfiguracaoImagemController.Selecionar(new NfeConfiguracaoImagemEntity {
                ClienteId = clienteId, DepositoId = depositoId
            })) == null)
            {
                ConfiguracaoImagem = new NfeConfiguracaoImagemEntity
                {
                    ClienteDepositoId = new ClienteDepositoController().Selecionar(new ClienteDepositoEntity {
                        ClienteId = clienteId, DepositoId = depositoId
                    }).ClienteDepositoId,

                    ValueX = 10,

                    ValueY = 10,

                    Height = 500,

                    Width = 500
                };

                ConfiguracaoImagem.ConfiguracaoImagemId = NfeConfiguracaoImagemController.Cadastrar(ConfiguracaoImagem);
            }

            string directory;

            string drive = new Tools().DriveToSave();

            directory = $@"{drive}Sistemas\GeradorNF\NFE\" + DataBase.SystemEnvironment.ToString() + "\\" + DateTime.Now.Year + "\\" + DateTime.Now.ToString("MM") + "\\" + DateTime.Now.ToString("dd") + "\\";

            if (!Directory.Exists(directory))
            {
                Directory.CreateDirectory(directory);
            }

            List <NfeRegraEntity> regrasNfe = new NfeRegraController().Listar(new NfeRegraEntity()
            {
                ClienteId  = clienteId,
                DepositoId = depositoId
            });

            if (regrasNfe?.Count(w => w.RegraCodigo.Equals("NFPDF") && w.Ativo.Equals(1)) > 0 || url.EndsWith(".pdf", StringComparison.OrdinalIgnoreCase))
            {
                using (WebClient webClient = new WebClient())
                {
                    string str1 = directory + identificadorNota + "Original.pdf";
                    string str2 = directory + identificadorNota + ".jpg";

                    webClient.Headers.Add("user-agent", "Mob-Link");

                    webClient.DownloadFile(url, str1);

                    new PdfToJpg().Process(str1, str2);

                    using (MemoryStream memoryStream = new MemoryStream())
                    {
                        Image.FromFile(str2).Save(memoryStream, ImageFormat.Jpeg);

                        imagemNotaFiscal = memoryStream.ToArray();
                    }
                }
            }
            else
            {
                using (MemoryStream memoryStream = new MemoryStream())
                {
                    new Tools().ObterImagemEndereco(url).Save(memoryStream, ImageFormat.Jpeg);

                    imagemNotaFiscal = memoryStream.ToArray();
                }

                try
                {
                    if (!IsImage(imagemNotaFiscal))
                    {
                        throw new Exception("A Imagem retornada nao é uma Imagem válida");
                    }
                }
                catch (Exception)
                {
                    throw new Exception("Ocorreu um erro ao analisar a Imagem retornada");
                }

                #region Início do trecho para testes
                //if (new[] { "BETODELL", "BETOLENOVO", "SUPREMELEADER" }.Contains(SystemInformation.ComputerName))
                //{
                //    configuracaoImagem.ValueX = 0; // Margem Esquerda
                //    configuracaoImagem.ValueY = 0; // Margem Superior
                //    configuracaoImagem.Width = 1035; // Margem Direita
                //    configuracaoImagem.Height = 1315; // Margem Inferior
                //}
                #endregion Fim do trecho para testes

                try
                {
                    if (!identificaoNotaFiscal.BaixarImagemOriginal)
                    {
                        imagemNotaFiscal = CropImage(imagemNotaFiscal, new Rectangle(ConfiguracaoImagem.ValueX, ConfiguracaoImagem.ValueY, ConfiguracaoImagem.Width, ConfiguracaoImagem.Height));

                        // File.WriteAllBytes(directory + identificadorNota + "Recortado.jpg", ImagemNotaFiscal);

                        if (!IsImage(imagemNotaFiscal))
                        {
                            throw new Exception("A Imagem recortada nao é uma Imagem válida");
                        }
                    }
                }
                catch (Exception ex)
                {
                    throw new Exception("Ocorreu um erro ao recortar a Imagem retornada: " + ex.Message);
                }
            }

            return(imagemNotaFiscal);
        }
Exemple #5
0
        public NfeConfiguracaoImagemEntity Selecionar(NfeConfiguracaoImagemEntity model)
        {
            var list = Listar(model);

            return(list?.FirstOrDefault());
        }