public IServiceActionResult ManutencaoCreate(ManutencaoEntity manutencaoEntity) { manutencaoEntity.Validate(); if (manutencaoEntity.Invalid) { return(new ServiceActionResult(false, "Algo deu errado ao criar a manutenção!", manutencaoEntity.Notifications)); } var insumo = _insumoRepository.GetById(manutencaoEntity.id_insumo); if (insumo == null) { return(new ServiceActionResult(false, "O Insumo para qual você está tentando realizar a manutenção não existe!", null)); } if (insumo.status_insumo == StatusInsumo.Manutencao) { return(new ServiceActionResult(false, "Esse insumo já está em manutenção!", null)); } var manutencao = new ManutencaoEntity ( manutencaoEntity.tipo_manutencao, manutencaoEntity.descricao_manutencao, StatusManutencao.Iniciada, DateTime.Now, DateTime.Now, insumo.Id, manutencaoEntity.user ); _manutencaoRepository.ManutencaoCreate(manutencao); insumo.UpdateInsumo ( insumo.descricao_insumo, StatusInsumo.Manutencao, insumo.qtd_dias_manut_prev, DateTime.Now, insumo.user ); _insumoRepository.Update(insumo); var agendaManut = _agendaManutRepository.GetByInsumo(insumo.Id); if (agendaManut != null) { agendaManut.UpdateAgendaManut ( StatusAgendaManut.Fechado, agendaManut.data_manutencao, insumo.data_atualizacao, manutencaoEntity.user ); _agendaManutRepository.Update(agendaManut); } return(new ServiceActionResult(true, "Manutenção criada!", manutencao)); }
public IServiceActionResult AgendaManutencaoCorretiva(AgendaManutencaoEntity agendaManutEntity) { agendaManutEntity.Validate(); if (agendaManutEntity.Invalid) { return(new ServiceActionResult(false, "Algo deu errado ao agendar a manutenção!", agendaManutEntity.Notifications)); } if (agendaManutEntity.tipo_manutencao == TipoManutencao.Preventiva) { return(new ServiceActionResult(false, "Não é possível agendar uma manutenção preventiva! Este tipo de agendamento é feito de forma automática.", null)); } var insumo = _insumoRepository.GetById(agendaManutEntity.id_insumo); if (insumo == null) { return(new ServiceActionResult(false, "O Insumo para qual você está tentando agendar a manutenção não existe!", null)); } var agendaManut = new AgendaManutencaoEntity ( TipoManutencao.Corretiva, StatusAgendaManut.Aberto, agendaManutEntity.data_manutencao, DateTime.Now, insumo.Id, agendaManutEntity.user ); _agendaManutRepository.AgendaManutencaoCreate(agendaManut); return(new ServiceActionResult(true, "Manutenção corretiva agendada!", agendaManut)); }
public InsumoEntity GetById( Guid id, [FromServices] IInsumoRepository repository ) { return(repository.GetById(id)); }
public IServiceActionResult CreateInsumo(InsumoEntity insumoEntity) { insumoEntity.Validate(); if (insumoEntity.Invalid) { return(new ServiceActionResult(false, "Algo deu errado ao incluir!", insumoEntity.Notifications)); } var insumoNew = new InsumoEntity ( insumoEntity.descricao_insumo, StatusInsumo.Ativo, insumoEntity.data_aquisicao, DateTime.Now, insumoEntity.qtd_dias_manut_prev, insumoEntity.id_tipo_insumo, insumoEntity.id_fornec_insumo, insumoEntity.user ); _insumoRepository.Create(insumoNew); var insumo = _insumoRepository.GetById(insumoNew.Id); if (insumo != null) { var agendaManut = new AgendaManutencaoEntity ( TipoManutencao.Preventiva, StatusAgendaManut.Aberto, insumo.data_aquisicao.AddDays(insumo.qtd_dias_manut_prev), DateTime.Now, insumo.Id, insumo.user ); _agendaManutRepository.AgendaManutencaoCreate(agendaManut); } else { return(new ServiceActionResult(false, "Algo deu errado ao incluir!", null)); } return(new ServiceActionResult(true, "Insumo criado!", insumo)); }
public async Task <IActionResult> GetById(int id) { return(Ok(await _insumoRepository.GetById(id))); }