public Manutencao Criar(Guid siteId, string idEquipamento, ManutencaoDto manutencaoDto) { if (!idEquipamento.GuidValido()) throw new FormatoInvalido("O identificador do equipamento deve ser informado."); if (String.IsNullOrWhiteSpace(manutencaoDto.Parte)) throw new FormatoInvalido("A parte do equipamento deve ser informada."); if (manutencaoDto.Data < 0) throw new FormatoInvalido("A data da manutenção da parte do equipamento não é válida."); var equipamento = _repositorioEquipamentos.BuscarPorId(siteId, idEquipamento.ParaGuid()); if (equipamento == null) throw new RecursoNaoEncontrado("Equipamento não encontrado."); if (equipamento.ParametrosManutencao.Partes.Select(x => x.Nome).All(x => x != manutencaoDto.Parte)) throw new FormatoInvalido("A parte informada para menutenção não faz parte do equipamento especificado."); var manutencao = _fabricaManutencao.Criar(idEquipamento.ParaGuid(), manutencaoDto); _repositorioEquipamentos.InserirManutencao(equipamento, manutencao); return manutencao; }
public virtual Manutencao Criar(ManutencaoDto manutencaoDto) { return Criar(manutencaoDto.Id, manutencaoDto); }
public virtual Manutencao Criar(Guid id, ManutencaoDto manutencaoDto) { return new Manutencao(id, manutencaoDto.Data, manutencaoDto.Parte); }