public bool Update(Despesa despesa) { if (!Account.Current.Permissao.Has("UPDATE_DESPESA")) { this.MessageError = "USUARIO_SEM_PERMISSAO"; return false; } if (despesa.Fornecedor == null || despesa.Anexos == null || despesa.Items == null || despesa.Unidade == null || despesa.Usuario == null) { return false; } if (despesa.Anexos.Count == 0 || despesa.Items.Count == 0) { return false; } var despesaRepositorio = new DespesaRepositorio(); var despesaOld = despesaRepositorio.Fetch(despesa.Id); var unidadeRepositorio = new UnidadeRepositorio(); var unidadeCurrent = unidadeRepositorio.Fetch(Account.Current.Usuario.Unidade.Id); if ((despesaOld.Status == DespesaStatus.ABERTA) || (despesaOld.Status == DespesaStatus.NAO_PAGA) || ((despesaOld.Status == DespesaStatus.REMETIDA || despesa.Status == DespesaStatus.NAO_AUTORIZADA) && unidadeCurrent.Id == despesa.Unidade.GetUnidadeIdPai()) || (unidadeCurrent.Tipo == UnidadeTipo.ZAP)) { despesaRepositorio.UpdateItems(despesa); } despesaRepositorio.Update(despesa); despesaRepositorio.UpdateAnexos(despesa); var historico = new DespesaHistorico() { Data = DateTime.Now, Descricao = "Atualizada por " + Account.Current.Usuario.Nome, Usuario = Account.Current.Usuario, Despesa = despesa }; var despesaHistoricoRepositorio = new DespesaHistoricoRepositorio(); despesaHistoricoRepositorio.Add(historico); despesa.Historicos = despesaHistoricoRepositorio.Fetch(despesa); return true; }
public List<Despesa> Pesquisar(DespesaPesquisa parametroPesquisa, Paging paging) { var unidadeRepositorio = new UnidadeRepositorio(); var despesaRepositorio = new DespesaRepositorio(); var unidade = unidadeRepositorio.Fetch(Account.Current.Usuario.Unidade.Id); return despesaRepositorio.Fetch(parametroPesquisa, unidade, paging); }
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; }
public Despesa Get(int Id) { var despesaRepositorio = new DespesaRepositorio(); if (!Account.Current.Permissao.Has("UPDATE_DESPESA")) { this.MessageError = "USUARIO_SEM_PERMISSAO"; return null; } var unidadeRepositorio = new UnidadeRepositorio(); var unidade = unidadeRepositorio.Fetch(Account.Current.Usuario.Unidade.Id); var despesa = despesaRepositorio.Fetch(Id); if (despesa.Unidade.Id != unidade.Id && !despesa.Unidade.IsChildren(Account.Current.Usuario.Unidade.Id) && unidade.Tipo != UnidadeTipo.ZAP) { this.MessageError = "USUARIO_SEM_PERMISSAO"; return null; } return despesa; }