/// <summary> /// Save all activities to database (direct) /// </summary> /// <param name="companyId">companyId</param> public void Save(int companyId) { ToDoListInformationTDS toDoListInformationChanges = (ToDoListInformationTDS)Data.GetChanges(); if (toDoListInformationChanges != null) { if (toDoListInformationChanges.ActivityInformation.Rows.Count > 0) { ToDoListInformationActivityInformationGateway toDoListInformationActivityInformationGateway = new ToDoListInformationActivityInformationGateway(toDoListInformationChanges); foreach (ToDoListInformationTDS.ActivityInformationRow row in (ToDoListInformationTDS.ActivityInformationDataTable)toDoListInformationChanges.ActivityInformation) { // Insert new activity if ((!row.Deleted) && (!row.InDataBase)) { // new values int toDoId = row.ToDoID; int refId = row.RefID; int employeeId = toDoListInformationActivityInformationGateway.GetEmployeeID(toDoId, refId); string type_ = toDoListInformationActivityInformationGateway.GetType_(toDoId, refId); DateTime dateTime_ = toDoListInformationActivityInformationGateway.GetDateTime_(toDoId, refId); string comment = toDoListInformationActivityInformationGateway.GetComment(toDoId, refId); ToDoListToDoListActivity toDoListToDoListActivity = new ToDoListToDoListActivity(null); toDoListToDoListActivity.InsertDirect(toDoId, refId, employeeId, type_, dateTime_, row.Deleted, row.COMPANY_ID, comment); } // Update activities if ((!row.Deleted) && (row.InDataBase)) { int toDoId = row.ToDoID; int refId = row.RefID; bool originalDeleted = false; int originalCompanyId = companyId; // original values int originalEmployeeId = toDoListInformationActivityInformationGateway.GetEmployeeID(toDoId, refId); string originalType_ = toDoListInformationActivityInformationGateway.GetType_(toDoId, refId); DateTime originalDateTime_ = toDoListInformationActivityInformationGateway.GetDateTime_(toDoId, refId); string originalComment = toDoListInformationActivityInformationGateway.GetComment(toDoId, refId); // new values int newEmployeeId = toDoListInformationActivityInformationGateway.GetEmployeeIDOriginal(toDoId, refId); string newComment = toDoListInformationActivityInformationGateway.GetCommentOriginal(toDoId, refId); ToDoListToDoListActivity toDoListToDoListActivity = new ToDoListToDoListActivity(null); toDoListToDoListActivity.UpdateDirect(toDoId, refId, originalEmployeeId, originalType_, originalDateTime_, originalDeleted, originalCompanyId, originalComment, toDoId, refId, newEmployeeId, originalType_, originalDateTime_, originalDeleted, originalCompanyId, newComment); } // Deleted activity if ((row.Deleted) && (row.InDataBase)) { ToDoListToDoListActivity toDoListToDoListActivity = new ToDoListToDoListActivity(null); toDoListToDoListActivity.DeleteDirect(row.ToDoID, row.RefID, row.COMPANY_ID); } } } } }