Exemplo n.º 1
0
        public override int Delete(FotosPedido objDelete)
        {
            string path = objDelete.FilePath;

            if (File.Exists(path))
            {
                File.Delete(path);
            }

            // Cria o Log de remoção do Anexo - imagem Pedido
            LogAlteracao log = new LogAlteracao();

            log.Tabela        = (int)LogAlteracao.TabelaAlteracao.Pedido;
            log.IdRegistroAlt = (int)objDelete.IdPedido;
            log.NumEvento     = LogAlteracaoDAO.Instance.GetNumEvento(LogAlteracao.TabelaAlteracao.Pedido, (int)objDelete.IdPedido);
            log.Campo         = "Anexo Pedido";
            log.DataAlt       = DateTime.Now;
            log.IdFuncAlt     = UserInfo.GetUserInfo.CodUser;
            log.ValorAnterior = string.Format("{0} - Imagem Anexada", objDelete.IdFoto);
            log.ValorAtual    = string.Format("{0} - Imagem Removida", objDelete.IdFoto);
            log.Referencia    = LogAlteracao.GetReferencia(log.Tabela, objDelete.IdPedido);
            LogAlteracaoDAO.Instance.Insert(log);

            return(GDAOperations.Delete(objDelete));
        }
Exemplo n.º 2
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;
            }
        }