Пример #1
0
        /// <summary>
        /// Salva a foto do pedido.
        /// </summary>
        /// <param name="fotoPedido"></param>
        public Glass.Api.Pedido.IFotoPedidoDescritor SalvarFotoPedido(Glass.Api.Pedido.IFotoPedido fotoPedido)
        {
            // Cadastra a foto
            var foto = Glass.Data.Model.IFoto.Nova(Data.Model.IFoto.TipoFoto.Pedido);

            foto.Path      = ServiceLocator.Current.GetInstance <IConfiguracao>().CaminhoFotoPedido;
            foto.IdParent  = (uint)fotoPedido.IdPedido;
            foto.Descricao = fotoPedido.Descricao;
            foto.Extensao  = string.Format(".{0}", fotoPedido.Extensao);

            // Insere entrada de foto e recupera o identificador.
            foto.IdFoto = foto.Insert();

            if (!System.IO.Directory.Exists(foto.Path))
            {
                System.IO.Directory.CreateDirectory(foto.Path);
            }

            var salva = ManipulacaoImagem.SalvarImagem(foto.FilePath, fotoPedido.Imagem);

            if (!salva)
            {
                return(null);
            }

            return(new Glass.Api.Implementacao.Pedido.FotoPedidoDescritor(foto));
        }
Пример #2
0
        /// <summary>
        /// Salva a imagem da ferragem.
        /// </summary>
        /// <param name="idFerragem">Identificador da ferragem.</param>
        /// <param name="stream">Stream contendo os dados da imagem que será salva.</param>
        public bool SalvarImagem(int idFerragem, System.IO.Stream stream)
        {
            var arquivo = ObterCaminho(idFerragem);

            // Caso a ferragem já possua imagem, o arquivo deve ser removido, para que seja salva a nova imagem.
            if (File.Exists(arquivo))
            {
                File.Delete(arquivo);
            }

            return(ManipulacaoImagem.SalvarImagem(arquivo, stream));
        }
Пример #3
0
        /// <summary>
        /// Salva o CalcPackage da ferragem.
        /// </summary>
        /// <param name="idFerragem">Identificador da ferragem.</param>
        /// <param name="stream">Stream contendo os dados do CalcPackage que será salva.</param>
        public bool SalvarCalcPackage(int idFerragem, System.IO.Stream stream)
        {
            var arquivo = ObterCaminho(idFerragem);

            // Caso o a ferragem já possua CalcPackage, o arquivo deve ser removido, para que o novo CalcPackage seja inserido.
            if (File.Exists(arquivo))
            {
                File.Delete(arquivo);
            }

            return(ManipulacaoImagem.SalvarImagem(arquivo, stream));
        }
Пример #4
0
        protected void grdProdutosOrcamento_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {
            FileUpload fluImagem = grdProdutosAmbienteOrcamento.Rows[e.RowIndex].FindControl("fluImagem") as FileUpload;

            if (fluImagem == null || !fluImagem.HasFile)
            {
                return;
            }

            var idProd = e.Keys[0].ToString().StrParaInt();

            ManipulacaoImagem.SalvarImagem($"{ Data.Helper.Utils.GetProdutosOrcamentoPath }{ idProd }.jpg", fluImagem.FileBytes);
        }
Пример #5
0
        protected void btnSalvarImagem_Click(object sender, EventArgs e)
        {
            if (!ManipulacaoImagem.SalvarImagem(Server.MapPath(NomeFigura()), file_imagem.PostedFile.InputStream))
            {
                Page.ClientScript.RegisterClientScriptBlock(typeof(string), "msg", "alert('Falha ao salvar imagem.');", true);
                return;
            }

            img_inicial.ImageUrl = NomeFigura();

            LogAlteracaoDAO.Instance.LogImagemProducao(Convert.ToUInt32(Request["IdPecaItemProj"]), Request["Item"], "Edição da imagem do item " + Request["item"] + ".");
            PecaItemProjetoDAO.Instance.ImagemEditada(Convert.ToUInt32(Request["IdPecaItemProj"]), true);

            Page.ClientScript.RegisterClientScriptBlock(typeof(string), "msg", "alert('Imagem salva!.');", true);
        }
