コード例 #1
0
        public static EmDomainType GetUserDomainType(int?userId)
        {
            string userName;
            int?   v2kuid;
            string timeZoneInfoToken = string.Empty;

            EmDomainType aDomainType = DDSetup.GetDomainTypeAndV2kUID(userId, out v2kuid, out userName, out timeZoneInfoToken);

            return(aDomainType);
        }
コード例 #2
0
        public static void SetupDDReportRuntimeParameter(ReportRuntime ddRuntime, int?aUId)
        {
            if (aUId != null)
            {
                if (ddRuntime.Parameters[DDSetup.ReportParameterUid] != null)
                {
                    ddRuntime.Parameters[DDSetup.ReportParameterUid].CurrentValue = aUId;
                }

                //string userName;
                //int? v2kuid;
                //EmDomainType aDomainType = DDSetup.GetDomainTypeAndV2kUID(aUId, out v2kuid, out userName);

                string userName          = string.Empty;
                string timeZoneInfoToken = string.Empty;

                int?         v2kuid;
                EmDomainType aDomainType = DDSetup.GetDomainTypeAndV2kUID(aUId, out v2kuid, out userName, out timeZoneInfoToken);


                if (ddRuntime.Parameters[DDSetup.ReportParameterCurrentUserName] != null)
                {
                    ddRuntime.Parameters[DDSetup.ReportParameterCurrentUserName].CurrentValue = userName;
                }


                if (ddRuntime.Parameters[DDSetup.ReportParameterClientTimeZonekey] != null)
                {
                    ddRuntime.Parameters[DDSetup.ReportParameterClientTimeZonekey].CurrentValue = timeZoneInfoToken;;
                }

                if (v2kuid.HasValue)
                {
                    if (ddRuntime.Parameters[DDSetup.ReportParameterCurrentUserName] != null)
                    {
                        ddRuntime.Parameters[DDSetup.ReportParameterCurrentUserName].CurrentValue = userName;
                    }

                    if (aDomainType == EmDomainType.Vendor)
                    {
                        if (ddRuntime.Parameters[DDSetup.ReportParameterVendorID] != null)
                        {
                            ddRuntime.Parameters[DDSetup.ReportParameterVendorID].CurrentValue = v2kuid.Value.ToString();
                        }
                    }
                    else if (aDomainType == EmDomainType.Customer)
                    {
                        if (ddRuntime.Parameters[DDSetup.ReportParameterCustomerID] != null)
                        {
                            ddRuntime.Parameters[DDSetup.ReportParameterCustomerID].CurrentValue = v2kuid.Value.ToString();;
                        }
                    }
                }
            }
        }
