private void AbrirCaixa(object objParam)
        {
            Retorno objRetorno;
            tbCaixa objCaixaAux = new tbCaixa();

            objCaixaAux.tbFuncionario    = new tbFuncionario();
            objCaixaAux.tbCaixaMovimento = new List <tbCaixaMovimento>();
            using (var objBLL = new FormaPagamento())
            {
                objRetorno = objBLL.RetornaListaFormaPagamento();
            }
            if (objRetorno.intCodigoErro == 0)
            {
                List <tbFormaPagamento> arrFormaPagamento = (List <tbFormaPagamento>)objRetorno.objRetorno;
                if (arrFormaPagamento.Count > 0)
                {
                    foreach (tbFormaPagamento objFormaPagamento in arrFormaPagamento)
                    {
                        tbCaixaMovimento objCaixaMovimento = new tbCaixaMovimento();
                        objCaixaMovimento.tbFormaPagamento = objFormaPagamento;
                        objCaixaMovimento.fpg_codigo       = objFormaPagamento.fpg_codigo;
                        objCaixaAux.tbCaixaMovimento.Add(objCaixaMovimento);
                    }
                }
                else
                {
                    tbCaixaMovimento objCaixaMovimento = new tbCaixaMovimento();
                    objCaixaMovimento.tbFormaPagamento = new tbFormaPagamento();
                    objCaixaAux.tbCaixaMovimento.Add(objCaixaMovimento);
                }
                objCaixaAberturaViewModel            = new CaixaAberturaViewModel();
                objCaixaAberturaViewModel.OnDispose += CaixaAberturaViewModel_OnDispose;
                objCaixaAberturaViewModel.objCaixa   = objCaixaAux;
                base.enStatusTelaAtual            = enStatusTela.EmInclusaoOuAlteracao;
                base.intSelectedIndexTabPrincipal = 1;
            }
            else
            {
                MessageBox.Show(objRetorno.strMsgErro, "Atenção", MessageBoxButton.OK, Util.GetMessageImage(objRetorno.intCodigoErro));
            }
        }
        public void CarregaFormaPagamento()
        {
            Retorno objRetorno;

            _objCaixa = new tbCaixa();
            _objCaixa.tbFuncionario    = new tbFuncionario();
            _objCaixa.tbCaixaMovimento = new List <tbCaixaMovimento>();
            using (var objBLL = new FormaPagamento())
            {
                objRetorno = objBLL.RetornaListaFormaPagamento();
            }
            if (objRetorno.intCodigoErro == 0)
            {
                _arrCaixaMovimentoViewModel = new ObservableCollection <CaixaMovimentoViewModel>();
                List <tbFormaPagamento> arrFormaPagamento = (List <tbFormaPagamento>)objRetorno.objRetorno;
                if (arrFormaPagamento.Count > 0)
                {
                    foreach (tbFormaPagamento objFormaPagamento in arrFormaPagamento)
                    {
                        tbCaixaMovimento objCaixaMovimento = new tbCaixaMovimento();
                        objCaixaMovimento.tbFormaPagamento = objFormaPagamento;
                        objCaixaMovimento.fpg_codigo       = objFormaPagamento.fpg_codigo;
                        _objCaixa.tbCaixaMovimento.Add(objCaixaMovimento);

                        CaixaMovimentoViewModel objCaixaMovimentoViewModel = new CaixaMovimentoViewModel(objCaixaMovimento);
                        objCaixaMovimentoViewModel.OnDispose       += objCaixaMovimentoViewModel_OnDispose;
                        objCaixaMovimentoViewModel.PropertyChanged += ObjCaixaMovimentoViewModel_PropertyChanged;
                        _arrCaixaMovimentoViewModel.Add(objCaixaMovimentoViewModel);
                    }
                }
                RaisePropertyChanged(null);
            }
            else
            {
                MessageBox.Show(objRetorno.strMsgErro, "Atenção", MessageBoxButton.OK, Util.GetMessageImage(objRetorno.intCodigoErro));
            }
        }