Пример #6
0
        /// <summary>
        /// Salva a imagemd o produto.
        /// </summary>
        /// <param name="idProd">Identificador do produto.</param>
        /// <param name="stream">Stream contendo os dados da imagem que será salva.</param>
        public bool SalvarImagem(int idProdBaixaEst, System.IO.Stream stream)
        {
            var arquivo = ObtemCaminho(idProdBaixaEst);

            return(ManipulacaoImagem.SalvarImagem(arquivo, stream));
        }
Пример #7
0
        protected void Page_Load(object sender, EventArgs e)
        {
            Ajax.Utility.RegisterTypeForAjax(typeof(Glass.UI.Web.Cadastros.Projeto.DesenhaProjeto1));

            // Busca o item projeto passado por query string
            ItemProjeto   itemProj = ItemProjetoDAO.Instance.GetElementByPrimaryKey(Glass.Conversoes.StrParaUint(Request["idItemProjeto"]));
            ProjetoModelo projMod  = ProjetoModeloDAO.Instance.GetElementByPrimaryKey(itemProj.IdProjetoModelo);

            bool   isPcp      = itemProj.IdPedidoEspelho > 0;
            string nomeFigura = String.Empty;
            int    item       = Convert.ToInt32(Request["item"]);

            // Busca o produto pedido espelho para recuperar a URL da imagem
            if (isPcp)
            {
                var produtoPedidoEspelho = ProdutosPedidoEspelhoDAO.Instance.GetByMaterItemProj(
                    MaterialItemProjetoDAO.Instance.GetMaterialByPeca(Convert.ToUInt32(Request["IdPecaItemProj"])).IdMaterItemProj).First();

                produtoPedidoEspelho.Item = item;
                nomeFigura = produtoPedidoEspelho.ImagemUrlSalvarItem;
            }
            else
            {
                uint idProdPed = ProdutosPedidoDAO.Instance.GetIdProdPedByMaterItemProj(itemProj.IdPedido.Value,
                                                                                        MaterialItemProjetoDAO.Instance.GetMaterialByPeca(Convert.ToUInt32(Request["IdPecaItemProj"])).IdMaterItemProj);

                nomeFigura = Data.Helper.Utils.GetPecaComercialVirtualPath + idProdPed.ToString().PadLeft(10, '0') + "_" + item + ".jpg";
            }

            if (!IsPostBack)
            {
                if (Request["Ajax"] == null)
                {
                    // Carrega imagem na tela
                    if (File.Exists(Server.MapPath(nomeFigura)))
                    {
                        img_inicial.ImageUrl = nomeFigura;
                    }
                    else
                    {
                        // Carrega imagem na tela
                        nomeFigura = !String.IsNullOrEmpty(Request["item"]) ?
                                     projMod.Codigo + "§" + Request["item"] + ".jpg" : projMod.NomeFiguraAssociada;

                        if (!File.Exists(Data.Helper.Utils.GetModelosProjetoPath + nomeFigura))
                        {
                            nomeFigura = projMod.IdProjetoModelo.ToString("0##") + "_" + Request["item"] + ".jpg";
                        }

                        img_inicial.ImageUrl = "../../Handlers/LoadFiguraAssociada.ashx?tipoDesenho=0&path=" + Data.Helper.Utils.GetModelosProjetoPath + nomeFigura;
                    }
                }
                else if (Request["Ajax"] == "SalvarImagem" || Request["Ajax"] == "AbrirBiblioteca")
                {
                    var b = new StringBuilder(Request["base64"].Split(',')[1]);
                    b.Replace("\r\n", String.Empty);
                    b.Replace(" ", String.Empty);

                    var imagem = Convert.FromBase64String(b.ToString());

                    ManipulacaoImagem.SalvarImagem(Server.MapPath(nomeFigura), imagem);

                    LogAlteracaoDAO.Instance.LogImagemProducao(Convert.ToUInt32(Request["IdPecaItemProj"]), Request["Item"], "Edição da imagem do item " + Request["item"] + ".");
                    PecaItemProjetoDAO.Instance.ImagemEditada(Convert.ToUInt32(Request["IdPecaItemProj"]), true);
                }

                MontaTabelaFiguras();
            }
        }
