private Resultado DadosValidos(RecursoMaterial dados) { var resultado = new Resultado(); if (dados == null) { resultado.Inconsistencias.Add("Preencha os Dados do RecursoMaterial"); } else { if (String.IsNullOrEmpty(dados.Nome)) { resultado.Inconsistencias.Add("Preencha o Nome do RecursoMaterial"); } if (String.IsNullOrEmpty(dados.CategoriaContabil.ToString()) && dados.CatalogCategoriaContabilGestaoId <= 0) { resultado.Inconsistencias.Add("Preencha a Categoria Contável do RecursoMaterial"); } if (String.IsNullOrEmpty(dados.Especificacao)) { resultado.Inconsistencias.Add("Preencha a Especificação do RecursoMaterial"); } if (String.IsNullOrEmpty(dados.ValorUnitario.ToString())) { resultado.Inconsistencias.Add("Preencha o Valor Unitário do RecursoMaterial"); } } return(resultado); }
public Resultado Atualizar(RecursoMaterial dados) { Resultado resultado = DadosValidos(dados); resultado.Acao = "Atualização de RecursoMaterial"; if (resultado.Inconsistencias.Count == 0) { RecursoMaterial RecursoMaterial = _context.RecursoMateriais.Where( p => p.Id == dados.Id).FirstOrDefault(); if (RecursoMaterial == null) { resultado.Inconsistencias.Add( "RecursoMaterial não encontrado"); } else { RecursoMaterial.Nome = dados.Nome == null ? RecursoMaterial.Nome : dados.Nome; RecursoMaterial.ValorUnitario = dados.ValorUnitario < 0 ? RecursoMaterial.ValorUnitario : dados.ValorUnitario; RecursoMaterial.CategoriaContabil = Enum.IsDefined(typeof(CategoriaContabil), dados.CategoriaContabil) ? dados.CategoriaContabil : RecursoMaterial.CategoriaContabil; RecursoMaterial.Especificacao = dados.Especificacao == null ? RecursoMaterial.Especificacao : dados.Especificacao; RecursoMaterial.CatalogCategoriaContabilGestaoId = dados.CatalogCategoriaContabilGestaoId == null ? RecursoMaterial.CatalogCategoriaContabilGestaoId : dados.CatalogCategoriaContabilGestaoId; RecursoMaterial.CatalogAtividadeId = dados.CatalogAtividadeId == null ? RecursoMaterial.CatalogAtividadeId : dados.CatalogAtividadeId; _context.SaveChanges(); } } return(resultado); }
public Resultado Incluir(RecursoMaterial dados) { Resultado resultado = DadosValidos(dados); resultado.Acao = "Inclusão de RecursoMaterial"; if (dados.ProjetoId <= 0) { resultado.Inconsistencias.Add("Preencha o ProjetoId"); } else { Projeto Projeto = _context.Projetos.Where( p => p.Id == dados.ProjetoId).FirstOrDefault(); if (Projeto == null) { resultado.Inconsistencias.Add("Projeto não localizado"); } } if (resultado.Inconsistencias.Count == 0) { _context.RecursoMateriais.Add(dados); _context.SaveChanges(); resultado.Id = dados.Id.ToString(); } return(resultado); }
public Resultado Excluir(int id) { Resultado resultado = new Resultado(); resultado.Acao = "Exclusão de RecursoMaterial"; RecursoMaterial RecursoMaterial = _context.RecursoMateriais.First(t => t.Id == id); if (RecursoMaterial == null) { resultado.Inconsistencias.Add("RecursoMaterial não encontrada"); } else { try { _context.RecursoMateriais.Remove(RecursoMaterial); _context.SaveChanges(); } catch (Exception) { resultado.Inconsistencias.Add("Não é possível excluir. " + "Pode haver outros cadastros relacionados no projeto"); } } return(resultado); }
public ActionResult <Resultado> Post([FromBody] RecursoMaterial RecursoMaterial) { if (_service.UserProjectCan((int)RecursoMaterial.ProjetoId, User, Authorizations.ProjectPermissions.LeituraEscrita)) { var resultado = _service.Incluir(RecursoMaterial); if (resultado.Sucesso) { this.CreateLog(_service, (int)RecursoMaterial.ProjetoId, RecursoMaterial); } return(resultado); } return(Forbid()); }
public ActionResult <Resultado> Put([FromBody] RecursoMaterial RecursoMaterial) { if (_service.UserProjectCan((int)RecursoMaterial.ProjetoId, User, Authorizations.ProjectPermissions.LeituraEscrita)) { var oldRecurso = _service.Obter(RecursoMaterial.Id); _service._context.Entry(oldRecurso).State = Microsoft.EntityFrameworkCore.EntityState.Detached; var resultado = _service.Atualizar(RecursoMaterial); if (resultado.Sucesso) { this.CreateLog(_service, (int)RecursoMaterial.ProjetoId, _service.Obter(RecursoMaterial.Id), oldRecurso); } return(resultado); } return(Forbid()); }
private Resultado DadosValidos(AlocacaoRm dados) { var resultado = new Resultado(); if (dados == null) { resultado.Inconsistencias.Add("Preencha os Dados do AlocacaoRm"); } else { if (dados.ProjetoId == null && dados.Id > 0) { AlocacaoRm AlocacaoRm = _context.AlocacoesRm.Where( p => p.Id == dados.Id).FirstOrDefault(); dados.ProjetoId = AlocacaoRm.ProjetoId; } if (dados.RecursoMaterialId == null) { resultado.Inconsistencias.Add("Preencha o RecursoMaterialId"); } else { RecursoMaterial RecursoMaterial = _context.RecursoMateriais .Where(p => p.ProjetoId == dados.ProjetoId) .Where(p => p.Id == dados.RecursoMaterialId).FirstOrDefault(); if (RecursoMaterial == null) { resultado.Inconsistencias.Add("RecursoMaterialId não cadastrada ou não associada ao projeto."); } } // if (dados.EtapaId == null) // { // resultado.Inconsistencias.Add("Preencha a Etapa do RecursoMaterialId"); // } // else // { // Etapa Etapa = _context.Etapas // .Where(p => p.ProjetoId == dados.ProjetoId) // .Where(p => p.Id == dados.EtapaId).FirstOrDefault(); // if (Etapa == null) // { // resultado.Inconsistencias.Add("EtapaId não cadastrada ou não associada ao projeto."); // } // } if (dados.EmpresaFinanciadoraId == null) { resultado.Inconsistencias.Add("Preencha o EmpresaFinanciadoraId"); } else { Empresa Empresa = _context.Empresas .Where(p => p.ProjetoId == dados.ProjetoId) .Where(p => p.Id == dados.EmpresaFinanciadoraId).FirstOrDefault(); if (Empresa == null) { resultado.Inconsistencias.Add("EmpresaFinanciadoraId não cadastrada ou não associada ao projeto."); } } if (dados.EmpresaRecebedoraId != null) { Empresa Empresa = _context.Empresas .Where(p => p.ProjetoId == dados.ProjetoId) .Where(p => p.Id == dados.EmpresaRecebedoraId).FirstOrDefault(); if (Empresa == null) { resultado.Inconsistencias.Add("EmpresaRecebedoraId não cadastrada ou não associada ao projeto."); } } if (dados.Qtd <= 0) { resultado.Inconsistencias.Add("Preencha o Quantidade do Recurso Material alocado"); } if (String.IsNullOrEmpty(dados.Justificativa)) { resultado.Inconsistencias.Add("Preencha a Justificativa da alocação"); } } return(resultado); }