Example #1
0
        public bool Pagar(Despesa despesa)
        {
            var unidadeRepositorio = new UnidadeRepositorio();
            var unidade = unidadeRepositorio.Fetch(Account.Current.Usuario.Unidade.Id);

            if (Account.Current.Usuario.Unidade.Id == unidade.GetUnidadeIdPai()) {
                this.MessageError = "USUARIO_SEM_PERMISSAO";
                return false;
            }

            var despesaRepositorio = new DespesaRepositorio();
            despesa.Status = DespesaStatus.PAGA;
            despesaRepositorio.Update(despesa);

            var despesaHistoricoRepositorio = new DespesaHistoricoRepositorio();
            var historico = new DespesaHistorico()
            {
                Data = DateTime.Now,
                Descricao = "Pago por " + Account.Current.Usuario.Nome,
                Usuario = Account.Current.Usuario,
                Despesa = despesa
            };

            despesaHistoricoRepositorio.Add(historico);
            despesa.Historicos = despesaHistoricoRepositorio.Fetch(despesa);

            var notificacaoRules = new NotificacaoRules();
            notificacaoRules.SendToUnidade(new Notificacao()
            {
                Data = DateTime.Now,
                De = Account.Current.Usuario,
                Message = "Solicitação de autorização",
                Icon = "fa fa-money",
                Href = "Despesa/Editar/" + despesa.Id
            }, unidade.GetUnidadeIdPai());

            return true;
        }
Example #2
0
        public bool Remeter(Despesa despesa)
        {
            var despesaRepositorio = new DespesaRepositorio();

            if (despesa.Id != 0)
            {
                var despesaOld = despesaRepositorio.Fetch(despesa.Id);

                if (despesaOld.Status != DespesaStatus.ABERTA && despesaOld.Status != DespesaStatus.NAO_PAGA)
                {
                    this.MessageError = "DESPESA_REMETIDA";
                    return false;
                }
            }

            despesa.Status = DespesaStatus.REMETIDA;

            //adiciona se for nova
            if (despesa.Id == 0)
            {
                this.Add(despesa);
            }
            else {
                this.Update(despesa);
            }

            var historico = new DespesaHistorico()
            {
                Data = DateTime.Now,
                Descricao = "Remetida por " + Account.Current.Usuario.Nome,
                Usuario = Account.Current.Usuario,
                Despesa = despesa
            };

            var despesaHistoricoRepositorio = new DespesaHistoricoRepositorio();

            despesaHistoricoRepositorio.Add(historico);
            despesa.Historicos = despesaHistoricoRepositorio.Fetch(despesa);

            var unidadeRepositorio = new UnidadeRepositorio();
            var unidade = unidadeRepositorio.Fetch(Account.Current.Usuario.Unidade.Id);

            var notificacaoRules = new NotificacaoRules();
            notificacaoRules.SendToUnidade(new Notificacao()
            {
                Data = DateTime.Now,
                De = Account.Current.Usuario,
                Message = "Solicitação de pagamento",
                Icon = "fa fa-money",
                Href = "Despesa/Editar/" + despesa.Id
            }, unidade.GetUnidadeIdPai());

            return true;
        }
Example #3
0
        public bool NaoPagar(Despesa despesa)
        {
            var unidadeRepositorio = new UnidadeRepositorio();
            var unidade = unidadeRepositorio.Fetch(Account.Current.Usuario.Unidade.Id);

            if (Account.Current.Usuario.Unidade.Id == unidade.GetUnidadeIdPai())
            {
                this.MessageError = "USUARIO_SEM_PERMISSAO";
                return false;
            }

            var despesaRepositorio = new DespesaRepositorio();
            despesa.Status = DespesaStatus.NAO_PAGA;
            despesaRepositorio.Update(despesa);

            var despesaHistoricoRepositorio = new DespesaHistoricoRepositorio();
            var historico = new DespesaHistorico()
            {
                Data = DateTime.Now,
                Descricao = "Não Pago por " + Account.Current.Usuario.Nome + "<br/>" + despesa.Justificativa,
                Usuario = Account.Current.Usuario,
                Despesa = despesa
            };

            despesaHistoricoRepositorio.Add(historico);
            despesa.Historicos = despesaHistoricoRepositorio.Fetch(despesa);

            var unidadeDespesa = unidadeRepositorio.Fetch(despesa.UnidadeId);
            var notificacaoRules = new NotificacaoRules();
            notificacaoRules.SendToUnidade(new Notificacao()
            {
                Data = DateTime.Now,
                De = Account.Current.Usuario,
                Message = "Negado pedido de pagamento",
                Icon = "fa fa-thumbs-o-down",
                Href = "Despesa/Editar/" + despesa.Id
            }, unidadeDespesa.Id);

            return true;
        }