Exemplo n.º 1
0
        public IServiceActionResult ManutencaoCorretivaUpdate(ManutencaoEntity manutencaoEntity)
        {
            manutencaoEntity.Validate();

            if (manutencaoEntity.Invalid && manutencaoEntity.tipo_manutencao != TipoManutencao.Corretiva)
            {
                return(new ServiceActionResult(false, "Algo deu errado ao editar 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 editar a manutenção não existe!", null));
            }

            var manutencao = _manutencaoRepository.GetById(manutencaoEntity.Id);

            if (manutencao == null)
            {
                return(new ServiceActionResult(false, "A manutenção para qual você está tentando editar não existe!", null));
            }

            manutencao.UpdateManutencao
            (
                manutencaoEntity.descricao_manutencao,
                manutencaoEntity.status_manutencao,
                (manutencaoEntity.status_manutencao == StatusManutencao.Concluida) ? DateTime.Now : manutencaoEntity.data_fim,
                manutencao.user
            );
            _manutencaoRepository.Update(manutencao);

            if (manutencaoEntity.status_manutencao == StatusManutencao.Concluida)
            {
                insumo.UpdateInsumo
                (
                    insumo.descricao_insumo,
                    StatusInsumo.Ativo,
                    insumo.qtd_dias_manut_prev,
                    insumo.data_atualizacao,
                    insumo.user
                );
                _insumoRepository.Update(insumo);

                return(new ServiceActionResult(true, "Manutenção finalizada!", manutencao));
            }
            else
            {
                return(new ServiceActionResult(true, "Manutenção salva!", manutencao));
            }
        }
        public async Task <IActionResult> Update(int id, [FromBody] ManutencaoDTO manutencaoDTO)
        {
            var oldManutencao = await _manutencaoRepository.GetById(id);

            var mapped = _mapper.Map <Manutencao>(manutencaoDTO);
            await _manutencaoRepository.Update(id, mapped);

            return(Ok());
        }