public bool Autorizar(Despesa despesa) { var unidadeRepositorio = new UnidadeRepositorio(); var unidade = unidadeRepositorio.Fetch(Account.Current.Usuario.Unidade.Id); if (unidade.Tipo != UnidadeTipo.ZAP) { this.MessageError = "USUARIO_SEM_PERMISSAO"; return false; } var despesaRepositorio = new DespesaRepositorio(); despesa.Status = DespesaStatus.AUTORIZADA; despesaRepositorio.Update(despesa); var despesaHistoricoRepositorio = new DespesaHistoricoRepositorio(); var historico = new DespesaHistorico() { Data = DateTime.Now, Descricao = "Autorizada por " + Account.Current.Usuario.Nome, Usuario = Account.Current.Usuario, Despesa = despesa }; despesaHistoricoRepositorio.Add(historico); despesa.Historicos = despesaHistoricoRepositorio.Fetch(despesa); return true; }
public void Add(Despesa despesa) { despesa.FornecedorId = despesa.Fornecedor.Id; despesa.UnidadeId = despesa.Unidade.Id; despesa.UsuarioId = despesa.Usuario.Id; this.Db.Insert(despesa); }
public List<DespesaHistorico> Fetch(Despesa despesa) { var sql = PetaPoco.Sql.Builder.Append("SELECT DespesaHistorico.*") .Append("FROM DespesaHistorico") .Append("WHERE DespesaHistorico.DespesaId = @0", despesa.Id); return this.Db.Fetch<DespesaHistorico>(sql).ToList(); }
public string Add(Despesa despesa) { var despesaRules = new DespesaRules(); if (!despesaRules.Add(despesa)) { return Error(despesaRules.MessageError); } return Success(despesa); }
public string NaoAutorizar(Despesa despesa) { var despesaRules = new DespesaRules(); if (!despesaRules.NaoAutorizar(despesa)) { return Error(despesaRules.MessageError); } return Success(despesa); }
public void Delete(Despesa despesa) { this.Db.Execute("DELETE FROM Despesa WHERE Despesa.Id = @0", despesa.Id); this.Db.Execute("DELETE FROM DespesaAnexo WHERE DespesaAnexo.DespesaId = @0", despesa.Id); this.Db.Execute("DELETE FROM DespesaHistorico WHERE DespesaHistorico.DespesaId = @0", despesa.Id); this.Db.Execute(PetaPoco.Sql.Builder.Append("DELETE DespesaItem, FinanceiroItem") .Append("FROM DespesaItem") .Append("INNER JOIN FinanceiroItem ON FinanceiroItem.Id = DespesaItem.ItemId") .Append("WHERE DespesaItem.DespesaId = @0", despesa.Id)); }
public string Excluir(Despesa despesa) { var despesaRules = new DespesaRules(); if (!despesaRules.Delete(despesa)) { return Error(despesaRules.MessageError); } return Success(despesa); }
public bool Add(Despesa despesa) { if (!Account.Current.Permissao.Has("ADD_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 unidadeRepositorio = new UnidadeRepositorio(); var unidadeCurrent = unidadeRepositorio.Fetch(Account.Current.Usuario.Unidade.Id); if (unidadeCurrent.Tipo == UnidadeTipo.ZAP) { despesa.Status = DespesaStatus.AUTORIZADA; } var despesaRepositorio = new DespesaRepositorio(); despesaRepositorio.Add(despesa); despesaRepositorio.UpdateItems(despesa); despesaRepositorio.UpdateAnexos(despesa); var historico = new DespesaHistorico() { Data = DateTime.Now, Descricao = "Adicionada por " + Account.Current.Usuario.Nome, Usuario = Account.Current.Usuario, Despesa = despesa }; var despesaHistoricoRepositorio = new DespesaHistoricoRepositorio(); despesaHistoricoRepositorio.Add(historico); //bug: loop historico <-> despesa historico.Despesa = null; despesa.Historicos = new List<DespesaHistorico>(); despesa.Historicos.Add(historico); return true; }
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 void UpdateTotal(Despesa despesa) { despesa.Total = 0; for (int i = 0; i < despesa.Items.Count; i++) { despesa.Total += despesa.Items[i].Qtde * despesa.Items[i].Valor; } this.Db.Update("Despesa", "Id", new { Total = despesa.Total, Id = despesa.Id }); }
public void UpdateItems(Despesa despesa) { this.UpdateTotal(despesa); this.Db.Execute("DELETE DespesaItem, FinanceiroItem FROM DespesaItem INNER JOIN FinanceiroItem ON FinanceiroItem.Id = DespesaItem.ItemId WHERE DespesaItem.DespesaId = @0", despesa.Id); var financeiroItemRepositorio = new FinanceiroItemRepositorio(); financeiroItemRepositorio.Add(despesa.Items); foreach (var item in despesa.Items) { this.Db.Insert("DespesaItem", "Id", new { DespesaId = despesa.Id, ItemId = item.Id }); } }
public void UpdateAnexos(Despesa despesa) { this.Db.Execute("DELETE FROM DespesaAnexo WHERE DespesaId = @0", despesa.Id); foreach (var anexo in despesa.Anexos) { this.Db.Insert("DespesaAnexo", "Id", new { DespesaId = despesa.Id, AnexoId = anexo.Id }); } }
public void Update(Despesa despesa) { despesa.FornecedorId = despesa.Fornecedor.Id; despesa.UnidadeId = despesa.Unidade.Id; despesa.UsuarioId = despesa.Usuario.Id; this.Db.Update(despesa); }
public bool Delete(Despesa despesa) { var unidadeRepositorio = new UnidadeRepositorio(); var unidade = unidadeRepositorio.Fetch(Account.Current.Usuario.Unidade.Id); if (unidade.Tipo != UnidadeTipo.ZAP) { this.MessageError = "USUARIO_SEM_PERMISSAO"; return false; } var despesaRepositorio = new DespesaRepositorio(); despesaRepositorio.Delete(despesa); return true; }
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; }
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 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; }