Пример #8
0
        public static void InserirAnexo(IFoto.TipoFoto tipo, uint idParent, byte[] buffer, string fileName, string descricao)
        {
            // Cadastra a foto
            var foto = IFoto.Nova(tipo);

            foto.IdParent = idParent;

            var extensao = Path.GetExtension(fileName);

            if (string.IsNullOrEmpty(extensao))
            {
                throw new Exception("O arquivo informado não possui extensão.");
            }

            foto.Extensao = extensao;

            if (foto.ApenasImagens && !Arquivos.IsImagem(foto.Extensao))
            {
                throw new Exception("Apenas imagens podem ser cadastradas.");
            }

            if (foto.Tipo == IFoto.TipoFoto.Pedido)
            {
                if (PedidoEspelhoDAO.Instance.IsPedidoImpresso(null, foto.IdParent))
                {
                    throw new Exception("Não é possível inserir imagem em pedidos que já possuam etiqueta(s) impressa(s).");
                }
            }

            foto.Descricao = descricao;
            foto.IdFoto    = foto.Insert();

            if (foto.IdFoto == 0)
            {
                throw new Exception("Falha ao cadastrar foto.");
            }

            try
            {
                // Salva o arquivo da foto
                if (!Directory.Exists(foto.Path))
                {
                    Directory.CreateDirectory(foto.Path);
                }

                ManipulacaoImagem.SalvarImagem(foto.FilePath, buffer);

                if (tipo == IFoto.TipoFoto.Pedido)
                {
                    // Cria o Log de inserção do Anexo imagem Pedido
                    LogAlteracao log = new LogAlteracao();
                    log.Tabela        = (int)LogAlteracao.TabelaAlteracao.Pedido;
                    log.IdRegistroAlt = (int)idParent;
                    log.NumEvento     = LogAlteracaoDAO.Instance.GetNumEvento(LogAlteracao.TabelaAlteracao.Pedido, (int)idParent);
                    log.Campo         = "Anexo Pedido";
                    log.DataAlt       = DateTime.Now;
                    log.IdFuncAlt     = UserInfo.GetUserInfo.CodUser;
                    log.ValorAnterior = null;
                    log.ValorAtual    = string.Format("{0} - Imagem Anexada", foto.IdFoto);
                    log.Referencia    = LogAlteracao.GetReferencia(log.Tabela, idParent);
                    LogAlteracaoDAO.Instance.Insert(log);
                }
            }
            catch (Exception ex)
            {
                foto.Delete();
                throw ex;
            }
        }
