예제 #1
0
        public async Task <SaveResult> SaveChanges(IEnumerable <IEntity> entitiesToSave, SaveOptions saveOptions)
        {
            var entityManager  = entitiesToSave.First().EntityAspect.EntityManager;
            var saveBundleNode = PrepareSaveBundle(entitiesToSave, saveOptions);

            try {
                var saveResultJson =
                    await saveOptions.DataService.PostAsync(saveOptions.ResourceName, saveBundleNode.Serialize());

                return(ProcessSaveResult(entityManager, saveOptions, saveResultJson));
            } catch (DataServiceRequestException dsre) {
                throw SaveException.Parse(entityManager, dsre.ResponseContent);
            } catch (HttpRequestException e) {
                throw new SaveException(e.Message, e);
            }
        }
예제 #2
0
 private void HandleSaveFailure(SaveException e) {
     if (e.ValidationErrors.Any()) {
         var message = FormatValidationErrors(e.ValidationErrors);
         ShowToast(Severity.Warning, message);
     }
     else {
         ShowToast(Severity.Error, e.Message);
     }
 }