public static GerenciadorLoja GetInstance() { if (gLoja == null) { gLoja = new GerenciadorLoja(); } return(gLoja); }
/// <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); } } }