Пример #9
0
        protected void btnAplicar_Click(object sender, EventArgs e)
        {
            try
            {
                for (int i = 0; i < grdPecas.Rows.Count; i++)
                {
                    Table tblImagens = (Table)grdPecas.Rows[i].FindControl("tblImagens");

                    for (int j = 0; j < tblImagens.Rows.Count; j++)
                    {
                        int item = Glass.Conversoes.StrParaInt(tblImagens.Rows[j].Cells[0].Attributes["item"]);

                        FileUpload f = (FileUpload)tblImagens.Rows[j].FindControl("flu" + j);
                        if (f == null || !f.HasFile)
                        {
                            continue;
                        }

                        uint idPecaItemProj = Glass.Conversoes.StrParaUint(tblImagens.Rows[j].Cells[0].Attributes["idPecaItemProj"]);

                        // Garante que a imagem pode ser alterada na peça
                        if (idPecaItemProj > 0 && !UtilsProjeto.PodeAlterarImagemPeca(PecaItemProjetoDAO.Instance.GetElementExt(null, idPecaItemProj, true), item, j + 1, false))
                        {
                            continue;
                        }

                        string extensao = f.FileName.Substring(f.FileName.LastIndexOf('.'));
                        if (!Arquivos.IsImagem(extensao))
                        {
                            throw new Exception("Apenas imagens podem ser selecionadas.");
                        }

                        HiddenField h        = (HiddenField)grdPecas.Rows[i].FindControl("hdfIdProdPed");
                        var         idPedido = Request["idPedido"].StrParaUint();

                        var idProdPed = h.Value.StrParaUint();

                        if (Request["tipo"] == "pedido" && !PedidoEspelhoDAO.Instance.ExisteEspelho(idPedido) && (ProdutosPedidoDAO.Instance.TemProdutoLamComposicao(idPedido) || Request["pecaAvulsa"] == "True"))
                        {
                            var urlImagem = ProdutosPedidoDAO.Instance.ObterUrlImagemSalvar(idProdPed);
                            ManipulacaoImagem.SalvarImagem(urlImagem, f.FileBytes);

                            // Cria Log de alteração da Imagem do Produto Pedido
                            LogAlteracaoDAO.Instance.Insert(new LogAlteracao
                            {
                                Tabela        = (int)LogAlteracao.TabelaAlteracao.ImagemProdPed,
                                IdRegistroAlt = (int)idProdPed,
                                Campo         = "Imagem Produto Pedido",
                                ValorAtual    = f.FileName,
                                DataAlt       = DateTime.Now,
                                IdFuncAlt     = UserInfo.GetUserInfo.CodUser,
                                Referencia    = "Imagem do Produto Pedido " + idProdPed,
                                NumEvento     = LogAlteracaoDAO.Instance.GetNumEvento(null, LogAlteracao.TabelaAlteracao.ImagemProdPed, (int)idProdPed)
                            });
                        }

                        if (Request["tipo"] == "pcp")
                        {
                            ProdutosPedidoEspelho ppe = ProdutosPedidoEspelhoDAO.Instance.GetElementByPrimaryKey(Glass.Conversoes.StrParaUint(h.Value));

                            if (ppe != null)
                            {
                                var nomeImagem = string.Empty;

                                if (item > 0)
                                {
                                    ppe.Item   = item;
                                    nomeImagem = ppe.ImagemUrlSalvarItem;
                                }
                                else
                                {
                                    nomeImagem = ppe.ImagemUrlSalvar;
                                }

                                ManipulacaoImagem.SalvarImagem(Server.MapPath(nomeImagem), f.FileBytes);

                                // Cria Log de alteração da Imagem do Produto Pedido Espelho
                                LogAlteracaoDAO.Instance.Insert(new LogAlteracao
                                {
                                    Tabela        = (int)LogAlteracao.TabelaAlteracao.ImagemProdPedEsp,
                                    IdRegistroAlt = (int)ppe.IdProdPed,
                                    Campo         = "Imagem Produto Pedido Espelho",
                                    ValorAtual    = f.FileName,
                                    DataAlt       = DateTime.Now,
                                    IdFuncAlt     = UserInfo.GetUserInfo.CodUser,
                                    Referencia    = "Imagem do Produto Pedido Espelho " + ppe.IdProdPed,
                                    NumEvento     = LogAlteracaoDAO.Instance.GetNumEvento(null, LogAlteracao.TabelaAlteracao.ImagemProdPedEsp, (int)ppe.IdProdPed)
                                });

                                if (idPecaItemProj > 0)
                                {
                                    LogAlteracaoDAO.Instance.LogImagemProducao(idPecaItemProj, item.ToString(), "Nova imagem atribuída à peça");
                                }
                            }
                        }
                    }
                }

                Glass.MensagemAlerta.ShowMsg("Imagens alteradas.", Page);
                Response.Redirect(Request.Url.ToString());
            }
            catch (Exception ex)
            {
                Glass.MensagemAlerta.ErrorMsg("Falha ao salvar imagem.", ex, Page);
            }
        }
Пример #10
0
        /// <summary>
        /// Salva a imagem do funcionário.
        /// </summary>
        /// <param name="idFuncionario">Identificador do funcionário.</param>
        /// <param name="stream">Stream contendo os dados da imagem que será salva.</param>
        public bool SalvarImagem(int idFuncionario, System.IO.Stream stream)
        {
            var arquivo = ObtemCaminho(idFuncionario);

            return(ManipulacaoImagem.SalvarImagem(arquivo, stream));
        }
