public async Task <bool> ValidateAndSaveDeliveryAddressFields(string deliveryId, MvxObservableCollection <IOrderFieldItemVM> fields) { var result = false; try { var validation = await DeliveryService.ConfirmDeliveryAddress(deliveryId, fields.ToDictionary(x => x.Id, x => x.Value)); if (validation == null || (validation.NotValidFields.IsNullOrEmpty() && validation.Error.IsNullOrEmtpy())) { result = true; } else { foreach (var notValidField in validation.NotValidFields) { var field = fields.FirstOrDefault(x => x.Id.Equals(notValidField.Id)); field.IsValid = false; } if (!validation.Error.IsNullOrEmpty()) { UserDialogs.Error(validation.Error); } } } catch (ConnectionException ex) { OnConnectionException(ex); } catch (Exception ex) { OnException(ex); } return(result); }