Exemple #3
0
        public Retorno RetornaCaixaFechamento(tbCaixa objCaixa)
        {
            var objRetorno = new Retorno();

            try
            {
                //if (objCaixa.cai_dataFechamento != null)
                //{
                var arrPedidoVista = _objCtx.tbPedido.AsNoTracking().Where(ped => ped.cai_codigo == objCaixa.cai_codigo &&
                                                                           ped.tbFormaPagamento.fpg_cobranca == "V").ToList();
                decimal decTotalVista = 0;
                if (arrPedidoVista.Count > 0)
                {
                    decTotalVista = arrPedidoVista.Sum(ped => ped.ped_valorTotal);
                }


                var arrPedidoPrazo = _objCtx.tbPedido.AsNoTracking().Where(ped => ped.cai_codigo == objCaixa.cai_codigo &&
                                                                           ped.tbFormaPagamento.fpg_cobranca == "P").ToList();
                decimal decTotalPrazo = 0;
                if (arrPedidoPrazo.Count > 0)
                {
                    decTotalPrazo = arrPedidoPrazo.Sum(ped => ped.ped_valorTotal);
                }


                var arrCaixaMovimentoSaida = _objCtx.tbCaixaMovimento.Include(caio => caio.tbCaixaOperacao).AsNoTracking()
                                             .Where(caim => caim.tbCaixaOperacao.caio_tipoOperacao == "S" && caim.cai_codigo == objCaixa.cai_codigo).ToList();

                decimal decTotalSaida = 0;
                if (arrCaixaMovimentoSaida.Count > 0)
                {
                    decTotalSaida = arrCaixaMovimentoSaida.Sum(caim => caim.caim_valor);
                }


                var arrCaixaMovimentoAbertura = _objCtx.tbCaixaMovimento.Include(fpg => fpg.tbFormaPagamento).AsNoTracking()
                                                .Where(caim => caim.caio_codigo == 1 && caim.cai_codigo == objCaixa.cai_codigo).ToList();

                decimal decTotalAbertura = 0;
                if (arrCaixaMovimentoAbertura.Count > 0)
                {
                    decTotalAbertura = arrCaixaMovimentoAbertura.Sum(caim => caim.caim_valor);
                }


                var arrPedidoEntrega = (from ped in _objCtx.tbPedido
                                        .AsNoTracking()
                                        .Where(ped => ped.cai_codigo == objCaixa.cai_codigo &&
                                               ped.ped_origem == "E" &&
                                               (ped.ped_status == "F" || ped.ped_status == "E"))
                                        group ped by new
                {
                    codigo = ped.fun_funcionarioEntregador,
                    nome = ped.tbFuncionarioEntregador.fun_nome
                }
                                        into grupo
                                        select new
                {
                    grupo.Key.codigo,
                    grupo.Key.nome,
                    decValorTotal = grupo.Sum(ped => ped.ped_valorTotal)
                }).ToList();
                decimal decTotalEntrega = 0;
                if (arrPedidoEntrega.Count > 0)
                {
                    decTotalEntrega = arrPedidoEntrega.Sum(ped => ped.decValorTotal);
                }


                var arrPedidoComanda = _objCtx.tbPedido
                                       .AsNoTracking()
                                       .Where(ped => ped.cai_codigo == objCaixa.cai_codigo &&
                                              ped.ped_origem == "C" && ped.ped_status == "F").ToList();
                decimal decTotalComanda = 0;
                if (arrPedidoComanda.Count > 0)
                {
                    decTotalComanda = arrPedidoComanda.Sum(ped => ped.ped_valorTotal);
                }

                var arrPedidoExcluido = _objCtx.tbPedido
                                        .AsNoTracking()
                                        .Where(ped => ped.cai_codigo == objCaixa.cai_codigo &&
                                               ped.ped_status == "X").ToList();
                decimal decTotalExcluido = 0;
                if (arrPedidoExcluido.Count > 0)
                {
                    decTotalExcluido = arrPedidoExcluido.Sum(ped => ped.ped_valorTotal);
                }

                decimal decTotalRecebimento = 0;

                var arrPedidoForma = (from ped in _objCtx.tbPedido
                                      .AsNoTracking()
                                      .Where(ped => ped.cai_codigo == objCaixa.cai_codigo)
                                      group ped by new
                {
                    codigo = ped.fpg_codigo,
                    descricao = ped.tbFormaPagamento.fpg_descricao,
                    cobranca = ped.tbFormaPagamento.fpg_cobranca
                }
                                      into grupo
                                      select new
                {
                    grupo.Key.codigo,
                    grupo.Key.descricao,
                    grupo.Key.cobranca,
                    decValorTotalForma = grupo.Sum(ped => ped.ped_valorTotal)
                }).ToList();
                decimal decTotalForma = 0;
                if (arrPedidoForma.Count > 0)
                {
                    decTotalForma = arrPedidoForma.Sum(ped => ped.decValorTotalForma);
                }

                var sbRelatorio = new StringBuilder();
                sbRelatorio.Append("          FECHAMENTO DE CAIXA          " + Environment.NewLine);
                sbRelatorio.Append(" " + Environment.NewLine);
                if (objCaixa.cai_dataAbertura != null)
                {
                    sbRelatorio.Append("Data da abertura..: " + objCaixa.cai_dataAbertura.Value.ToString("dd/MM/yyyy HH:mm") + Environment.NewLine);
                }
                if (objCaixa.cai_dataFechamento != null)
                {
                    sbRelatorio.Append("Data do fechamento: " + objCaixa.cai_dataFechamento.Value.ToString("dd/MM/yyyy HH:mm") + Environment.NewLine);
                }
                sbRelatorio.Append("Data da impressao.: " + DateTime.Now.ToString("dd/MM/yyyy HH:mm") + Environment.NewLine);
                sbRelatorio.Append(" " + Environment.NewLine);
                sbRelatorio.Append("             RESUMO PEDIDOS            " + Environment.NewLine);
                sbRelatorio.Append(" " + Environment.NewLine);
                sbRelatorio.Append("TOTAL ABERTURA.............: " + decTotalAbertura.ToString("#,##0.00").PadLeft(10) + Environment.NewLine);
                sbRelatorio.Append("TOTAL A VISTA..............: " + decTotalVista.ToString("#,##0.00").PadLeft(10) + Environment.NewLine);
                sbRelatorio.Append("TOTAL A PRAZO..............: " + decTotalPrazo.ToString("#,##0.00").PadLeft(10) + Environment.NewLine);
                sbRelatorio.Append("TOTAL SAIDAS...............: " + decTotalSaida.ToString("#,##0.00").PadLeft(10) + Environment.NewLine);
                sbRelatorio.Append("TOTAL......................: " + ((decTotalAbertura + decTotalVista + decTotalPrazo) - decTotalSaida).ToString("#,##0.00").PadLeft(10) + Environment.NewLine);
                sbRelatorio.Append("---------------------------------------" + Environment.NewLine);
                sbRelatorio.Append("                ABERTURA               " + Environment.NewLine);
                foreach (var objCaixaMovimentoAbertura in arrCaixaMovimentoAbertura)
                {
                    sbRelatorio.Append(objCaixaMovimentoAbertura.tbFormaPagamento.fpg_descricao.PadRight(28).Substring(0, 28) + " " +
                                       objCaixaMovimentoAbertura.caim_valor.ToString("#,##0.00").PadLeft(10) + Environment.NewLine);
                }
                sbRelatorio.Append("TOTAL......................: " + decTotalAbertura.ToString("#,##0.00").PadLeft(10) + Environment.NewLine);
                sbRelatorio.Append("---------------------------------------" + Environment.NewLine);
                sbRelatorio.Append("                A VISTA                " + Environment.NewLine);
                sbRelatorio.Append("ENTREGAS...................: " + decTotalEntrega.ToString("#,##0.00").PadLeft(10) + Environment.NewLine);
                foreach (var objEntregador in arrPedidoEntrega)
                {
                    sbRelatorio.Append("  " +
                                       (objEntregador.codigo.ToString() + " " + objEntregador.nome).PadRight(15).Substring(0, 15) + " " +
                                       (objEntregador.decValorTotal * 14 / 100).ToString("#,##0.00").PadLeft(10) + " " +
                                       objEntregador.decValorTotal.ToString("#,##0.00").PadLeft(10) + Environment.NewLine);
                }
                sbRelatorio.Append("COMANDAS...................: " + decTotalComanda.ToString("#,##0.00").PadLeft(10) + Environment.NewLine);
                sbRelatorio.Append("RECEBIMENTOS...............: " + decTotalRecebimento.ToString("#,##0.00").PadLeft(10) + Environment.NewLine);
                sbRelatorio.Append("---------------------------------------" + Environment.NewLine);
                sbRelatorio.Append("                A PRAZO                " + Environment.NewLine);
                foreach (var objPedidoPrazo in arrPedidoPrazo)
                {
                    sbRelatorio.Append(objPedidoPrazo.ped_nomeCliente.PadRight(28).Substring(0, 28) + " " +
                                       objPedidoPrazo.ped_valorTotal.ToString("#,##0.00").PadLeft(10) + Environment.NewLine);
                }
                sbRelatorio.Append("TOTAL......................: " + decTotalPrazo.ToString("#,##0.00").PadLeft(10) + Environment.NewLine);
                sbRelatorio.Append("---------------------------------------" + Environment.NewLine);
                sbRelatorio.Append("                SAIDAS                 " + Environment.NewLine);
                foreach (var objCaixaMovimento in arrCaixaMovimentoSaida)
                {
                    string strDescricao = objCaixaMovimento.tbCaixaOperacao.caio_descricao + "-" + objCaixaMovimento.caim_observacao;
                    sbRelatorio.Append(strDescricao.PadRight(28).Substring(0, 28) + " " +
                                       objCaixaMovimento.caim_valor.ToString("#,##0.00").PadLeft(10) + Environment.NewLine);
                }
                sbRelatorio.Append("TOTAL......................: " + decTotalSaida.ToString("#,##0.00").PadLeft(10) + Environment.NewLine);
                sbRelatorio.Append("---------------------------------------" + Environment.NewLine);
                sbRelatorio.Append("               EXCLUIDO                " + Environment.NewLine);
                foreach (var objPedidoExcluido in arrPedidoExcluido)
                {
                    if (objPedidoExcluido.ped_nomeCliente != null)
                    {
                        sbRelatorio.Append(objPedidoExcluido.ped_nomeCliente.PadRight(28).Substring(0, 28) + " " +
                                           objPedidoExcluido.ped_valorTotal.ToString("#,##0.00").PadLeft(10) + Environment.NewLine);
                    }
                }
                sbRelatorio.Append("TOTAL......................: " + decTotalExcluido.ToString("#,##0.00").PadLeft(10) + Environment.NewLine);
                sbRelatorio.Append("---------------------------------------" + Environment.NewLine);
                sbRelatorio.Append("RESUMO DE PEDIDOS POR GRUPO DE PRODUTO " + Environment.NewLine);
                //sbRelatorio.Append("C/ CLB.....................: " + Environment.NewLine);
                //sbRelatorio.Append("TOTAL......................: " + Environment.NewLine);
                sbRelatorio.Append("---------------------------------------" + Environment.NewLine);
                sbRelatorio.Append("         REGISTRO DE ALTERACAO         " + Environment.NewLine);
                //sbRelatorio.Append("M FULANO DE VA            VD           " + Environment.NewLine);
                //sbRelatorio.Append("E MARIA DA  VA            VD           " + Environment.NewLine);
                sbRelatorio.Append("---------------------------------------" + Environment.NewLine);
                sbRelatorio.Append("          FORMAS DE PAGAMENTO          " + Environment.NewLine);
                foreach (var objPedidoForma in arrPedidoForma)
                {
                    if (objPedidoForma.descricao != null)
                    {
                        sbRelatorio.Append((objPedidoForma.descricao + "(" + objPedidoForma.cobranca + ")").PadRight(28).Substring(0, 28) + " " +
                                           objPedidoForma.decValorTotalForma.ToString("#,##0.00").PadLeft(10) + Environment.NewLine);
                    }
                }
                sbRelatorio.Append("TOTAL......................: " + decTotalForma.ToString("#,##0.00").PadLeft(10) + Environment.NewLine);

                objRetorno.intCodigoErro = 0;
                objRetorno.objRetorno    = sbRelatorio.ToString();
                //}
                //else
                //{
                //    objRetorno.intCodigoErro = 0;
                //    objRetorno.objRetorno = string.Empty;
                //}
            }
            catch (Exception ex)
            {
                Util.LogErro(ex);
                objRetorno.intCodigoErro        = 16;
                objRetorno.strMsgErro           = ex.Message;
                objRetorno.strExceptionToString = ex.ToString();
            }
            return(objRetorno);
        }