コード例 #3
0
        // key: reportName value:int
        public static Dictionary <string, string> GetDictUserReportNameAndFileNameReportss(int userId)
        {
            Dictionary <string, string> dictToReturn = new Dictionary <string, string>();

            string qeuryReportNameAndFileName = string.Empty;

            EmDomainType userDomainType = GetUserDomainType(userId);

            if (userDomainType == EmDomainType.SysAdmin)
            {
                qeuryReportNameAndFileName = @" SELECT   distinct        pdmReportWebPublish.ReportName, pdmReportWebPublish.ReportFileName      FROM         pdmReportWebPublish ";
            }
            else
            {
                qeuryReportNameAndFileName = string.Format(@" SELECT   distinct    
                      pdmReportWebPublish.ReportName, pdmReportWebPublish.ReportFileName
                      FROM         pdmReportPublishSecurity INNER JOIN
                      pdmReportWebPublish ON pdmReportPublishSecurity.ReportID = pdmReportWebPublish.ReportID
                      where  pdmReportPublishSecurity.SecurityWebUserID = {0} or 
                      pdmReportPublishSecurity.SecurityUserGroupID in ( 
                                             SELECT      pdmSecurityGroupMember.GroupID 
                                    FROM         pdmSecurityGroupMember  where  pdmSecurityGroupMember.UserID ={1}
                      
                       )", userId, userId);
            }



            using (SqlConnection conn = new SqlConnection(PLMConnectionString))
            {
                conn.Open();
                SqlCommand cmd = new SqlCommand(qeuryReportNameAndFileName, conn);

                SqlDataAdapter        adapter     = new SqlDataAdapter(cmd);
                System.Data.DataTable resultTabel = new DataTable();
                adapter.Fill(resultTabel);

                if (resultTabel.Rows.Count > 0)
                {
                    foreach (DataRow row in resultTabel.Rows)
                    {
                        string reportname     = row["ReportName"].ToString();
                        string reportFileName = row["ReportFileName"].ToString();
                        if (!dictToReturn.ContainsKey(reportname))
                        {
                            dictToReturn.Add(reportname, reportFileName);
                        }
                    }
                }
            }

            return(dictToReturn);
        }
コード例 #4
0
        public static string GetUserReportFileName(int userId, object reportId)
        {
            string dictToReturn = string.Empty;

            string qeuryReportNameAndFileName = string.Empty;

            //  EmDomainType userDomainType = GetUserDomainType(userId);



            string userName;
            int?   v2kuid;
            string timeZoneInfoToken = string.Empty;

            EmDomainType userDomainType = DDSetup.GetDomainTypeAndV2kUID(userId, out v2kuid, out userName, out timeZoneInfoToken);



            if (userDomainType == EmDomainType.SysAdmin)
            {
                qeuryReportNameAndFileName = @" SELECT         pdmReportWebPublish.ReportFileName      FROM         pdmReportWebPublish where ReportId=@ReportId  ";
            }
            else
            {
                qeuryReportNameAndFileName = string.Format(@" SELECT       
                       pdmReportWebPublish.ReportFileName
                      FROM         pdmReportPublishSecurity INNER JOIN
                      pdmReportWebPublish ON pdmReportPublishSecurity.ReportID = pdmReportWebPublish.ReportID
                      where  pdmReportWebPublish.ReportID = @ReportId and (  pdmReportPublishSecurity.SecurityWebUserID = {0} or 
                      pdmReportPublishSecurity.SecurityUserGroupID in ( 
                         SELECT      pdmSecurityGroupMember.GroupID 
                             FROM         pdmSecurityGroupMember  where  pdmSecurityGroupMember.UserID ={1}
                      
                       ))
                       ", userId, userId);
            }



            using (SqlConnection conn = new SqlConnection(PLMConnectionString))
            {
                conn.Open();
                SqlCommand cmd = new SqlCommand(qeuryReportNameAndFileName, conn);
                cmd.Parameters.Add(new SqlParameter("@ReportId", reportId));

                dictToReturn = cmd.ExecuteScalar() as string;
            }

            WriteReportTrace(userName, dictToReturn);

            return(dictToReturn);
        }
コード例 #5
0
        public void ConfigureCrystalReportParameters(ReportDocument customerReport)
        {
            if (_UId.HasValue)
            {
                SetupReportParameter(customerReport, DDSetup.ReportParameterUid, this._UId.Value);

                string userName;
                int?   v2kuid;
                string timeZoneInfoToken = string.Empty;

                EmDomainType aDomainType = DDSetup.GetDomainTypeAndV2kUID(_UId, out v2kuid, out userName, out timeZoneInfoToken);



                if (!string.IsNullOrEmpty(userName))
                {
                    if (IsExistParaName(customerReport, DDSetup.ReportParameterCurrentUserName))
                    {
                        SetupReportParameter(customerReport, DDSetup.ReportParameterCurrentUserName, userName);
                    }
                    else                    // try to setup _MutipleProductReferenceIDs
                    {
                        SetupReportParameter(customerReport, DDSetup.ReportParameterCurrentUserName, userName);
                    }
                }



                if (v2kuid.HasValue)
                {
                    if (aDomainType == EmDomainType.Vendor)
                    {
                        SetupReportParameter(customerReport, DDSetup.ReportParameterVendorID, v2kuid.Value);
                    }
                    else if (aDomainType == EmDomainType.Customer)
                    {
                    }
                }

                if (!string.IsNullOrEmpty(timeZoneInfoToken))
                {
                    if (IsExistParaName(customerReport, DDSetup.ReportParameterClientTimeZonekey))
                    {
                        SetupReportParameter(customerReport, DDSetup.ReportParameterClientTimeZonekey, timeZoneInfoToken);
                    }
                }


                if (!string.IsNullOrEmpty(this._ProductReferenceId))
                {
                    if (IsExistParaName(customerReport, DDSetup.ReportParameterProductReferenceID))
                    {
                        SetupReportParameter(customerReport, DDSetup.ReportParameterProductReferenceID, _ProductReferenceId);
                    }
                    else// try to setup _MutipleProductReferenceIDs
                    {
                        SetupReportParameter(customerReport, DDSetup.ReportParameterMutipleProductReferenceIDs, _ProductReferenceId);
                    }
                }

                // new add 2014-02-17 report paramters


                if (!string.IsNullOrEmpty(this._MainReferenceID))
                {
                    if (IsExistParaName(customerReport, DDSetup.QueryReportParameterMainReferenceID))
                    {
                        SetupReportParameter(customerReport, DDSetup.QueryReportParameterMainReferenceID, _MainReferenceID);
                    }
                }

                if (!string.IsNullOrEmpty(this._MasterReferenceID))
                {
                    if (IsExistParaName(customerReport, DDSetup.QueryReportParameterMasterReferenceID))
                    {
                        SetupReportParameter(customerReport, DDSetup.QueryReportParameterMasterReferenceID, _MasterReferenceID);
                    }
                }



                if (!string.IsNullOrEmpty(this._MutipleProductReferenceIDs))
                {
                    if (IsExistParaName(customerReport, DDSetup.ReportParameterMutipleProductReferenceIDs))
                    {
                        SetupReportParameter(customerReport, DDSetup.ReportParameterMutipleProductReferenceIDs, _MutipleProductReferenceIDs);
                    }
                    else// try to setup _MutipleProductReferenceIDs
                    {
                        SetupReportParameter(customerReport, DDSetup.ReportParameterProductReferenceID, _MutipleProductReferenceIDs);
                    }
                }

                // need to set up ReportParameterApplicationServerUrl for report iamge url
                if (IsExistParaName(customerReport, DDSetup.ReportParameterImageUrl))
                {
                    SetupReportParameter(customerReport, DDSetup.ReportParameterImageUrl, DDSetup.ReorptSetup.ReportingServerImageUrl);
                }



                // if(  this._ProductReferenceId
            }
        }
コード例 #6
0
        public static EmDomainType GetDomainTypeAndV2kUID(int?uid, out int?matchV2kUserID, out string currentUserName, out string timeZoneInfoToken)
        {
            EmDomainType aDomainType = EmDomainType.Anonymous;

            matchV2kUserID    = null;
            currentUserName   = string.Empty;
            timeZoneInfoToken = string.Empty;
            using (SqlConnection conn = new SqlConnection(PLMConnectionString))
            {
                conn.Open();

                string qeuryDynamicReportRepositoryPath = string.Format(@" select  pdmSecurityWebUser.TimeZoneInfoToken,   pdmSecurityRegDomain.PersonType, pdmSecurityWebUser.UserID, pdmSecurityWebUser.UserName, MatchV2kUserID
                       FROM    pdmSecurityWebUser INNER JOIN    pdmSecurityRegDomain ON pdmSecurityWebUser.DomainID = pdmSecurityRegDomain.DomainID
                        where UserID= {0}", uid);

                SqlCommand cmd = new SqlCommand(qeuryDynamicReportRepositoryPath, conn);

                SqlDataAdapter        adapter     = new SqlDataAdapter(cmd);
                System.Data.DataTable resultTabel = new DataTable();
                adapter.Fill(resultTabel);
                if (resultTabel.Rows.Count > 0)
                {
                    DataRow aRow       = resultTabel.Rows[0];
                    object  v2kid      = aRow["MatchV2kUserID"];
                    object  personType = aRow["PersonType"];

                    currentUserName   = aRow["UserName"] as string;
                    timeZoneInfoToken = aRow["TimeZoneInfoToken"] as string;


                    if (v2kid != null && personType != null)
                    {
                        int domainType = int.Parse(personType.ToString());
                        int result;
                        if (int.TryParse(v2kid.ToString(), out result))
                        {
                            matchV2kUserID = result;
                        }

                        if (domainType == (int)EmDomainType.Employee)
                        {
                            aDomainType = EmDomainType.Employee;
                        }

                        else if (domainType == (int)EmDomainType.Vendor)
                        {
                            aDomainType = EmDomainType.Vendor;
                        }

                        else if (domainType == (int)EmDomainType.Customer)
                        {
                            aDomainType = EmDomainType.Customer;
                        }

                        else if (domainType == (int)EmDomainType.Agent)
                        {
                            aDomainType = EmDomainType.Agent;
                        }

                        else if (domainType == (int)EmDomainType.SysAdmin)
                        {
                            aDomainType = EmDomainType.SysAdmin;
                        }

                        else if (domainType == (int)EmDomainType.AppAdmin)
                        {
                            aDomainType = EmDomainType.AppAdmin;
                        }
                    }
                }
            }

            //WriteReportTrace(currentUserName);

            return(aDomainType);
        }
コード例 #7
0
        private static void ConfigureCrystalReportParamter(ReportDocument crystalReportDocument, int?aUId, string productReferenceId, string PdmRequestRegisterID, string mainReferenceID, string masterReferenceID)
        {
            if (aUId.HasValue)
            {
                SetupReportParameter(crystalReportDocument, DDSetup.ReportParameterUid, aUId);

                string       userName;
                int?         v2kuid;
                string       timeZoneInfoToken = string.Empty;
                EmDomainType aDomainType       = DDSetup.GetDomainTypeAndV2kUID(aUId, out v2kuid, out userName, out timeZoneInfoToken);


                if (!string.IsNullOrEmpty(userName))
                {
                    if (IsExistParaName(crystalReportDocument, DDSetup.ReportParameterCurrentUserName))
                    {
                        SetupReportParameter(crystalReportDocument, DDSetup.ReportParameterCurrentUserName, userName);
                    }
                    else                    // try to setup _MutipleProductReferenceIDs
                    {
                        SetupReportParameter(crystalReportDocument, DDSetup.ReportParameterCurrentUserName, userName);
                    }
                }

                if (v2kuid.HasValue)
                {
                    if (aDomainType == EmDomainType.Vendor)
                    {
                        SetupReportParameter(crystalReportDocument, DDSetup.ReportParameterVendorID, v2kuid.Value);
                    }
                    else if (aDomainType == EmDomainType.Customer)
                    {
                    }
                }

                if (!string.IsNullOrEmpty(productReferenceId))
                {
                    if (IsExistParaName(crystalReportDocument, DDSetup.ReportParameterProductReferenceID))
                    {
                        SetupReportParameter(crystalReportDocument, DDSetup.ReportParameterProductReferenceID, productReferenceId);
                    }
                    else// try to setup _MutipleProductReferenceIDs
                    {
                        SetupReportParameter(crystalReportDocument, DDSetup.ReportParameterMutipleProductReferenceIDs, productReferenceId);
                    }
                }

                // need 2014-02-17  to add two paramters to mainReferenceID,masterReferenceID


                if (!string.IsNullOrEmpty(mainReferenceID))
                {
                    if (IsExistParaName(crystalReportDocument, DDSetup.QueryReportParameterMainReferenceID))
                    {
                        SetupReportParameter(crystalReportDocument, DDSetup.QueryReportParameterMainReferenceID, mainReferenceID);
                    }
                }

                if (!string.IsNullOrEmpty(timeZoneInfoToken))
                {
                    if (IsExistParaName(crystalReportDocument, DDSetup.ReportParameterClientTimeZonekey))
                    {
                        SetupReportParameter(crystalReportDocument, DDSetup.ReportParameterClientTimeZonekey, timeZoneInfoToken);
                    }
                }


                if (!string.IsNullOrEmpty(masterReferenceID))
                {
                    if (IsExistParaName(crystalReportDocument, DDSetup.QueryReportParameterMasterReferenceID))
                    {
                        SetupReportParameter(crystalReportDocument, DDSetup.QueryReportParameterMasterReferenceID, masterReferenceID);
                    }
                }


                if (!string.IsNullOrEmpty(PdmRequestRegisterID))
                {
                    // need format like this '1,2,3,4,6'

                    SetupCrystalReportRequestRegisterId(crystalReportDocument, PdmRequestRegisterID);
                }

                // need to set up ReportParameterApplicationServerUrl for report iamge url
                if (IsExistParaName(crystalReportDocument, DDSetup.ReportParameterImageUrl))
                {
                    SetupReportParameter(crystalReportDocument, DDSetup.ReportParameterImageUrl, DDSetup.ReorptSetup.ReportingServerImageUrl);
                }



                // if(  this._ProductReferenceId
            }
        }