Example #1
0
        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);
        }