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); }
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); }
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); }