예제 #1
0
        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));
        }
예제 #2
0
        public async Task <IActionResult> Update(int id, [FromBody] InsumoDTO insumoDTO)
        {
            var oldInsumo = await _insumoRepository.GetById(id);

            var mapped = _mapper.Map <Insumo>(insumoDTO);
            await _insumoRepository.Update(id, mapped);

            return(Ok());
        }
예제 #3
0
        public IServiceActionResult DeleteInsumo(InsumoEntity insumoEntity)
        {
            var insumo = _insumoRepository.GetById(insumoEntity.Id);

            if (insumo == null)
            {
                return(new ServiceActionResult(false, "O registro que você está tentando desativar não existe!", null));
            }

            insumo.DisableInsumo
            (
                DateTime.Now,
                insumoEntity.user
            );

            _insumoRepository.Update(insumo);

            return(new ServiceActionResult(true, "Insumo desativado!", insumo));
        }
예제 #4
0
 async Task IInsumosProcessor.Update(Insumo updatedObj)
 {
     try
     {
         await _insumoRepository.Update(updatedObj);
     }
     catch (Exception)
     {
         throw;
     }
 }