public virtual void Execute(int userId, int vehicleId, ICreateReminderCommand reminder) { if (reminder == null) { throw new ArgumentNullException("reminder"); } try { var vehicle = _vehicleRepository.GetVehicle(userId, vehicleId); if (vehicle != null) { reminder.VehicleId = vehicleId; var entity = ToEntity(reminder); _reminderRepository.Create(vehicleId, entity); // Update reminder fields reminder.ReminderId = entity.ReminderId; reminder.VehicleId = entity.VehicleId; } } catch (InvalidOperationException ex) { throw new UnauthorizedException(Resources.UnableToAddReminderToVehicleExceptionMessage, ex); } }
static Reminder ToEntity(ICreateReminderCommand source) { if (source == null) { return(null); } return(new Reminder { DueDate = source.DueDate, DueDistance = source.DueDistance, Remarks = source.Remarks, ReminderId = source.ReminderId, Title = source.Title, VehicleId = source.VehicleId, IsFulfilled = source.IsFulfilled }); }
static Reminder ToEntity(ICreateReminderCommand source) { if (source == null) { return null; } return new Reminder { DueDate = source.DueDate, DueDistance = source.DueDistance, Remarks = source.Remarks, ReminderId = source.ReminderId, Title = source.Title, VehicleId = source.VehicleId, IsFulfilled = source.IsFulfilled }; }
public virtual IEnumerable<ValidationResult> Execute(int userId, ICreateReminderCommand reminder) { var foundVehicle = _vehicleRepository.GetVehicle(userId, reminder.VehicleId); if (foundVehicle == null) { yield return new ValidationResult(Resources.VehicleNotFound); } else { var stats = CalculateStatistics.Calculate(foundVehicle.Fillups); var odometer = stats.Odometer; if ((reminder.DueDistance.HasValue) && (reminder.DueDistance.Value <= odometer)) { yield return new ValidationResult( "DueDistance", string.Format(CultureInfo.CurrentUICulture, Resources.DueDistanceNotGreaterThanOdometer, odometer)); } } }
public virtual IEnumerable <ValidationResult> Execute(int userId, ICreateReminderCommand reminder) { var foundVehicle = _vehicleRepository.GetVehicle(userId, reminder.VehicleId); if (foundVehicle == null) { yield return(new ValidationResult(Resources.VehicleNotFound)); } else { var stats = CalculateStatistics.Calculate(foundVehicle.Fillups); var odometer = stats.Odometer; if ((reminder.DueDistance.HasValue) && (reminder.DueDistance.Value <= odometer)) { yield return(new ValidationResult( "DueDistance", string.Format(CultureInfo.CurrentUICulture, Resources.DueDistanceNotGreaterThanOdometer, odometer))); } } }
public virtual void Execute(int userId, int vehicleId, ICreateReminderCommand reminder) { if (reminder == null) throw new ArgumentNullException("reminder"); try { var vehicle = _vehicleRepository.GetVehicle(userId, vehicleId); if (vehicle != null) { reminder.VehicleId = vehicleId; var entity = ToEntity(reminder); _reminderRepository.Create(vehicleId, entity); // Update reminder fields reminder.ReminderId = entity.ReminderId; reminder.VehicleId = entity.VehicleId; } } catch (InvalidOperationException ex) { throw new BusinessServicesException(Resources.UnableToAddReminderToVehicleExceptionMessage, ex); } }