public void EfetuarSangria(decimal valor) { if (CaixaCorrente != null && CaixaCorrente.Situacao == EnumCaixaSituacao.Fechado.ToString()) { AdicionarMensagem("O caixa não está aberto.", EnumStatusDoResultado.RegraDeNegocioInvalida); } else { if (CaixaCorrente == null) { AdicionarMensagem("Nome do caixa não foi encontrado.", EnumStatusDoResultado.RegraDeNegocioInvalida); } if (CaixaCorrente == null || CaixaCorrente.Situacao == EnumCaixaSituacao.Fechado.ToString()) { AdicionarMensagem("Não é possível efetuar sangria pois o caixa está fechado.", EnumStatusDoResultado.RegraDeNegocioInvalida); } else { RegistrarMovimentacaoCaixa(EnumCaixaTipoOperacao.Sangria, valor, CaixaCorrente.CodigoOperacaoDeAbertura); AdicionarMensagem("Sangria efetuada com sucesso."); OnOperacaoExecutada?.Invoke(EnumCaixaTipoOperacao.Sangria); } } }
public void FecharCaixa(decimal valorContabilizadoNoFechamento) { if (CaixaCorrente.Situacao == EnumCaixaSituacao.Fechado.ToString()) { AdicionarMensagem("Não é possível fechar o caixa. Abra-o primeiro e tente novamente.", EnumStatusDoResultado.RegraDeNegocioInvalida); } else { var operacaoFechamento = RegistrarMovimentacaoCaixa(EnumCaixaTipoOperacao.Fechamento, valorContabilizadoNoFechamento, CaixaCorrente.CodigoOperacaoDeAbertura); CaixaCorrente.Situacao = EnumCaixaSituacao.Fechado.ToString(); _repositorio.Atualizar(CaixaCorrente); RegistrarResultadoFechamento(operacaoFechamento, valorContabilizadoNoFechamento); AdicionarMensagem("Caixa fechado com sucesso."); OnOperacaoExecutada?.Invoke(EnumCaixaTipoOperacao.Fechamento); } }
public void AbrirCaixa(decimal valor) { if (CaixaCorrente.Situacao == EnumCaixaSituacao.Aberto.ToString()) { AdicionarMensagem("Não é possível abrir o caixa. Feche-o primeiro e tente novamente.", EnumStatusDoResultado.RegraDeNegocioInvalida); } else { var operacaoCorrente = RegistrarMovimentacaoCaixa(EnumCaixaTipoOperacao.Abertura, valor, string.Empty); CaixaCorrente.Situacao = EnumCaixaSituacao.Aberto.ToString(); CaixaCorrente.CodigoOperacaoDeAbertura = operacaoCorrente.CodigoOperacaoCaixa; CaixaCorrente.OperacaoCaixas.Add(operacaoCorrente); _repositorio.Atualizar(CaixaCorrente); AdicionarMensagem("Caixa aberto com sucesso."); OnOperacaoExecutada?.Invoke(EnumCaixaTipoOperacao.Abertura); } }
public void SincronizarCaixa() { OnOperacaoExecutada?.Invoke(EnumCaixaTipoOperacao.Sincronismo); }