public async Task SaveContact(ContactsSaveAction action, IDispatcher dispatcher) { if (action.Contact.Id == 0) { var result = await _httpClient.PostAsJsonAsync("api/contact", action.Contact); if (!result.IsSuccessStatusCode) { dispatcher.Dispatch(new ContactCreateFailureAction(result.ReasonPhrase)); } else { dispatcher.Dispatch(new ContactCreateSuccessAction()); } } else { var result = await _httpClient.PutAsJsonAsync("api/contact", action.Contact); if (!result.IsSuccessStatusCode) { dispatcher.Dispatch(new ContactUpdateFailureAction(result.ReasonPhrase)); } else { dispatcher.Dispatch(new ContactUpdateSuccessAction()); } } dispatcher.Dispatch(new ContactsLoadAction()); }
public static ContactsState OnSaveContact(ContactsState state, ContactsSaveAction action) { return(state with { Submitted = false, Submitting = true, CurrentContact = new CoffeeRoastManagement.Shared.Entities.Contact(), ContactButtonText = "Create", ShowInputDialog = false, ContactEditMode = false }); }