Пример #11
0
        protected void Page_Load(object sender, EventArgs e)
        {
            // Busca o item projeto passado por query string
            ItemProjeto   itemProj = ItemProjetoDAO.Instance.GetElementByPrimaryKey(Glass.Conversoes.StrParaUint(Request["idItemProjeto"]));
            ProjetoModelo projMod  = ProjetoModeloDAO.Instance.GetElementByPrimaryKey(itemProj.IdProjetoModelo);

            bool   isPcp      = itemProj.IdPedidoEspelho > 0;
            string nomeFigura = NomeFigura();
            int    item       = Convert.ToInt32(Request["item"]);

            // Busca o produto pedido espelho para recuperar a URL da imagem
            if (isPcp)
            {
                var produtoPedidoEspelho = ProdutosPedidoEspelhoDAO.Instance.GetByMaterItemProj(
                    MaterialItemProjetoDAO.Instance.GetMaterialByPeca(Convert.ToUInt32(Request["IdPecaItemProj"])).IdMaterItemProj).First();

                produtoPedidoEspelho.Item = item;
                nomeFigura = produtoPedidoEspelho.ImagemUrlSalvarItem;
            }
            else if (itemProj.IdPedido.GetValueOrDefault() > 0)
            {
                uint idProdPed = ProdutosPedidoDAO.Instance.GetIdProdPedByMaterItemProj(itemProj.IdPedido.Value,
                                                                                        MaterialItemProjetoDAO.Instance.GetMaterialByPeca(Convert.ToUInt32(Request["IdPecaItemProj"])).IdMaterItemProj);

                nomeFigura = Data.Helper.Utils.GetPecaComercialVirtualPath + idProdPed.ToString().PadLeft(10, '0') + "_" + item + ".jpg";
            }

            if (Request["Ajax"] == null)
            {
                // Se o arquivo já tiver sido editado, busca ele mesmo
                if (File.Exists(Server.MapPath(nomeFigura)))
                {
                    img_inicial.ImageUrl = nomeFigura;
                }
                else
                {
                    // Se o pedido não tiver sido editado ainda, busca a imagem padrão com suas devidas medidas calculadas e inseridas na imagem
                    nomeFigura = !String.IsNullOrEmpty(Request["item"]) ?
                                 projMod.Codigo + "§" + Request["item"] + ".jpg" : projMod.NomeFiguraAssociada;

                    if (!File.Exists(Data.Helper.Utils.GetModelosProjetoPath + nomeFigura))
                    {
                        nomeFigura = projMod.IdProjetoModelo.ToString("0##") + "_" + Request["item"] + ".jpg";
                    }

                    img_inicial.ImageUrl = "../../Handlers/LoadFiguraAssociada.ashx?tipoDesenho=0&path=" + Data.Helper.Utils.GetModelosProjetoPath + nomeFigura
                                           + "&idProjetoModelo=" + Request["IdProjetoModelo"] + "&idPecaItemProj=" + Request["IdPecaItemProj"] + "&Item=" + Request["Item"] + "&IdItemProjeto=" + Request["IdItemProjeto"];
                }
            }
            else if (Request["Ajax"] == "SalvarImagem" || Request["Ajax"] == "AbrirBiblioteca")
            {
                var b = new StringBuilder(Request["base64"].Split(',')[1]);
                b.Replace("\r\n", String.Empty);
                b.Replace(" ", String.Empty);

                var imagem = Convert.FromBase64String(b.ToString());

                if (!ManipulacaoImagem.SalvarImagem(Server.MapPath(nomeFigura), imagem))
                {
                    Response.Write("Falha ao salvar imagem.");
                    Response.End();
                    return;
                }

                LogAlteracaoDAO.Instance.LogImagemProducao(Convert.ToUInt32(Request["IdPecaItemProj"]), Request["Item"], "Edição da imagem do item " + Request["item"] + ".");
                PecaItemProjetoDAO.Instance.ImagemEditada(Convert.ToUInt32(Request["IdPecaItemProj"]), true);

                Response.Write("Imagem salva!");
                Response.End();
            }
            else if (Request["Ajax"] == "UploadImagem")
            {
                img_inicial.ImageUrl = Request["urlUpload"];
            }
        }
