/* FNDD_CHECK_USER_MODULE #PM.CONV_IDENTIFICATION=Email in Working Mode */ UPDATE TBIDB_CATALOG SET CAT_STRING = '1.0.3' where CAT_TITLE = 'DB_VERSION' CREATE TABLE TBIDB_STATES ( GUID BIGINT NOT NULL IDENTITY (1, 1), STATE_LTERM_ID BIGINT NOT NULL, ADDED_WHO BIGINT, ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), CHANGED_WHO BIGINT, CHANGED_WHEN DATETIME, CONSTRAINT PK_TBIDB_STATES PRIMARY KEY (GUID), CONSTRAINT FK_TBIDB_STATES_STATE_LTERM_ID FOREIGN KEY (STATE_LTERM_ID) REFERENCES TBIDB_TERM_LANGUAGE (GUID), CONSTRAINT FK_TBIDB_STATES_ADDED_WHO_T_ID FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), CONSTRAINT FK_TBIDB_STATES_CHANGED_WHO_T_ID FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),) GO CREATE TRIGGER TBIDB_STATES_AFT_UPD ON TBIDB_STATES FOR UPDATE AS UPDATE TBIDB_STATES SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBIDB_STATES.GUID = INSERTED.GUID GO ALTER PROCEDURE [dbo].[PRIDB_NEW_IDB_STATE] @pSTATE VARCHAR(512),@pWHO VARCHAR(100),@pLANG_CODE VARCHAR(5) = 'de-DE' AS BEGIN DECLARE @LANG_ID INTEGER SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE DECLARE @STATE_TERM_ID BIGINT,@LANG_STATE_TERM_ID BIGINT EXEC PRIDB_NEW_TERM 'VARCHAR',@pSTATE,@pWHO,@TERM_ID = @STATE_TERM_ID OUTPUT; DECLARE @ADDED_WHO_TERM_ID BIGINT EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @ADDED_WHO_TERM_ID OUTPUT; IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @STATE_TERM_ID) INSERT INTO TBIDB_TERM_LANGUAGE (LANGUAGE_ID,TEXT_TERM_ID,ADDED_WHO) VALUES (@LANG_ID,@STATE_TERM_ID,@pWHO) SELECT @LANG_STATE_TERM_ID = MAX(GUID) FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @STATE_TERM_ID IF NOT EXISTS(SELECT GUID FROM TBIDB_STATES WHERE STATE_LTERM_ID = @LANG_STATE_TERM_ID) INSERT INTO TBIDB_STATES (STATE_LTERM_ID,ADDED_WHO) VALUES (@LANG_STATE_TERM_ID,@ADDED_WHO_TERM_ID) IF NOT EXISTS (SELECT GUID FROM TBIDB_STATE_LANG_GROUP WHERE STATE_ID = (SELECT GUID FROM TBIDB_STATES WHERE STATE_LTERM_ID = @LANG_STATE_TERM_ID)) INSERT INTO TBIDB_STATE_LANG_GROUP (STATE_ID,LANG_TERM_ID,ADDED_WHO) VALUES ( (SELECT GUID FROM TBIDB_STATES WHERE STATE_LTERM_ID = @LANG_STATE_TERM_ID) ,@LANG_STATE_TERM_ID ,@ADDED_WHO_TERM_ID) SELECT * FROM TBIDB_STATES WHERE STATE_LTERM_ID = @LANG_STATE_TERM_ID END GO CREATE TABLE TBIDB_STATE_LANG_GROUP ( GUID BIGINT NOT NULL IDENTITY (1, 1), STATE_ID BIGINT NOT NULL, LANG_TERM_ID BIGINT NOT NULL, ADDED_WHO BIGINT, ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), CHANGED_WHO BIGINT, CHANGED_WHEN DATETIME, CONSTRAINT PK_TBIDB_STATE_LANG_GROUP PRIMARY KEY (GUID), CONSTRAINT FK_TBIDB_STATE_LANG_GROUP_STATE_ID FOREIGN KEY (STATE_ID) REFERENCES TBIDB_STATES (GUID), CONSTRAINT FK_TBIDB_STATE_LANG_GROUP_ADDED_WHO_T_ID FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), CONSTRAINT FK_TTBIDB_STATE_LANG_GROUP_CHANGED_WHO_T_ID FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),) GO CREATE TRIGGER TBIDB_STATE_LANG_GROUP_AFT_UPD ON TBIDB_STATE_LANG_GROUP FOR UPDATE AS UPDATE TBIDB_STATE_LANG_GROUP SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBIDB_STATE_LANG_GROUP.GUID = INSERTED.GUID GO EXEC PRIDB_NEW_IDB_STATE 'Started', 'Digital Data','de-DE' EXEC PRIDB_NEW_IDB_STATE 'Ended', 'Digital Data','de-DE' --select * from TBIDB_STATE_LANG_GROUP --DROP TABLE TBIDB_CONVERSATION_OBJECT CREATE TABLE TBIDB_CONVERSATION_OBJECT ( GUID BIGINT NOT NULL IDENTITY (1, 1), TITLE_TERM_ID BIGINT NOT NULL, IDB_OBJ_ID BIGINT NOT NULL, ADDED_WHO BIGINT, ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), CHANGED_WHO BIGINT, CHANGED_WHEN DATETIME, CONSTRAINT PK_TBIDB_CONVERSATION_OBJECT PRIMARY KEY (GUID), CONSTRAINT FK_TITLE_TERM_ID FOREIGN KEY (TITLE_TERM_ID) REFERENCES TBIDB_TERM_LANGUAGE (GUID), CONSTRAINT FK_TBIDB_CONVERSATION_OBJECT_IDB_OBJ_ID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID), CONSTRAINT FK_TBIDB_CONVERSATION_OBJECT_ADDED_WHO_T_ID FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), CONSTRAINT FK_TBIDB_CONVERSATION_OBJECT_CHANGED_WHO_T_ID FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),) GO CREATE TRIGGER TBIDB_CONVERSATION_OBJECT_AFT_UPD ON TBIDB_CONVERSATION_OBJECT FOR UPDATE AS UPDATE TBIDB_CONVERSATION_OBJECT SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBIDB_CONVERSATION_OBJECT.GUID = INSERTED.GUID GO CREATE FUNCTION [dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (@LANG_TERM_ID BIGINT) RETURNS VARCHAR(900) AS BEGIN DECLARE @TERM_ID BIGINT, @RESULT VARCHAR(900) SELECT @RESULT = T1.TERM_VALUE FROM TBIDB_TERM_LANGUAGE T INNER JOIN TBIDB_TERM_VALUE_VARCHAR T1 ON T.TEXT_TERM_ID = T1.GUID WHERE T.GUID = @LANG_TERM_ID RETURN @RESULT END GO ------------------------------------------------------------------- CREATE FUNCTION [dbo].[FNIDB_GET_STATE_FOR_OBJECT_ID] (@OBJ_ID BIGINT) RETURNS VARCHAR(900) AS BEGIN DECLARE @MAX_STATE_GUID BIGINT,@STATE_ID INTEGER,@RESULT VARCHAR(900) SELECT @STATE_ID = STATE_ID FROM TBIDB_MYOBJECT_STATES WHERE GUID = ( SELECT MAX(GUID) FROM TBIDB_MYOBJECT_STATES WHERE MY_OBJECT_ID = @OBJ_ID) SELECT @RESULT = [dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] ((SELECT STATE_LTERM_ID FROM TBIDB_STATES WHERE GUID = @STATE_ID)) RETURN @RESULT END GO --delete from TBIDB_CONVERSATION_OBJECT CREATE PROCEDURE [dbo].[PRIDB_NEW_CONVERSATION] @pIDB_OBJ_ID BIGINT, @pTITLE VARCHAR(512),@pWHO VARCHAR(100),@pLANG_CODE VARCHAR(5) = 'de-DE' AS BEGIN DECLARE @LANG_ID INTEGER SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE DECLARE @TITLE_TERM_ID BIGINT,@LANG_TITLE_TERM_ID BIGINT EXEC PRIDB_NEW_TERM 'VARCHAR',@pTITLE,@pWHO,@TERM_ID = @TITLE_TERM_ID OUTPUT; DECLARE @ADDED_WHO_TERM_ID BIGINT EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @ADDED_WHO_TERM_ID OUTPUT; IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @TITLE_TERM_ID) INSERT INTO TBIDB_TERM_LANGUAGE (LANGUAGE_ID,TEXT_TERM_ID,ADDED_WHO) VALUES (@LANG_ID,@TITLE_TERM_ID,@pWHO) SELECT @LANG_TITLE_TERM_ID = MAX(GUID) FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @TITLE_TERM_ID --IF EXISTS(SELECT CONVERSATION_ID FROM VWIDB_CONVERSATION WHERE IDB_OBJ_ID = @pIDB_OBJ_ID AND CONVERSATION_STATE = 'Started') -- BEGIN -- DECLARE @ENDED_STATE BIGINT -- SELECT @ENDED_STATE = GUID FROM TBIDB_STATES T WHERE dbo.[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (STATE_LTERM_ID) = 'Ended' -- INSERT INTO TBIDB_MYOBJECT_STATES ( -- MY_OBJECT_ID -- ,STATE_ID -- ,ADDED_WHO) VALUES ( -- (SELECT CONVERSATION_ID FROM VWIDB_CONVERSATION WHERE IDB_OBJ_ID = @pIDB_OBJ_ID AND CONVERSATION_STATE = 'Started') -- ,@ENDED_STATE -- ,@ADDED_WHO_TERM_ID) -- END IF NOT EXISTS(SELECT GUID FROM TBIDB_CONVERSATION_OBJECT WHERE IDB_OBJ_ID = @pIDB_OBJ_ID AND TITLE_TERM_ID = @LANG_TITLE_TERM_ID) INSERT INTO TBIDB_CONVERSATION_OBJECT (TITLE_TERM_ID,IDB_OBJ_ID,ADDED_WHO) VALUES (@LANG_TITLE_TERM_ID,@pIDB_OBJ_ID,@ADDED_WHO_TERM_ID) DECLARE @STARTED_STATE BIGINT SELECT @STARTED_STATE = GUID FROM TBIDB_STATES T WHERE dbo.[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (STATE_LTERM_ID) = 'Started' DECLARE @CONVERSATION_ID BIGINT SELECT @CONVERSATION_ID = GUID FROM TBIDB_CONVERSATION_OBJECT WHERE TITLE_TERM_ID = @LANG_TITLE_TERM_ID AND IDB_OBJ_ID = @pIDB_OBJ_ID IF NOT EXISTS(SELECT GUID FROM TBIDB_MYOBJECT_STATES WHERE MY_OBJECT_ID = @CONVERSATION_ID AND STATE_ID = @STARTED_STATE) INSERT INTO TBIDB_MYOBJECT_STATES (MY_OBJECT_ID,STATE_ID,ADDED_WHO) VALUES (@CONVERSATION_ID,@STARTED_STATE,@ADDED_WHO_TERM_ID) END GO CREATE PROCEDURE dbo.PRIDB_OBJECT_SET_STATE @pIDB_OBJ_ID BIGINT, @pSTATE VARCHAR(512),@pWHO VARCHAR(100),@pLANG_CODE VARCHAR(5) = 'de-DE' AS BEGIN DECLARE @LANG_ID INTEGER SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE DECLARE @STATE_TERM_ID BIGINT,@LANG_TITLE_TERM_ID BIGINT EXEC PRIDB_NEW_TERM 'VARCHAR',@pSTATE,@pWHO,@TERM_ID = @STATE_TERM_ID OUTPUT; DECLARE @ADDED_WHO_TERM_ID BIGINT EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @ADDED_WHO_TERM_ID OUTPUT; IF NOT EXISTS(SELECT GUID FROM TBIDB_MYOBJECT_STATES WHERE MY_OBJECT_ID = @pIDB_OBJ_ID AND STATE_ID = @STATE_TERM_ID) INSERT INTO TBIDB_MYOBJECT_STATES (MY_OBJECT_ID,STATE_ID,ADDED_WHO) VALUES (@pIDB_OBJ_ID,@STATE_TERM_ID,@ADDED_WHO_TERM_ID) END GO CREATE PROCEDURE [dbo].[PRIDB_END_CONVERSATION] @pCONVID BIGINT, @pWHO VARCHAR(100), @pLANG_CODE VARCHAR(5) = 'de-DE' AS BEGIN DECLARE @LANG_ID INTEGER ,@ENDED_STATE BIGINT SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE SELECT @ENDED_STATE = GUID FROM TBIDB_STATES T WHERE dbo.[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (STATE_LTERM_ID) = 'Ended' DECLARE @WHO_TERM_ID BIGINT EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @WHO_TERM_ID OUTPUT; IF NOT EXISTS(SELECT MY_OBJECT_ID FROM TBIDB_MYOBJECT_STATES WHERE MY_OBJECT_ID = @pCONVID AND STATE_ID = @ENDED_STATE) INSERT INTO TBIDB_MYOBJECT_STATES ( MY_OBJECT_ID ,STATE_ID ,ADDED_WHO) VALUES ( @pCONVID ,@ENDED_STATE ,@WHO_TERM_ID) END GO --delete from TBIDB_MYOBJECT_STATES CREATE TABLE TBIDB_MYOBJECT_STATES ( GUID BIGINT NOT NULL IDENTITY (1, 1), MY_OBJECT_ID BIGINT NOT NULL, STATE_ID BIGINT NOT NULL, COMMENT_ID BIGINT , ADDED_WHO BIGINT, ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), CHANGED_WHO BIGINT, CHANGED_WHEN DATETIME, CONSTRAINT PK_TBIDB_MYOBJECT_STATES PRIMARY KEY (GUID), CONSTRAINT FK_TBIDB_MYOBJECT_STATES_STATE_ID FOREIGN KEY (STATE_ID) REFERENCES TBIDB_STATES (GUID), CONSTRAINT FK_TBIDB_MYOBJECT_STATES_COMMENT_ID_T_ID FOREIGN KEY (COMMENT_ID) REFERENCES TBIDB_TERM_LANGUAGE (GUID), CONSTRAINT FK_TBIDB_MYOBJECT_STATES_ADDED_WHO_T_ID FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), CONSTRAINT FK_TBIDB_MYOBJECT_STATES_CHANGED_WHO_T_ID FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),) GO CREATE TRIGGER TBIDB_MYOBJECT_STATES_AFT_UPD ON TBIDB_MYOBJECT_STATES FOR UPDATE AS UPDATE TBIDB_MYOBJECT_STATES SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBIDB_MYOBJECT_STATES.GUID = INSERTED.GUID GO CREATE FUNCTION [dbo].[FNIDB_GET_TERM_VALUE_VARCHAR] (@TERM_ID BIGINT) RETURNS VARCHAR(900) AS BEGIN DECLARE @RESULT VARCHAR(900) SELECT @RESULT = TERM_VALUE FROM TBIDB_TERM_VALUE_VARCHAR WHERE GUID = @TERM_ID RETURN @RESULT END CREATE TABLE TBIDB_CONVERSATION_USER ( GUID BIGINT NOT NULL IDENTITY (1, 1), CONV_ID BIGINT NOT NULL, USER_OR_GROUP_ID INTEGER NOT NULL, IS_USER BIT NOT NULL, ADDED_WHO BIGINT, ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), CONSTRAINT PK_TBIDB_CONVERSATION_USER PRIMARY KEY (GUID), CONSTRAINT FK_TBIDB_CONVERSATION_USER_CONV_ID FOREIGN KEY (CONV_ID) REFERENCES TBIDB_CONVERSATION_OBJECT (GUID), CONSTRAINT FK_TBIDB_CONVERSATION_USER_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),) GO CREATE PROCEDURE [dbo].[PRIDB_ADD_USER_2_CONVERSATION] @pCONV_ID BIGINT, @pUSERID INTEGER,@pWHO VARCHAR(100) AS BEGIN DECLARE @ADDED_WHO_TERM_ID BIGINT EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @ADDED_WHO_TERM_ID OUTPUT; IF NOT EXISTS(SELECT GUID FROM TBIDB_CONVERSATION_USER WHERE CONV_ID = @pCONV_ID AND USER_OR_GROUP_ID = @pUSERID AND IS_USER = 1) INSERT INTO TBIDB_CONVERSATION_USER (CONV_ID,USER_OR_GROUP_ID,IS_USER,ADDED_WHO) VALUES (@pCONV_ID,@pUSERID,1,@ADDED_WHO_TERM_ID) END GO CREATE TABLE TBIDB_CONVERSATION_MESSAGE ( GUID BIGINT NOT NULL IDENTITY (1, 1), CONV_ID BIGINT NOT NULL, TO_USER BIGINT NOT NULL DEFAULT 0, FROM_USER BIGINT NOT NULL, MESSAGE_TERM_ID BIGINT NOT NULL, ADDED_WHO BIGINT, ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), CONSTRAINT PK_TBIDB_CONVERSATION_MESSAGE PRIMARY KEY (GUID), CONSTRAINT FK_TBIDB_CONVERSATION_MESSAGE_CONV_ID FOREIGN KEY (CONV_ID) REFERENCES TBIDB_CONVERSATION_OBJECT (GUID), CONSTRAINT FK_TBIDB_CONVERSATION_MESSAGE_MESSAGE_FROM_USER FOREIGN KEY (FROM_USER) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), CONSTRAINT FK_TBIDB_CONVERSATION_MESSAGE_MESSAGE_TERM_ID FOREIGN KEY (MESSAGE_TERM_ID) REFERENCES TBIDB_TERM_LANGUAGE (GUID), CONSTRAINT FK_TBIDB_CONVERSATION_MESSAGE_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),) GO CREATE PROCEDURE [dbo].[PRIDB_NEW_CONVERSATION_MESSAGE] @pCONV_ID BIGINT, @pMESSAGE VARCHAR(100), @pWHO VARCHAR(100),@pTO_USER INTEGER = 0, @pLANG_CODE VARCHAR(5) = 'de-DE' AS BEGIN DECLARE @LANG_ID INTEGER SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE DECLARE @MESSAGE_TERM_ID BIGINT,@LANG_MESSAGE_TERM_ID BIGINT EXEC PRIDB_NEW_TERM 'VARCHAR',@pMESSAGE,@pWHO,@TERM_ID = @MESSAGE_TERM_ID OUTPUT; DECLARE @ADDED_WHO_TERM_ID BIGINT EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @ADDED_WHO_TERM_ID OUTPUT; IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @MESSAGE_TERM_ID) INSERT INTO TBIDB_TERM_LANGUAGE (LANGUAGE_ID,TEXT_TERM_ID,ADDED_WHO) VALUES (@LANG_ID,@MESSAGE_TERM_ID,@pWHO) SELECT @LANG_MESSAGE_TERM_ID = MAX(GUID) FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @MESSAGE_TERM_ID --IF NOT EXISTS(SELECT GUID FROM TBIDB_CONVERSATION_MESSAGE WHERE CONV_ID = @pCONV_ID AND FROM_USER = FROM_USER AND MESSAGE_TERM_ID = @LANG_MESSAGE_TERM_ID) INSERT INTO TBIDB_CONVERSATION_MESSAGE (CONV_ID,FROM_USER,TO_USER, MESSAGE_TERM_ID, ADDED_WHO) VALUES (@pCONV_ID,@ADDED_WHO_TERM_ID,@pTO_USER, @LANG_MESSAGE_TERM_ID,@ADDED_WHO_TERM_ID) END GO --EXEC PRIDB_NEW_CONVERSATION 10070, 'My First Conversation', 'SchreiberM' --EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 1,'Hallo JJ', 'SchreiberM' --EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 1,'Hallo Marlon', 'JenneJ' --EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 1,'Na was machst Du so?', 'JenneJ' --EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 1,'Ei ich programmiere an der IDB...', 'SchreiberM' --EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 1,'Und Du wartest auf mich?', 'SchreiberM' --EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 1,'Jenau ;)', 'JenneJ' --EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 9,'Hallo Herr Schreiber, oh sorry habe ich das wirklich? ', 'j.jenne@digitaldata.works' --EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 9,'..warten sie ich prüfe das nochmal! ', 'j.jenne@digitaldata.works' --EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 9,'Tatsächlich. Ich korrigiere das!', 'j.jenne@digitaldata.works' --EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 9,'Was''nu schon wieder?', 'JenneJ' --EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 9,'2. conversation ist da..', 'SchreiberM' --EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 10,'Hallo JJ, da bin ich wieder', 'SchreiberM' --EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 10,'Hallo Marlon nicht schon wieder', 'JenneJ' --EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 10,'Was''nu schon wieder?', 'JenneJ' --EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 10,'3. conversation ist da..', 'SchreiberM' CREATE VIEW VWIDB_CONVERSATION AS SELECT GUID As CONVERSATION_ID ,IDB_OBJ_ID ,[dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (TITLE_TERM_ID) as TITLE ,[dbo].[FNIDB_GET_STATE_FOR_OBJECT_ID] (GUID) AS CONVERSATION_STATE ,[dbo].[FNIDB_GET_TERM_VALUE_VARCHAR] (ADDED_WHO) as ADDED_WHO ,ADDED_WHEN ,[dbo].[FNIDB_GET_TERM_VALUE_VARCHAR] (CHANGED_WHO) as CHANGED_WHO ,CHANGED_WHEN FROM TBIDB_CONVERSATION_OBJECT GO CREATE VIEW VWIDB_CONV_MESSAGES AS select T.GUID, T.CONV_ID, (SELECT EMAIL FROM DD_ECM_TEST.dbo.TBDD_USER WHERE GUID = T.TO_USER) TO_USER, [dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (T1.TITLE_TERM_ID) AS CONV_TITLE ,[dbo].[FNIDB_GET_TERM_VALUE_VARCHAR] (T.FROM_USER) as USER_FROM ,[dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (T.MESSAGE_TERM_ID) as MESSAGE_TEXT ,[dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (T.ADDED_WHO) as ADDED_WHO ,T.ADDED_WHEN from TBIDB_CONVERSATION_MESSAGE T INNER JOIN TBIDB_CONVERSATION_OBJECT T1 ON T.CONV_ID = T1.GUID GO CREATE VIEW VWIDB_CONVERSATION_USER AS SELECT T.CONV_ID ,T1.GUID As USER_ID ,T1.USERNAME ,T1.EMAIL ,T1.NAME + ', ' + T1.PRENAME as NAME FROM [IDB_TEST].[dbo].[TBIDB_CONVERSATION_USER] T INNER JOIN DD_ECM_TEST.dbo.TBDD_USER T1 ON T.USER_OR_GROUP_ID = T1.GUID WHERE IS_USER = 1 GO CREATE FUNCTION [dbo].[FNIDB_OBJECT_DYNAMIC_CONFIG] (@pIDB_OBJ_ID as INTEGER, @pUSERID as INTEGER) RETURNS @Table TABLE (CONF_TITLE VARCHAR(900),CONF_VALUE VARCHAR(900)) AS BEGIN DECLARE @CONVID BIGINT SELECT @CONVID = CONVERSATION_ID FROM VWIDB_CONVERSATION WHERE IDB_OBJ_ID = @pIDB_OBJ_ID AND CONVERSATION_STATE = 'Started' IF @CONVID > 0 BEGIN INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_ID',@CONVID); END IF EXISTS(SELECT CONV_ID FROM VWIDB_CONVERSATION_USER WHERE CONV_ID = @CONVID AND USER_ID = @pUSERID) BEGIN INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_USER_ACTIVE','True'); END INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_RIGHT','Admin'); INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_RIGHT','Start'); INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_RIGHT','Stop'); INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_RIGHT','AddMessage'); INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_RIGHT','AddUser'); INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('NEW_CONVERSATION_USER_SELECT','SELECT GUID as UserID, NAME, USERNAME, EMAIL from TBDD_USER'); INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_ADD_USER_SELECT','SELECT GUID as UserID, NAME, USERNAME, EMAIL from DD_ECM_TEST.dbo.TBDD_USER WHERE GUID NOT IN (SELECT USER_OR_GROUP_ID FROM TBIDB_CONVERSATION_USER WHERE CONV_ID = @CONVID AND IS_USER = 1)'); RETURN END GO CREATE NONCLUSTERED INDEX IDX_CHANGED_WHEN_IN_GUID ON [dbo].[TBIDB_OBJECT_METADATA_CHANGE] ([CHANGED_WHEN]) INCLUDE ([GUID]) GO CREATE NONCLUSTERED INDEX IDX_IDBOBJID_CW ON [dbo].[TBIDB_OBJECT_METADATA_CHANGE] ([IDB_OBJ_ID]) INCLUDE ([CHANGED_WHEN]) GO