示例#1
0
        public IActionResult Edit(int codigoOrcamento)
        {
            string mensagemErro;

            CabecalhoOrcamentoBLL cabecalhoOrcamentoBLL = new CabecalhoOrcamentoBLL();
            CabecalhoOrcamento    cabecalhoOrcamento    = cabecalhoOrcamentoBLL.GetCabecalhoOrcamento(codigoOrcamento, out mensagemErro);

            if (!String.IsNullOrEmpty(mensagemErro))
            {
                TempData["mensagemErro"] = mensagemErro;
                return(RedirectToAction("Index", "Home"));
            }
            else
            {
                return(View("NovoOrcamento", cabecalhoOrcamento));
            }
        }
示例#2
0
        public JsonResult GetOrcamentos(int?codigoCliente)
        {
            string mensagemErro = "";
            List <CabecalhoOrcamento.CabecalhoOrcamentoTela> listaPedidos = null;

            if (codigoCliente.HasValue && codigoCliente > 0)
            {
                CabecalhoOrcamentoBLL cabecalhoOrcamentoBLL = new CabecalhoOrcamentoBLL();
                listaPedidos = cabecalhoOrcamentoBLL.GetPedidoByCliente(codigoCliente, out mensagemErro);
            }

            if (String.IsNullOrEmpty(mensagemErro))
            {
                return(Json(new { sucesso = true, resultado = listaPedidos }));
            }
            else
            {
                return(Json(new { sucesso = false, resultado = mensagemErro }));
            }
        }
示例#3
0
        public FileResult GerarPDF(int codigoOrcamento = 1597, bool removerColunaDesconto = false)
        {
            try
            {
                CabecalhoOrcamentoBLL cabecalhoOrcamentoBLL = new CabecalhoOrcamentoBLL();
                string mensagemErro = "";

                CabecalhoOrcamento cab = cabecalhoOrcamentoBLL.GetCabecalhoOrcamento(codigoOrcamento, out mensagemErro);

                if (cab == null)
                {
                    TempData["mensagemErro"] = mensagemErro;
                    return(null);
                }

                DiretorioArquivosGerados = Path.Combine(_hostingEnvironment.WebRootPath + "/Arquivos_Gerados", Guid.NewGuid().ToString());

                if (Directory.Exists(DiretorioArquivosGerados))
                {
                    Directory.Delete(DiretorioArquivosGerados, true);
                }

                Directory.CreateDirectory(DiretorioArquivosGerados);

                string caminhoArquivoSaida = Path.Combine(DiretorioArquivosGerados, "orcamento.pdf");

                if (!cabecalhoOrcamentoBLL.GerarPdfOrcamento(codigoOrcamento, removerColunaDesconto, caminhoArquivoSaida, _hostingEnvironment.WebRootPath, out mensagemErro))
                {
                    TempData["mensagemErro"] = mensagemErro;
                    return(null);
                }

                return(PhysicalFile(caminhoArquivoSaida, "application/pdf", "Orcamento_" + cab.Codigo.ToString() + ".pdf"));
            }
            catch (Exception e)
            {
                TempData["mensagemErro"] = e.Message;
                return(null);
            }
        }
