public OperatorDto GetOperatorById(int id) { var operatorDB = _operatorRepository.FindById(id); if (operatorDB == null) { throw new Exception("Operator was not found"); } return(Mapper.Map <Operator, OperatorDto>(operatorDB)); }
public async Task Execute(Appointment appointment) { if (appointment.HourPrice <= 0) { throw new ValuesInvalidException("Valor de hora por locação invalido. Verifique!"); } if (appointment.HourLocation <= 0) { throw new ValuesInvalidException("Quantidade de horas locadas invalido. Verifique!"); } if (appointment.Subtotal <= 0) { throw new ValuesInvalidException("SubTotal Inválido. Verifique!"); } if (appointment.Amount <= 0) { throw new ValuesInvalidException("Total invalido.Verifique!"); } var car = await _repositoryCar.FindById(appointment.IdCar); if (car == null) { throw new NotFoundRegisterException("Carro não encontrado, verifique informações."); } var client = await _repositoryClient.FindById(appointment.IdClient); if (client == null) { throw new NotFoundRegisterException("Cliente não encontrado, verifique informações."); } var op = await _repositoryOperator.FindById(appointment.IdOperator); if (op == null) { throw new NotFoundRegisterException("Operador não encontrado, verifique informações."); } if (appointment.Id == 0) { if (appointment.DateTimeExpectedCollected > appointment.DateTimeCollected) { throw new DateTimeColectedInvalidException("Data da coleta maior que a data esperada para coleta verifique."); } if (appointment.DateTimeExpectedCollected > appointment.DateTimeExpectedDelivery) { throw new DateTimeColectedInvalidException("Data esperada da coleta maior que a data esperada para entrega. Verifique."); } if (appointment.DateTimeExpectedCollected < DateTime.Now) { throw new DateTimeColectedInvalidException("Data esperada da coleta menor que data atual. Verifique!"); } var avalabilityCar = await _repository.CheckAvailabilityCar(appointment.IdCar, appointment.DateTimeExpectedCollected); if (!avalabilityCar) { throw new CarNotAvalabityException("Carro já está alocado."); } var avalabilityClient = await _repository.CheckAvailabilityCar(appointment.IdCar, appointment.DateTimeExpectedCollected); if (!avalabilityClient) { throw new ClientNotAvalabityException("Cliente já possui um agendamento para está data."); } appointment.IdCheckList = null; appointment.DateTimeCollected = null; appointment.DateTimeDelivery = null; appointment.Schedule = DateTime.Now; await _repository.Add(appointment); return; } await _repository.Update(appointment); }
public void Update(int id, UpdateTurbineDto dto) { var turbine = _turbineRepository.FindById(id); if (turbine == null) { throw new Exception("Turbine was not found"); } if (dto.SerialNum != null) { turbine.SerialNum = dto.SerialNum; } if (dto.ProdMW > 0) { turbine.ProdMW = dto.ProdMW; } if (dto.Cost > 0) { turbine.Cost = dto.Cost; } if (dto.InstallCost > 0) { turbine.InstallCost = dto.InstallCost; } if (dto.InstallDate != DateTime.MinValue) { turbine.InstallDate = dto.InstallDate; } if (dto.LastServDate != DateTime.MinValue) { turbine.LastServDate = dto.LastServDate; } if (dto.NextServDate != DateTime.MinValue) { turbine.NextServDate = dto.NextServDate; } if (dto.LastYearServDate != DateTime.MinValue) { turbine.LastYearServDate = dto.LastYearServDate; } if (dto.NextYearServDate != DateTime.MinValue) { turbine.NextYearServDate = dto.NextYearServDate; } if (dto.TurbineTypeId != turbine.TurbineType.Id) { var turbineType = _turbineTypeRepository.FindById(dto.TurbineTypeId); if (turbineType != null) { turbine.TurbineType = turbineType; } } if (dto.OperatorId != turbine.Operator.Id) { var operatorDbItem = _operatorRepository.FindById(dto.OperatorId); if (operatorDbItem != null) { turbine.Operator = operatorDbItem; } } if (turbine.Farm != null && dto.FarmId != turbine.Farm.Id) { var farm = _farmRepository.FindById(dto.FarmId); if (farm != null) { turbine.Farm = farm; } } if (dto.AddressId != turbine.Address.Id) { var address = _addressRepository.FindById(dto.AddressId); if (address != null) { turbine.Address = address; } } if (turbine.Image != null && dto.ImageId != turbine.Image.Id) { var image = _appImageRepository.FindById(dto.ImageId); if (image != null) { turbine.Image = image; } } _turbineRepository.Update(turbine); }