private async Task AddFormAsync(FormAddModel newForm, OwnerChooseModel ownerChooseModel) { IsFocus = false; bool validationResult = await ValidateCreationOrEditOfFormAsync(newForm.FormNr, null, newForm.IdForm); if (validationResult) { try { busyIndicator.BlockUI(); var result = await requestManager.PostAsync <FormModel>(RoutingConstants.FormRoute, newForm); if (result != null && !result.IsError) { eventAggregator.PublishOnUIThread(NewUpdateFormEventArgs(result.Data.IdForm, ownerChooseModel, true)); BtnCancel(); } else { notificationManager.Alert(result.ErrorMessage, result.IsFatalError); } } finally { busyIndicator.UnblockUI(); } } IsFocus = true; }
private UpdateFormEventArgs NewUpdateFormEventArgs(Guid idForm, OwnerChooseModel ownerChooseModel, bool isNew) { UpdateFormEventArgs updateFormEventArgs = new UpdateFormEventArgs() { FormId = idForm, OwnerChooseModel = ownerChooseModel, IsNew = isNew }; return(updateFormEventArgs); }
private async Task UpdateFormAsync(FormUpdateModel updateForm, OwnerChooseModel ownerChooseModel) { IsFocus = false; bool validationResult = updateForm != null ? await ValidateCreationOrEditOfFormAsync(updateForm.FormNr, updateForm.OldFormNr, updateForm.IdForm) : false; if (validationResult) { bool shouldClose = true; try { UpdateFormEventArgs updateFormEventArgs = new UpdateFormEventArgs(); busyIndicator.BlockUI(); var result = await requestManager.PatchAsync(RoutingConstants.FormRoute, updateForm); if (result.IsError) { bool isMissing = result.ErrorCode == (int)TMErrorCode.ObjectNotFoundError; if (!isMissing) { notificationManager.Alert(result.ErrorMessage, result.IsFatalError); shouldClose = false; if (result.StatusCode == HttpStatusCode.Conflict && updateForm.IdForm != null) { EditedForm.IsValid = false; EditedForm.IsValidEnabled = false; ReceiveModel(await GetFormAsync(updateForm.IdForm)); updateFormEventArgs = NewUpdateFormEventArgs(EditedForm.IdForm, ownerChooseModel, false); } } } else { updateFormEventArgs = NewUpdateFormEventArgs(EditedForm.IdForm, ownerChooseModel, false); } eventAggregator.PublishOnUIThread(updateFormEventArgs); } finally { busyIndicator.UnblockUI(); } if (shouldClose) { BtnCancel(); } } IsFocus = true; }