/// <summary>
        /// Save all activities to database (direct)
        /// </summary>
        /// <param name="companyId">companyId</param>
        public void Save(int companyId)
        {
            SupportTicketInformationTDS supportTicketInformationChanges = (SupportTicketInformationTDS)Data.GetChanges();

            if (supportTicketInformationChanges != null)
            {
                if (supportTicketInformationChanges.ActivityInformation.Rows.Count > 0)
                {
                    SupportTicketInformationActivityInformationGateway supportTicketInformationActivityInformationGateway = new SupportTicketInformationActivityInformationGateway(supportTicketInformationChanges);

                    foreach (SupportTicketInformationTDS.ActivityInformationRow row in (SupportTicketInformationTDS.ActivityInformationDataTable)supportTicketInformationChanges.ActivityInformation)
                    {
                        // Insert new activity
                        if ((!row.Deleted) && (!row.InDataBase))
                        {
                            // new values
                            int supportTicketId = row.SupportTicketID;
                            int refId = row.RefID;

                            int employeeId = supportTicketInformationActivityInformationGateway.GetEmployeeID(supportTicketId, refId);
                            string type_ = supportTicketInformationActivityInformationGateway.GetType_(supportTicketId, refId);
                            DateTime dateTime_ = supportTicketInformationActivityInformationGateway.GetDateTime_(supportTicketId, refId);
                            string comment = supportTicketInformationActivityInformationGateway.GetComment(supportTicketId, refId);

                            SupportTicketSupportTicketActivity supportTicketSupportTicketActivity = new SupportTicketSupportTicketActivity(null);
                            supportTicketSupportTicketActivity.InsertDirect(supportTicketId, refId, type_, dateTime_, employeeId, comment, row.Deleted, row.COMPANY_ID);
                        }

                        // Update activities
                        if ((!row.Deleted) && (row.InDataBase))
                        {
                            int supportTicketId = row.SupportTicketID;
                            int refId = row.RefID;
                            bool originalDeleted = false;
                            int originalCompanyId = companyId;

                            // original values
                            int originalEmployeeId = supportTicketInformationActivityInformationGateway.GetEmployeeID(supportTicketId, refId);
                            string originalType_ = supportTicketInformationActivityInformationGateway.GetType_(supportTicketId, refId);
                            DateTime originalDateTime_ = supportTicketInformationActivityInformationGateway.GetDateTime_(supportTicketId, refId);
                            string originalComment = supportTicketInformationActivityInformationGateway.GetComment(supportTicketId, refId);

                            // new values
                            int newEmployeeId = supportTicketInformationActivityInformationGateway.GetEmployeeIDOriginal(supportTicketId, refId);
                            string newComment = supportTicketInformationActivityInformationGateway.GetCommentOriginal(supportTicketId, refId);

                            SupportTicketSupportTicketActivity supportTicketSupportTicketActivity = new SupportTicketSupportTicketActivity(null);
                            supportTicketSupportTicketActivity.UpdateDirect(supportTicketId, refId, originalType_, originalDateTime_, originalEmployeeId, originalComment, originalDeleted, originalCompanyId, supportTicketId, refId, originalType_, originalDateTime_, newEmployeeId, newComment, originalDeleted, originalCompanyId);
                        }

                        // Deleted activity
                        if ((row.Deleted) && (row.InDataBase))
                        {
                            SupportTicketSupportTicketActivity supportTicketSupportTicketActivity = new SupportTicketSupportTicketActivity(null);
                            supportTicketSupportTicketActivity.DeleteDirect(row.SupportTicketID, row.RefID, row.COMPANY_ID);
                        }
                    }
                }
            }
        }