Пример #12
0
        private string InserirMult(string descricao, IFoto.TipoFoto tipo)
        {
            var hfc = Request.Files;
            var arquivosNaoAnexados = "";

            for (var i = 0; i < hfc.Count; i++)
            {
                // Cadastra a foto.
                var foto = IFoto.Nova(tipo);

                // Recupera os dados do arquivo.
                var arquivo = hfc[i];

                // Recupera o nome do arquivo, que deve ser exatamente o id da referência.
                var idReferencia = Conversoes.StrParaUint(arquivo.FileName.Split('-', '.', ' ')[0]);

                // Verifica se são arquivos de pedidos ou de liberações.
                switch (Request["tipo"])
                {
                case "pedido":

                    if (PedidoEspelhoDAO.Instance.IsPedidoImpresso(null, foto.IdParent))
                    {
                        return("Não é possível inserir imagem em pedidos que já possuam etiqueta(s) impressa(s).");
                    }

                    // Se o tipo for pedido e o nome do arquivo não for o id de um pedido válido então o arquivo não é anexado.
                    else if (!PedidoDAO.Instance.Exists(idReferencia))
                    {
                        arquivosNaoAnexados += arquivo.FileName + ", ";
                        continue;
                    }

                    break;

                case "liberacao":
                    // Se o tipo for pedido e o nome do arquivo não for o id de uma liberação válida então o arquivo não é anexado.
                    if (!LiberarPedidoDAO.Instance.Exists(idReferencia))
                    {
                        arquivosNaoAnexados += arquivo.FileName + ", ";
                        continue;
                    }

                    break;

                default:
                    continue;
                }

                foto.IdParent = idReferencia;
                foto.Extensao = arquivo.FileName.Substring(arquivo.FileName.LastIndexOf('.'));

                if (foto.ApenasImagens && !Arquivos.IsImagem(foto.Extensao))
                {
                    arquivosNaoAnexados += arquivo.FileName + ", ";
                    continue;
                }

                foto.Descricao = descricao;
                foto.IdFoto    = foto.Insert();

                if (foto.IdFoto == 0)
                {
                    arquivosNaoAnexados += arquivo.FileName + ", ";
                    foto.Delete();
                    continue;
                }

                try
                {
                    ManipulacaoImagem.SalvarImagem(foto.FilePath, arquivo.InputStream);
                }
                catch
                {
                    foto.Delete();
                    arquivosNaoAnexados += arquivo.FileName + ", ";
                    continue;
                }
            }

            return(arquivosNaoAnexados = !String.IsNullOrEmpty(arquivosNaoAnexados)
                ? "Arquivos não anexados: " + arquivosNaoAnexados.Trim(' ').Trim(',') +
                                         ".\\n\\nCertifique-se de que os nomes dos arquivos estão corretos."
                : "Arquivos anexados com sucesso.");
        }
Пример #13
0
        /// <summary>
        /// Salva o arquivo do relatório.
        /// </summary>
        /// <param name="idRelatorioDinamico">Identificador do relatório.</param>
        /// <param name="stream">Stream contendo os dados do arquivo que será salvo.</param>
        public bool SalvarArquivo(int idRelatorioDinamico, System.IO.Stream stream)
        {
            var arquivo = ObterCaminho(idRelatorioDinamico);

            return(ManipulacaoImagem.SalvarImagem(arquivo, stream));
        }
Пример #14
0
        /// <summary>
        /// Salva a imagem do funcionário.
        /// </summary>
        /// <param name="idFuncionario">Identificador do funcionário.</param>
        /// <param name="stream">Stream contendo os dados da imagem que será salva.</param>
        public bool SalvarImagem(int idLoja, bool cor, Stream stream)
        {
            var arquivo = ObtemCaminho(idLoja, cor);

            return(ManipulacaoImagem.SalvarImagem(arquivo, stream));
        }
Пример #15
0
        /// <summary>
        /// Salva a imagem do cliente.
        /// </summary>
        /// <param name="idCliente">Identificador do cliente.</param>
        /// <param name="stream">Stream contendo os dados da imagem que será salva.</param>
        public bool SalvarImagem(int idCliente, System.IO.Stream stream)
        {
            var arquivo = ObterCaminho(idCliente);

            return(ManipulacaoImagem.SalvarImagem(arquivo, stream));
        }