예제 #1
0
        private DEBusinessUnitURLDevice GetBusinessUnitFromDB(string[] url)
        {
            DEBusinessUnitURLDevice BusinessUnitURLDeviceEntity = new DEBusinessUnitURLDevice();
            string cacheString = null;

            //Loop backwards through the length of the array
            for (int i = url.Length - 1; i >= 0; i += -1)
            {
                cacheString = GetNextURLString(url, i);
                TalentDataObjects tDataObjects = new TalentDataObjects();
                tDataObjects.Settings = GetBasicSettingsObject(false);
                System.Data.DataTable dt = tDataObjects.AppVariableSettings.TblUrlBu.GetBUByURL(cacheString);
                if (dt.Rows.Count > 0)
                {
                    if (!Utilities.CheckForDBNull_Boolean_DefaultFalse(dt.Rows[0]["DISABLED"]))
                    {
                        BusinessUnitURLDeviceEntity.BusinessUnit      = dt.Rows[0]["BUSINESS_UNIT"].ToString();
                        BusinessUnitURLDeviceEntity.BusinessUnitGroup = Utilities.CheckForDBNull_String(dt.Rows[0]["BU_GROUP"]);
                        BusinessUnitURLDeviceEntity.DeviceType        = Utilities.CheckForDBNull_String(dt.Rows[0]["DEVICE_TYPE"]);
                        BusinessUnitURLDeviceEntity.URL      = Utilities.CheckForDBNull_String(dt.Rows[0]["URL"]);
                        BusinessUnitURLDeviceEntity.URLGroup = Utilities.CheckForDBNull_String(dt.Rows[0]["URL_GROUP"]);
                        //todo call ecom module defaults data object for the given bu to get queue url
                        Data.Cache.Add("BU" + cacheString, BusinessUnitURLDeviceEntity, CacheTimeInMins);
                        return(BusinessUnitURLDeviceEntity);
                    }
                }
            }
            return(BusinessUnitURLDeviceEntity);
        }
예제 #2
0
        private DEBusinessUnitURLDevice TryToGetCachedBusinessUnit(string[] url)
        {
            //Loop backwards through the length of the array
            DEBusinessUnitURLDevice businessUnitURLDeviceEntity = null;

            for (int i = url.Length - 1; i >= 0; i += -1)
            {
                string cacheString = GetNextURLString(url, i);
                if (Data.Cache.Get("BU" + cacheString) == null)
                {
                }
                else
                {
                    return((DEBusinessUnitURLDevice)Data.Cache.Get("BU" + cacheString));
                }
            }
            return(businessUnitURLDeviceEntity);
        }
예제 #3
0
        private String GetBusinessUnit()
        {
            var values = Url.Split('/');
            int j      = 0;

            if (Url.Contains("localhost:"))
            {
                do
                {
                    if (values[j].Contains("localhost:"))
                    {
                        values[j] = "localhost";
                        break;
                    }
                    j++;
                } while (j < values.Length);
            }

            string cachedBusinessUnit = string.Empty;
            DEBusinessUnitURLDevice BusinessUnitURLDeviceEntity = TryToGetCachedBusinessUnit(values);

            //----------------------------
            // If not in cache get from DB
            //-----------------------------
            if (BusinessUnitURLDeviceEntity == null || string.IsNullOrEmpty(BusinessUnitURLDeviceEntity.BusinessUnit))
            {
                BusinessUnitURLDeviceEntity = GetBusinessUnitFromDB(values);
                cachedBusinessUnit          = BusinessUnitURLDeviceEntity.BusinessUnit;
            }
            else
            {
                cachedBusinessUnit = BusinessUnitURLDeviceEntity.BusinessUnit;
            }

            if (OverwriteBU != null)
            {
                cachedBusinessUnit = OverwriteBU;
            }

            return(cachedBusinessUnit);
        }