예제 #1
0
        ///<summary>
        /// Method Invocation of wrapper classes
        ///<summary>
        protected static FR_L3NO_GNwUiCoiC_1032_Array Invoke(DbConnection Connection, DbTransaction Transaction, string ConnectionString, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            bool cleanupConnection  = Connection == null;
            bool cleanupTransaction = Transaction == null;

            FR_L3NO_GNwUiCoiC_1032_Array functionReturn = new FR_L3NO_GNwUiCoiC_1032_Array();

            try
            {
                if (cleanupConnection == true)
                {
                    Connection = CSV2Core_MySQL.Support.DBSQLSupport.CreateConnection(ConnectionString);
                    Connection.Open();
                }
                if (cleanupTransaction == true)
                {
                    Transaction = Connection.BeginTransaction();
                }

                functionReturn = Execute(Connection, Transaction, securityTicket);

                #region Cleanup Connection/Transaction
                //Commit the transaction
                if (cleanupTransaction == true)
                {
                    Transaction.Commit();
                }
                //Close the connection
                if (cleanupConnection == true)
                {
                    Connection.Close();
                }
                #endregion
            }
            catch (Exception ex)
            {
                try
                {
                    if (cleanupTransaction == true && Transaction != null)
                    {
                        Transaction.Rollback();
                    }
                }
                catch { }

                try
                {
                    if (cleanupConnection == true && Connection != null)
                    {
                        Connection.Close();
                    }
                }
                catch { }

                throw new Exception("Exception occured in method cls_Get_Notes_where_User_is_Creator_or_is_Collaborator", ex);
            }
            return(functionReturn);
        }
