Exemplo n.º 1
0
 public static GerenciadorLoja GetInstance()
 {
     if (gLoja == null)
     {
         gLoja = new GerenciadorLoja();
     }
     return(gLoja);
 }
Exemplo n.º 2
0
        /// <summary>
        /// REgistra os pagamentos associando para cada um dele uma conta a pagar
        /// </summary>
        /// <param name="pagamentos"></param>
        /// <param name="entrada"></param>
        private void RegistrarPagamentosEntrada(List <EntradaPagamento> pagamentos, Entrada entrada, SaceEntities saceContext)
        {
            foreach (EntradaPagamento pagamento in pagamentos)
            {
                // Para cada pagamento é criada uma nova conta
                Conta conta = new Conta();
                if (pagamento.PagamentoDoFrete)
                {
                    conta.CodPessoa = entrada.CodEmpresaFrete;
                }
                else
                {
                    conta.CodPessoa = entrada.CodFornecedor;
                }

                conta.CodPlanoConta = PlanoConta.ENTRADA_PRODUTOS;
                conta.CodEntrada    = entrada.CodEntrada;
                conta.CodSaida      = Global.SAIDA_PADRAO; // saída não válida
                conta.CodPagamento  = pagamento.CodEntradaFormaPagamento;
                conta.Desconto      = 0;

                // Quando o pagamento é realizado em dinheiro a conta já é inserido quitada
                if (pagamento.CodFormaPagamento == FormaPagamento.DINHEIRO)
                {
                    conta.CodSituacao = SituacaoConta.SITUACAO_QUITADA.ToString();
                }
                else
                {
                    conta.CodSituacao = SituacaoConta.SITUACAO_ABERTA.ToString();
                }

                conta.TipoConta = Conta.CONTA_PAGAR.ToString();


                conta.Valor = pagamento.Valor;

                if (pagamento.CodFormaPagamento == FormaPagamento.BOLETO)
                {
                    conta.FormatoConta = Conta.FORMATO_CONTA_BOLETO;
                }
                else
                {
                    conta.FormatoConta = Conta.FORMATO_CONTA_FICHA;
                }
                conta.DataVencimento = pagamento.Data;

                conta.CodConta = GerenciadorConta.GetInstance(saceContext).Inserir(conta);

                if (pagamento.CodFormaPagamento == FormaPagamento.DINHEIRO)
                {
                    MovimentacaoConta movimentacao = new MovimentacaoConta();
                    movimentacao.CodContaBanco  = pagamento.CodContaBanco;
                    movimentacao.CodConta       = conta.CodConta;
                    movimentacao.CodResponsavel = GerenciadorLoja.GetInstance().Obter(Global.LOJA_PADRAO).ElementAt(0).CodPessoa;

                    movimentacao.CodTipoMovimentacao = MovimentacaoConta.PAGAMENTO_FORNECEDOR;
                    movimentacao.DataHora            = DateTime.Now;
                    movimentacao.Valor = pagamento.Valor;

                    GerenciadorMovimentacaoConta.GetInstance(saceContext).Inserir(movimentacao);
                }
            }
        }