示例#4
0
        public JsonResult GravarOrcamento(int CodigoOrcamento, int CodigoCliente, int CodigoFuncionario, int CodigoCondicao, int CodigoStatus, int ValidadeOrcamento, string TelefoneContato, List <string> Emails, string itensJson)
        {
            CabecalhoOrcamentoBLL cabecalhoOrcamentoBLL = new CabecalhoOrcamentoBLL();
            ItemOrcamentoBLL      itemOrcamentoBLL      = new ItemOrcamentoBLL();
            CondicaoPagamentoBLL  condicaoPagamentoBLL  = new CondicaoPagamentoBLL();
            string  mensagemErro;
            decimal valorTotalOrcamento = 0;
            int     numeroParcelas      = 0;

            try
            {
                CabecalhoOrcamento cabecalhoOrcamento = new CabecalhoOrcamento();
                cabecalhoOrcamento.Cliente             = new Cliente(CodigoCliente);
                cabecalhoOrcamento.FuncionarioVendedor = new Funcionario(CodigoFuncionario);
                cabecalhoOrcamento.CondicaoPagamento   = condicaoPagamentoBLL.getCondicoes(CodigoCondicao, null, out mensagemErro).First();
                cabecalhoOrcamento.StatusOrcamento     = new StatusOrcamento()
                {
                    Codigo = CodigoStatus
                };
                cabecalhoOrcamento.ValidadeOrcamento = ValidadeOrcamento;
                cabecalhoOrcamento.TelefoneContato   = TelefoneContato;
                cabecalhoOrcamento.DataExpiracao     = DateTime.Now.AddDays(ValidadeOrcamento);

                List <ItemOrcamento.ItemOrcamentoTela> itens = JsonConvert.DeserializeObject <List <ItemOrcamento.ItemOrcamentoTela> >(itensJson);

                //Calcula total dos itens
                foreach (ItemOrcamento.ItemOrcamentoTela item in itens)
                {
                    valorTotalOrcamento += item.Subtotal;
                }

                numeroParcelas = cabecalhoOrcamento.CondicaoPagamento.Descricao.Split('/').Count();
                cabecalhoOrcamento.ValorOrcamento = valorTotalOrcamento + numeroParcelas * (decimal)3.00;

                if (CodigoOrcamento > 0)
                {
                    //UPDATE ORÇAMENTO
                    cabecalhoOrcamento.Codigo = CodigoOrcamento;

                    if (!cabecalhoOrcamentoBLL.GetUpdateCabecalhoOrcamento(cabecalhoOrcamento, out mensagemErro))
                    {
                        return(Json(new { sucesso = false, mensagemErro = mensagemErro }));
                    }
                    else
                    {
                        if (!itemOrcamentoBLL.GetDeleteItemOrcamento((int)cabecalhoOrcamento.Codigo, out mensagemErro))
                        {
                            return(Json(new { sucesso = false, mensagemErro = mensagemErro }));
                        }

                        foreach (ItemOrcamento.ItemOrcamentoTela item in itens)
                        {
                            ItemOrcamento itemOrcamento = new ItemOrcamento();

                            itemOrcamento.cabecalhoOrcamento = cabecalhoOrcamento;
                            itemOrcamento.produto            = new Produto(item.produto_Codigo);
                            itemOrcamento.quantidade         = item.Quantidade;
                            itemOrcamento.percentualDesconto = item.PercentualDesconto;
                            itemOrcamento.subtotal           = item.Subtotal;
                            itemOrcamento.acrescimo          = item.Acrescimo;

                            if (!itemOrcamentoBLL.GetInsertItemOrcamento(itemOrcamento, out mensagemErro))
                            {
                                return(Json(new { sucesso = false, mensagemErro = mensagemErro }));
                            }
                        }
                    }

                    return(Json(new { sucesso = true, CodigoOrcamento = cabecalhoOrcamento.Codigo }));
                }
                else
                {
                    //INSERT ORÇAMENTO
                    cabecalhoOrcamento.DataCriacao = DateTime.Now;
                    if (!cabecalhoOrcamentoBLL.GetInsertCabecalhoOrcamento(cabecalhoOrcamento, out mensagemErro))
                    {
                        return(Json(new { sucesso = false, mensagemErro = mensagemErro }));
                    }
                    else
                    {
                        foreach (ItemOrcamento.ItemOrcamentoTela item in itens)
                        {
                            ItemOrcamento itemOrcamento = new ItemOrcamento();

                            itemOrcamento.cabecalhoOrcamento = cabecalhoOrcamento;
                            itemOrcamento.produto            = new Produto(item.produto_Codigo);
                            itemOrcamento.quantidade         = item.Quantidade;
                            itemOrcamento.percentualDesconto = item.PercentualDesconto;
                            itemOrcamento.subtotal           = item.Subtotal;
                            itemOrcamento.acrescimo          = item.Acrescimo;

                            if (!itemOrcamentoBLL.GetInsertItemOrcamento(itemOrcamento, out mensagemErro))
                            {
                                return(Json(new { sucesso = false, mensagemErro = mensagemErro }));
                            }
                        }
                    }

                    return(Json(new { sucesso = true, CodigoOrcamento = cabecalhoOrcamento.Codigo }));
                }
            }
            catch (Exception ex)
            {
                return(Json(new { sucesso = false, mensagemErro = ex.Message }));
            }
        }