public IDeviceResult UpdateDevice(IAccount account, IDevice device) { IDeviceResult result = null; var deviceValidationResult = ValidateDevice(device); if (deviceValidationResult is DeviceFailureResult) { result = new DeviceFailureResult() { Item = device, Data = deviceValidationResult.Data }; } else { if (ValidateAccount(account)) { result = _deviceRepository.UpdateItem(device); } else { result = new DeviceActivationFailureResult() { Item = device }; result.AddData(new List <string>() { "The account is not valid." }); } } return(result); }
private IDeviceResult ValidateDevice(IDevice device) { IDeviceResult result; var deviceValidationErrors = _deviceValidator.Validate(device); if (deviceValidationErrors.Count() > 0) { result = new DeviceFailureResult(); ((List <string>)result.Data).AddRange(deviceValidationErrors); } else { result = new DeviceSuccessResult(); } return(result); }