예제 #2
0
        protected static FR_L3NO_GNwUiCoiC_1032_Array Execute(DbConnection Connection, DbTransaction Transaction, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode
            var returnValue = new FR_L3NO_GNwUiCoiC_1032_Array();
            //Put your code here
            List <L3NO_GNwUiCoiC_1032> notes = new List <L3NO_GNwUiCoiC_1032>();
            //************************************************************************************************//
            #region GETTING NOTES CREATED BY USER

            var ProjectNotesCreatedByCurrentUser = cls_Get_All_ProjectNotes_Created_by_AccountID.Invoke(Connection, Transaction, securityTicket).Result.ToList();

            foreach (var item in ProjectNotesCreatedByCurrentUser)
            {
                L3NO_GNwUiCoiC_1032 note = new L3NO_GNwUiCoiC_1032();
                note.NoteID = item.CMN_NoteID;
                //setting project info
                L3NO_GNwUiCoiC_1032c projectInfo = new L3NO_GNwUiCoiC_1032c();

                projectInfo.ProjectID = item.Project_RefID;
                var project = ORM_TMS_PRO_Project.Query.Search(Connection, Transaction, new ORM_TMS_PRO_Project.Query()
                {
                    Tenant_RefID      = securityTicket.TenantID,
                    TMS_PRO_ProjectID = item.Project_RefID,
                    IsDeleted         = false
                }).SingleOrDefault();
                if (project != null)
                {
                    projectInfo.ProjectName = project.Name;
                    note.ProjectInfo        = projectInfo;
                    note.ProjectNoteID      = item.TMS_PRO_Project_NoteID;
                    note.CurrentVersionID   = item.Current_NoteRevision_RefID;
                    //setting collaborators info
                    List <L3NO_GNwUiCoiC_1032a> collaboratorsInfo = new List <L3NO_GNwUiCoiC_1032a>();

                    var collaboratorsForProjectNoteID = ORM_TMS_PRO_Project_Note_Collaborators.Query.Search(Connection, Transaction, new ORM_TMS_PRO_Project_Note_Collaborators.Query()
                    {
                        Tenant_RefID      = securityTicket.TenantID,
                        ProjectNote_RefID = item.TMS_PRO_Project_NoteID,
                        IsDeleted         = false
                    });

                    foreach (var collaborator in collaboratorsForProjectNoteID)
                    {
                        L3NO_GNwUiCoiC_1032a collInfo = new L3NO_GNwUiCoiC_1032a();
                        collInfo.AccountID      = collaborator.Account_RefID;
                        collInfo.CollaboratorID = collaborator.TMS_PRO_Project_Note_CollaboratorID;

                        P_L2AI_GAPIfAI_1627 userParameter = new P_L2AI_GAPIfAI_1627();
                        userParameter.AccountRefID = collaborator.Account_RefID;
                        var userinfo = cls_Get_Account_PersonalInformation_for_AccountID.Invoke(Connection, Transaction, userParameter, securityTicket).Result;
                        collInfo.FirstAndLastName = userinfo.FirstName + " " + userinfo.LastName;
                        collaboratorsInfo.Add(collInfo);
                    }
                    note.CollaboratorsInfo = collaboratorsInfo.ToArray();
                    //setting tags info
                    List <L3NO_GNwUiCoiC_1032b> tagsInfo      = new List <L3NO_GNwUiCoiC_1032b>();
                    P_L3N_GTfPNID_1415          tagsParameter = new P_L3N_GTfPNID_1415();
                    tagsParameter.ProjectNoteID = item.TMS_PRO_Project_NoteID;
                    var tagsForProjectNoteID = cls_Get_Tags_for_ProjectNoteID.Invoke(Connection, Transaction, tagsParameter, securityTicket).Result.ToList();
                    foreach (var tag in tagsForProjectNoteID)
                    {
                        L3NO_GNwUiCoiC_1032b tagInfo = new L3NO_GNwUiCoiC_1032b();
                        tagInfo.TagID    = tag.TMS_PRO_TagID;
                        tagInfo.TagValue = tag.TagValue;
                        tagsInfo.Add(tagInfo);
                    }
                    note.TagsInfo = tagsInfo.ToArray();
                    //setting current note version
                    var lastnoterevision = ORM_CMN_NoteRevision.Query.Search(Connection, Transaction, new ORM_CMN_NoteRevision.Query()
                    {
                        Tenant_RefID       = securityTicket.TenantID,
                        CMN_NoteRevisionID = item.Current_NoteRevision_RefID,
                        IsDeleted          = false
                    });
                    if (lastnoterevision != null && lastnoterevision.Count != 0)
                    {
                        note.NoteVersion = lastnoterevision.First().Version.ToString();
                    }
                    else
                    {
                        note.NoteVersion = "1";
                    }

                    //setting all note revisions

                    List <L3NO_GNwUiCoiC_1032d> noteRevisionsInfo = new List <L3NO_GNwUiCoiC_1032d>();

                    P_L3N_GNRfNID_1559 revisionsParameter = new P_L3N_GNRfNID_1559();
                    revisionsParameter.NoteID = item.CMN_NoteID;
                    var noteRevisionsForNote = cls_Get_NoteRevisions_for_NoteID.Invoke(Connection, Transaction, revisionsParameter, securityTicket).Result.ToList();
                    foreach (var noteRevision in noteRevisionsForNote)
                    {
                        L3NO_GNwUiCoiC_1032d noteRevisionInfo = new L3NO_GNwUiCoiC_1032d();
                        noteRevisionInfo.NoteRevisionID         = noteRevision.CMN_NoteRevisionID;
                        noteRevisionInfo.NoteRevisionContent    = noteRevision.Content;
                        noteRevisionInfo.NoteRevisionCreatedOn  = noteRevision.Creation_Timestamp;
                        noteRevisionInfo.NoteRevisionModifiedOn = noteRevision.Modification_Timestamp;
                        noteRevisionInfo.NoteRevisionTitle      = noteRevision.Title;
                        noteRevisionInfo.NoteRevisionVersion    = noteRevision.Version;
                        noteRevisionInfo.NoteRevisionCreatorID  = noteRevision.CreatedBy_BusinessParticipant_RefID;

                        var revisionCreator = ORM_CMN_BPT_BusinessParticipant.Query.Search(Connection, Transaction, new ORM_CMN_BPT_BusinessParticipant.Query()
                        {
                            //TODO: For future publish,if creator business participant is deleted, do not display his name and offer collaborators option to delete note revision and note
                            Tenant_RefID = securityTicket.TenantID,
                            CMN_BPT_BusinessParticipantID = noteRevision.CreatedBy_BusinessParticipant_RefID
                        }).SingleOrDefault();
                        if (revisionCreator != null)
                        {
                            noteRevisionInfo.NoteRevisionCreatorFirstAndLastName = revisionCreator.DisplayName;
                        }
                        noteRevisionsInfo.Add(noteRevisionInfo);
                    }
                    note.NoteRevisionInfo = noteRevisionsInfo.ToArray();

                    var NoteCreator = ORM_CMN_BPT_BusinessParticipant.Query.Search(Connection, Transaction, new ORM_CMN_BPT_BusinessParticipant.Query()
                    {
                        //TODO: For future publish,if creator business participant is deleted, do not display his name and offer collaborators option to delete note
                        CMN_BPT_BusinessParticipantID = item.CreatedBy_BusinessParticipant_RefID,
                        Tenant_RefID = securityTicket.TenantID
                    }).SingleOrDefault();
                    L3NO_GNwUiCoiC_1032e noteCreator = new L3NO_GNwUiCoiC_1032e();
                    ORM_USR_Account      user        = ORM_USR_Account.Query.Search(Connection, Transaction, new ORM_USR_Account.Query()
                    {
                        BusinessParticipant_RefID = item.CreatedBy_BusinessParticipant_RefID,
                        IsDeleted    = false,
                        Tenant_RefID = securityTicket.TenantID
                    }).SingleOrDefault();
                    if (user != null)
                    {
                        noteCreator.CreatorID = user.USR_AccountID;
                        P_L2AI_GAPIfAI_1627 personalInfoParameter = new P_L2AI_GAPIfAI_1627();
                        personalInfoParameter.AccountRefID = user.USR_AccountID;
                        var personalInfoForUser = cls_Get_Account_PersonalInformation_for_AccountID.Invoke(Connection, Transaction, personalInfoParameter, securityTicket).Result;
                        if (personalInfoForUser != null)
                        {
                            noteCreator.CreatorFirstAndLastName = personalInfoForUser.FirstName + " " + personalInfoForUser.LastName;
                        }
                    }
                    note.NoteCreatorInfo = noteCreator;
                    note.LastEdited      = item.Modification_Timestamp;
                    note.CreatedOn       = item.Creation_Timestamp;
                    notes.Add(note);
                }
            }
            #endregion
            //************************************************************************************************//
            #region GETTING NOTES WHERE USER IS COLLABORATOR

            var ProjectNotesWhereCurrentUserIsCollaborator = cls_Get_All_ProjectNotes_Where_Current_User_is_Collaborator.Invoke(Connection, Transaction, securityTicket).Result.ToList();
            foreach (var item in ProjectNotesWhereCurrentUserIsCollaborator)
            {
                L3NO_GNwUiCoiC_1032 note = new L3NO_GNwUiCoiC_1032();
                note.NoteID = item.CMN_NoteID;
                //setting project info
                L3NO_GNwUiCoiC_1032c projectInfo = new L3NO_GNwUiCoiC_1032c();

                projectInfo.ProjectID = item.Project_RefID;
                ORM_TMS_PRO_Project project = ORM_TMS_PRO_Project.Query.Search(Connection, Transaction, new ORM_TMS_PRO_Project.Query()
                {
                    Tenant_RefID      = securityTicket.TenantID,
                    TMS_PRO_ProjectID = item.Project_RefID,
                    IsDeleted         = false
                }).SingleOrDefault();
                if (project != null)
                {
                    projectInfo.ProjectName = project.Name;
                    note.ProjectInfo        = projectInfo;
                    note.ProjectNoteID      = item.TMS_PRO_Project_NoteID;
                    note.CurrentVersionID   = item.Current_NoteRevision_RefID;
                    //setting collaborators info
                    List <L3NO_GNwUiCoiC_1032a> collaboratorsInfo = new List <L3NO_GNwUiCoiC_1032a>();

                    var collaboratorsForProjectNoteID = ORM_TMS_PRO_Project_Note_Collaborators.Query.Search(Connection, Transaction, new ORM_TMS_PRO_Project_Note_Collaborators.Query()
                    {
                        Tenant_RefID      = securityTicket.TenantID,
                        ProjectNote_RefID = item.TMS_PRO_Project_NoteID,
                        IsDeleted         = false
                    });

                    foreach (var collaborator in collaboratorsForProjectNoteID)
                    {
                        L3NO_GNwUiCoiC_1032a collInfo = new L3NO_GNwUiCoiC_1032a();
                        collInfo.AccountID      = collaborator.Account_RefID;
                        collInfo.CollaboratorID = collaborator.TMS_PRO_Project_Note_CollaboratorID;

                        P_L2AI_GAPIfAI_1627 userParameter = new P_L2AI_GAPIfAI_1627();
                        userParameter.AccountRefID = collaborator.Account_RefID;
                        var userinfo = cls_Get_Account_PersonalInformation_for_AccountID.Invoke(Connection, Transaction, userParameter, securityTicket).Result;
                        collInfo.FirstAndLastName = userinfo.FirstName + " " + userinfo.LastName;
                        collaboratorsInfo.Add(collInfo);
                    }
                    note.CollaboratorsInfo = collaboratorsInfo.ToArray();
                    //setting tags info
                    List <L3NO_GNwUiCoiC_1032b> tagsInfo      = new List <L3NO_GNwUiCoiC_1032b>();
                    P_L3N_GTfPNID_1415          tagsParameter = new P_L3N_GTfPNID_1415();
                    tagsParameter.ProjectNoteID = item.TMS_PRO_Project_NoteID;
                    var tagsForProjectNoteID = cls_Get_Tags_for_ProjectNoteID.Invoke(Connection, Transaction, tagsParameter, securityTicket).Result.ToList();
                    foreach (var tag in tagsForProjectNoteID)
                    {
                        L3NO_GNwUiCoiC_1032b tagInfo = new L3NO_GNwUiCoiC_1032b();
                        tagInfo.TagID    = tag.TMS_PRO_TagID;
                        tagInfo.TagValue = tag.TagValue;
                        tagsInfo.Add(tagInfo);
                    }
                    note.TagsInfo = tagsInfo.ToArray();
                    //setting current note version
                    var lastnoterevision = ORM_CMN_NoteRevision.Query.Search(Connection, Transaction, new ORM_CMN_NoteRevision.Query()
                    {
                        Tenant_RefID       = securityTicket.TenantID,
                        CMN_NoteRevisionID = item.Current_NoteRevision_RefID,
                        IsDeleted          = false
                    });
                    if (lastnoterevision != null && lastnoterevision.Count != 0)
                    {
                        note.NoteVersion = lastnoterevision.First().Version.ToString();
                    }
                    else
                    {
                        note.NoteVersion = "1";
                    }
                    //setting all note revisions
                    List <L3NO_GNwUiCoiC_1032d> noteRevisionsInfo = new List <L3NO_GNwUiCoiC_1032d>();

                    P_L3N_GNRfNID_1559 revisionsParameter = new P_L3N_GNRfNID_1559();
                    revisionsParameter.NoteID = item.CMN_NoteID;
                    var noteRevisionsForNote = cls_Get_NoteRevisions_for_NoteID.Invoke(Connection, Transaction, revisionsParameter, securityTicket).Result.ToList();
                    foreach (var noteRevision in noteRevisionsForNote)
                    {
                        L3NO_GNwUiCoiC_1032d noteRevisionInfo = new L3NO_GNwUiCoiC_1032d();
                        noteRevisionInfo.NoteRevisionID         = noteRevision.CMN_NoteRevisionID;
                        noteRevisionInfo.NoteRevisionContent    = noteRevision.Content;
                        noteRevisionInfo.NoteRevisionCreatedOn  = noteRevision.Creation_Timestamp;
                        noteRevisionInfo.NoteRevisionModifiedOn = noteRevision.Modification_Timestamp;
                        noteRevisionInfo.NoteRevisionTitle      = noteRevision.Title;
                        noteRevisionInfo.NoteRevisionVersion    = noteRevision.Version;
                        noteRevisionInfo.NoteRevisionCreatorID  = noteRevision.CreatedBy_BusinessParticipant_RefID;

                        var revisionCreator = ORM_CMN_BPT_BusinessParticipant.Query.Search(Connection, Transaction, new ORM_CMN_BPT_BusinessParticipant.Query()
                        {
                            IsDeleted = false,
                            CMN_BPT_BusinessParticipantID = noteRevision.CreatedBy_BusinessParticipant_RefID
                        }).SingleOrDefault();
                        if (revisionCreator != null)
                        {
                            noteRevisionInfo.NoteRevisionCreatorFirstAndLastName = revisionCreator.DisplayName;
                        }
                        noteRevisionsInfo.Add(noteRevisionInfo);
                    }
                    note.NoteRevisionInfo = noteRevisionsInfo.ToArray();

                    var NoteCreator = ORM_CMN_BPT_BusinessParticipant.Query.Search(Connection, Transaction, new ORM_CMN_BPT_BusinessParticipant.Query()
                    {
                        IsDeleted = false,
                        CMN_BPT_BusinessParticipantID = item.CreatedBy_BusinessParticipant_RefID
                    }).SingleOrDefault();
                    L3NO_GNwUiCoiC_1032e noteCreator = new L3NO_GNwUiCoiC_1032e();
                    ORM_USR_Account      user        = ORM_USR_Account.Query.Search(Connection, Transaction, new ORM_USR_Account.Query()
                    {
                        BusinessParticipant_RefID = item.CreatedBy_BusinessParticipant_RefID,
                        IsDeleted    = false,
                        Tenant_RefID = securityTicket.TenantID
                    }).SingleOrDefault();
                    if (user != null)
                    {
                        noteCreator.CreatorID = user.USR_AccountID;
                        P_L2AI_GAPIfAI_1627 personalInfoParameter = new P_L2AI_GAPIfAI_1627();
                        personalInfoParameter.AccountRefID = user.USR_AccountID;
                        var personalInfoForUser = cls_Get_Account_PersonalInformation_for_AccountID.Invoke(Connection, Transaction, personalInfoParameter, securityTicket).Result;
                        if (personalInfoForUser != null)
                        {
                            noteCreator.CreatorFirstAndLastName = personalInfoForUser.FirstName + " " + personalInfoForUser.LastName;
                        }
                    }

                    note.NoteCreatorInfo = noteCreator;
                    note.LastEdited      = item.Modification_Timestamp;
                    note.CreatedOn       = item.Creation_Timestamp;
                    notes.Add(note);
                }
            }

            #endregion
            //************************************************************************************************//
            returnValue.Result = notes.ToArray();

            return(returnValue);

            #endregion UserCode
        }