protected virtual void SaveToCollection(SaveModeArgs obj) { ViewState.ViewMode.Push(FormMode.SAVED); //repository.GetShippingMethods if (obj.ViewName == m_modelName) { IsReadOnly = true; var eventAggregator = ServiceLocator.Current.GetInstance <IEventAggregator>(); if (!DataStoreContainsDuplicates()) { repository.SaveNoCommit(obj.FormState, _selectedItem); //Do not send message to view if a delete if (obj.FormState != FormMode.DELETEMODE) { ViewState.CurrentVmOperation = FormMode.SAVED; ViewState.HasPendingCommits = repository.HasPendingCommits(); var msg = new VmOnSave(ViewState.ViewMode.Peek()); eventAggregator.GetEvent <VmOnSaveEvent>().Publish(msg); } } else { SendMessageBox("Duplicate Error Warning", "Duplicates not allowed"); IsReadOnly = false; } } }
protected override void SaveOtherObjectsPriorToVmData(SaveModeArgs obj) { var pwd = new Password(SelectedItem.Login.ToLower()); //SelectedItem.Password = pwd.SaltedPassword; //SelectedItem.SaltKey = pwd.Salt; SelectedItem.UserGUID = Guid.NewGuid(); SelectedItem.IsNew = true; var usgc = UserGroups.Where(x => x.IsSelected).Select(lvi => new Users_UsersGroup { GroupID = lvi.Id, UserGUID = SelectedItem.UserGUID, UserID = SelectedItem.id }).ToList(); usgc.ForEach(x => { UserGroupMemberships.Add(x); }); //Add memberships to user object SelectedItem.GroupMemberships = usgc; }
protected virtual void SaveCollection(SaveModeArgs obj) { obj.SetRow(_selectedItem); if (ViewService.ViewMode.Peek() == FormMode.SAVED) { var mode = ViewService.ViewMode.Pop(); if (mode == FormMode.ADDMODE) { AddToCollection(null); } //if we save then add return; } ValidationResult validation = ValidateVm(); if (validation.IsValid) { if (!DataStoreContainsDuplicates(obj)) { if (ViewService.ViewMode.Peek() == FormMode.VALIDATION) { ViewService.ViewMode.Pop(); } IsReadOnly = true; VmData.Add(_selectedItem); DoSave(obj); //drop wip and then add saved if (ViewService.ViewMode.Peek() == FormMode.SAVED) { ViewService.ViewMode.Pop(); ViewService.IsDirty = true; } if (ViewService.ViewMode.Peek() == FormMode.WIP) { ViewService.ViewMode.Pop(); } } else { if (ViewService.ViewMode.Peek() != FormMode.WIP) { SendMessageBox("Duplicate Error Warning", "Duplicates not allowed"); } IsReadOnly = false; } } else { var msg = new ValidationArgs(); msg.Validation = validation.ErrorList; eventAggregator.GetEvent <ValidationArgsEvent>().Publish(msg); } }
private void Save(string obj) { var eventAggregator = ServiceLocator.Current.GetInstance <IEventAggregator>(); var msg = new SaveModeArgs(); msg.ViewName = FormArgs.ViewName; msg.FormState = FormArgs.ViewMode; eventAggregator.GetEvent <SaveModeArgsEvent>().Publish(msg); }
private void DoSave(SaveModeArgs obj) { ViewService.ViewMode.Push(FormMode.SAVED); SaveOtherObjectsPriorToVmData(obj); SaveOtherObjectsPostVmData(obj); // viewService.HasPendingCommits = repository.HasPendingCommits(); //container.RegisterInstance(SelectedItem, new ExternallyControlledLifetimeManager()); //notify UI that new have a new row and to add it to our grid var msg = new VmOnSave(obj.FormState); msg.SetRow(obj.GetRow <T>()); eventAggregator.GetEvent <VmOnSaveEvent>().Publish(msg); }
private void Save(string obj) { var val = new SaveModeArgs { ViewName = FormArgs.ViewBackingClass }; eventAggregator.GetEvent <SaveModeArgsEvent>().Publish(val); var mode = FormArgs.ViewMode.Peek(); if (mode == FormMode.VALIDATION) { FormArgs.ViewMode.Pop(); // FormArgs.ViewMode.Push(FormMode.WIP); } UpdateButtonState(); }
//protected override void ReFreshDataContext() //{ // LoadData(); //} //protected override void DoLongRunningProcess(string searchValue) //{ // throw new NotImplementedException(); //} //protected override void DoWork(string searchValue) //{ // throw new NotImplementedException(); //} protected override void SaveOtherObjectsPostVmData(SaveModeArgs obj) { var lst = SelectedItem.GroupMemberships.ToList(); //repository.SaveUserGroups(obj.FormState, obj.GetRow<UserBasicInfo>(), lst); //var sgc = UserGroups.Where(x => x.IsSelected).Select(lvi => new UserGroup //{ // Description = lvi.Description, // Name = lvi.Name, // Id = lvi.Id, // IsSelected = lvi.IsSelected //}).ToList(); //repository.SaveUserGroups(obj.FormState, SelectedItem, sgc); ////Do not send message to view if a delete //if (obj.FormState != FormMode.DELETEMODE) //{ //} }
protected override void SaveOtherObjectsPostVmData(SaveModeArgs obj) { }
//public bool KeepAlive //{ // get { return false; } //} protected override bool DataStoreContainsDuplicates(SaveModeArgs obj) { return(VmData.Contains(obj.GetRow <UserGroup>())); }
protected abstract void SaveOtherObjectsPostVmData(SaveModeArgs obj);
protected abstract bool DataStoreContainsDuplicates(SaveModeArgs obj);
//public bool KeepAlive //{ // get { return false; } //} protected override bool DataStoreContainsDuplicates(SaveModeArgs obj) { return(VmData.Contains(obj.GetRow <ShippingMethod>())); }
//protected override UserBasicInfo CreateNewITem() //{ // var container = ServiceLocator.Current.GetInstance<IUnityContainer>(); // var item = container.Resolve<UserBasicInfo>(); // return item; //} protected override void SaveToCollection(SaveModeArgs obj) { }
//protected override void ValidateCollection(NotifyCollectionChangedEventArgs e) //{ // throw new NotImplementedException(); //} protected override bool DataStoreContainsDuplicates(SaveModeArgs obj) { return VmData.Any(x => x.Login == obj.GetRow<UserBasicInfo>().Login); //return repository.DataStore == null ? false : repository.DataStore.Where(c => c.FullName == SelectedItem.FullName).Any(); }