private async Task SaveItemAsync() { Notification result = Notification.Success(); ModelUpdateEvent updateEvent = _isNewModel ? ModelUpdateEvent.Created : ModelUpdateEvent.Updated; result = _validator.ValidateModel(Model); if (result.IsValid()) { var saveResult = await _repository.SaveSampleItemAsync(Model, updateEvent); result.AddRange(saveResult); } if (result.IsValid()) { var eventMessenger = CC.IoC.Resolve <IEventAggregator>(); ModelUpdatedMessageResult <SampleItem> eventResult = new ModelUpdatedMessageResult <SampleItem>() { UpdatedModel = Model, UpdateEvent = updateEvent }; eventMessenger.GetEvent <ModelUpdatedMessageEvent <SampleItem> >().Publish(eventResult); await Close(); } else { await UserNotifier.ShowMessageAsync(result.ToString(), "Save Failed"); } }
public override async Task InitializeAsync(System.Collections.Generic.Dictionary <string, string> args) { if (args != null && args.ContainsKey(Constants.Parameters.Id)) { string id = args[Constants.Parameters.Id]; var fetchResult = await _repository.FetchSampleItemAsync(id); if (fetchResult.IsValid()) { Model = fetchResult.Model; } else { await UserNotifier.ShowMessageAsync(fetchResult.Notification.ToString(), "Fetch Error"); } } else { //assume new model required Model = new SampleItem() { Id = Guid.NewGuid().ToString() }; _isNewModel = true; } }
public override async Task InitializeAsync(System.Collections.Generic.Dictionary <string, string> args) { if (args != null && args.ContainsKey(Constants.Parameters.Id)) { string id = args[Constants.Parameters.Id]; var fetchResult = await _repository.FetchContactAsync(id); if (fetchResult.IsValid()) { Model = fetchResult.Model; } else { await UserNotifier.ShowMessageAsync(fetchResult.Notification.ToString(), "Fetch Error"); } } else { //assume new model required Model = new Contact() { Id = Guid.NewGuid().ToString(), //design data PictureName = "manhattan", Name = "Dr. Manhattan", Notes = "Stay on this guy's good side :P", NextAppointmentDate = DateTime.Now.AddDays(2) }; _isNewModel = true; } }
public override async Task InitializeAsync(Dictionary <string, string> args) { if (args != null && args.ContainsKey(Constants.Parameters.Id)) { string id = args[Constants.Parameters.Id]; var fetchResult = await _repository.FetchAppointmentAsync(id); if (fetchResult.IsValid()) { Model = fetchResult.Model; if (Model != null) { var providerResult = await _repository.FetchProvidersAsync(Model.ProviderId); if (providerResult.IsValid() && providerResult.ModelCollection.Count > 0) { Provider = providerResult.ModelCollection.First(); } } } else { await UserNotifier.ShowMessageAsync(fetchResult.Notification.ToString(), "Fetch Error"); } } else { //assume new model required Model = new Appointment() { Id = Guid.NewGuid().ToString() }; _isNewModel = true; if (args != null && args.ContainsKey(Constants.Parameters.ProviderId)) { await FetchProviderAsync(args[Constants.Parameters.ProviderId]); } } }