public void ProcessTheResultOfLastDataChangeActionResultCall(Guid InfoIDProcessed, RequiredUpdateFunction RequFunctions, ResultOfUpdateFunction Result) { switch (Result) { case ResultOfUpdateFunction.Correct: { break; } case ResultOfUpdateFunction.Cancel: { MessageBox.Show ("Der Vorgang wurde abgebrochen\r\nnichts wurde gespeichert"); return; break; } case ResultOfUpdateFunction.Errornous: { MessageBox.Show ("Beim geforderten Vorgang entstand ein Fehler"); return; break; } } DataModell.ActiveInformationen = null; ActiveInformationen = DataModell.ActiveInformationen; ActiveInformationenID = Guid.Empty; }
private void CancelDelete_OnClick (object Sender, RoutedEventArgs E) { UpdateDataModellInstance.UpdateFunction = RequiredUpdateFunction.Cancel; RequestedUpdateFunction = RequiredUpdateFunction.Cancel; ProcessRequestedUpdateFunction(ResultOfUpdateFunction.Cancel); }
public String UpdateWorkDataSet(RequiredUpdateFunction RequiredFunction, ref CommonSearchClass SelectedEntry) { SelectedEntry = null; if (ActiveInformationen == null) { return String.Empty; } if ((RequiredFunction == RequiredUpdateFunction.Modify) || (RequiredFunction == RequiredUpdateFunction.InsertNew)) RemoveRemoveableInformationenAddOn(ActiveInformationen, WorkDataSet); if (RequiredFunction == RequiredUpdateFunction.Delete) DeleteDeleteableInformationen(ActiveInformationen, WorkDataSet); foreach (DataTable Table in WorkDataSet.Tables) { if (Table.TableName.Contains("Full")) Table.AcceptChanges(); } DataSet ToChange = WorkDataSet.GetChanges(); #if DEBUG Basics.TraceDataSetChanges(WorkDataSet, ToChange); #endif String ErrorMessages = String.Empty; if (ToChange != null) { foreach (DataTable Table in ToChange.Tables) { String IDName = "ID"; if (Table.TableName == "Timings") IDName = "TimingsID"; foreach (DataRow ChangedRow in Table.Rows) { if (ChangedRow.RowState == DataRowState.Deleted) continue; String ID = ChangedRow [IDName].ToString (); DataRow Row = WorkDataSet.Tables [Table.TableName] .Select (IDName + " = '" + ID + "'") [0]; UInt64 LastUpdateToken = WMB.Basics.GetLastUpdateToken (Row); bool SetModifyRequested = (Row.RowState == DataRowState.Modified); bool SetAddRequested = ((Row.RowState == DataRowState.Added) || ((LastUpdateToken < (UInt64)100000) && (LastUpdateToken != (UInt64)0))); if ((Table.Columns.Contains ("ModifyTimeStamp")) && (Row.RowState != DataRowState.Deleted)) Row ["ModifyTimeStamp"] = DateTime.Now; if ((Table.Columns.Contains ("LastModifiedBy")) && (Row.RowState != DataRowState.Deleted)) Row ["LastModifiedBy"] = WMB.WPMediaApplicationState.Instance.Properties ["UserName"].ToString ().ToUpper( ); if ((SetAddRequested) && (SetModifyRequested == false)) { Row.AcceptChanges (); Row.SetAdded (); } else { } } } if ((WorkDataSet.Tables ["Informationen"].Rows.Count > 0) && (WorkDataSet.Tables ["Informationen"].Rows [0].RowState != DataRowState.Deleted)) { WorkDataSet.Tables["Informationen"].Rows[0]["ModifyTimeStamp"] = DateTime.Now; WorkDataSet.Tables["Informationen"].Rows[0]["LastModifiedBy"] = WMB.WPMediaApplicationState.Instance.Properties["UserName"].ToString().ToUpper(); } ToChange = WorkDataSet.GetChanges(); } if (ToChange != null) { #if DEBUG Basics.TraceDataSetChanges(ToChange, ToChange); #endif ErrorMessages = BasicAccess.AltErlaaInfoDataBase.SetCommonDataSet(ToChange); } if (String.IsNullOrEmpty(ErrorMessages)) { WorkDataSet.AcceptChanges(); ResetPendingModificationssCounter(); RootDataClassLateDBHandler.ProcessCachedBlobCommands (); if (InformationAndInformationenAddOns != null) InformationAndInformationenAddOns.Clear(); SelectedEntry = CommonSearchClassCacheInstance.RefreshWorkListEntry(ActiveInformationen.ID, RequiredFunction); return String.Empty; } throw new Exception ("Fehler bei UpdateWorkDataSet:\r\n" + ErrorMessages); return ErrorMessages; }
private void DeleteEntry_OnClick(object Sender, RoutedEventArgs E) { UpdateDataModellInstance.UpdateFunction = RequiredUpdateFunction.Delete; RequestedUpdateFunction = RequiredUpdateFunction.Delete; ProcessRequestedUpdateFunction(ResultOfUpdateFunction.Correct); }
private void StoreModified_OnClick(object Sender, RoutedEventArgs E) { UpdateDataModellInstance.UpdateFunction = RequiredUpdateFunction.Modify; RequestedUpdateFunction = RequiredUpdateFunction.Modify; ProcessRequestedUpdateFunction(ResultOfUpdateFunction.Correct); }
private void StoreNewEntry_OnClick(object Sender, RoutedEventArgs E) { UpdateDataModellInstance.UpdateFunction = RequiredUpdateFunction.InsertNew; RequestedUpdateFunction = RequiredUpdateFunction.InsertNew; ProcessRequestedUpdateFunction (ResultOfUpdateFunction.Correct); }
public CommonSearchClass RefreshWorkListEntry(Guid GuidToRefresh, RequiredUpdateFunction RequiredFunction) { if (DataModell.WorkListData == null) return null; switch (RequiredFunction) { case RequiredUpdateFunction.InsertNew: { foreach (DataRow NewEntry in LoadCommonSearchClassEntries(GuidToRefresh)) { try { DataModell.WorkListData.Insert(0, new CommonSearchClass(NewEntry)); //TODO CheckEntryForConnectors(WorkListData[0]); } catch (Exception Excp) { } } if (DataModell.WorkListData.Count > 0) return DataModell.WorkListData[0]; return null; } break; case RequiredUpdateFunction.Modify: { List<CommonSearchClass> WorkListEntriesToProcess = new List<CommonSearchClass>(); foreach (CommonSearchClass Entry in DataModell.WorkListData) // Search for TimingsID's { if ((Entry.TimingsID == GuidToRefresh) || (Entry.ID == GuidToRefresh)) { WorkListEntriesToProcess.Add(Entry); } } if (WorkListEntriesToProcess.Count > 0) return WorkListEntriesToProcess[0]; return null; } break; case RequiredUpdateFunction.Delete: { List<CommonSearchClass> WorkListEntriesToProcess = new List<CommonSearchClass>(); foreach (CommonSearchClass Entry in DataModell.WorkListData) // Search for TimingsID's { if ((Entry.TimingsID == GuidToRefresh) || (Entry.ID == GuidToRefresh)) { WorkListEntriesToProcess.Add(Entry); } } foreach (CommonSearchClass EntryToDelete in WorkListEntriesToProcess) { DataModell.WorkListData.Remove(EntryToDelete); } return null; } break; } return null; }
private void ResultFromDataChange_OnLastDataChangeActionResultCall(Guid InfoIDProcessed, RequiredUpdateFunction RequFunctions, ResultOfUpdateFunction Result) { if (RequFunctions != RequiredUpdateFunction.Delete) if ((DataModell.ActiveInformationen != null) && (InfoIDProcessed != DataModell.ActiveInformationen.ID)) throw new Exception("InfoIDProcessed != UpdateDataModellInstance.InformationenID"); AltErlaaInfoWorkListControlInstance.ProcessTheResultOfLastDataChangeActionResultCall (InfoIDProcessed, RequFunctions, Result); }