public T getListCacheData <T>(CacheDataType type) { try { object result = null; switch (type) { case CacheDataType.TypeOfItem: { result = listType.ToList(); break; } case CacheDataType.ColorOfItem: { result = listColor.ToList(); break; } default: throw new Exception(string.Format("Không tìm thấy CacheDataReferencesType[{0}] trong DataAccess.getCacheData.", type)); } return((T)result); } catch { throw; } }
public static object Deserialize(byte[] data, CacheDataType dataType) { if (data == null) { throw new ArgumentNullException("data cannot be null"); } if (dataType == CacheDataType.Binary) { return(data); } if (dataType == CacheDataType.EmptyByteArray) { return(new byte[0]); } if (dataType == CacheDataType.EmptyString) { return(String.Empty); } if (dataType == CacheDataType.Object) { using (MemoryStream stream = new MemoryStream(data)) { BinaryFormatter ser = new BinaryFormatter(); return(ser.Deserialize(stream)); } } switch (dataType) { case CacheDataType.Boolean: return(BitConverter.ToBoolean(data, 0)); case CacheDataType.Int32: return(BitConverter.ToInt32(data, 0)); case CacheDataType.Int64: return(BitConverter.ToInt64(data, 0)); case CacheDataType.Single: return(BitConverter.ToSingle(data, 0)); case CacheDataType.Double: return(BitConverter.ToDouble(data, 0)); case CacheDataType.DateTime: return(DateTime.FromBinary(BitConverter.ToInt64(data, 0))); case CacheDataType.String: return(Encoding.UTF8.GetString(data)); default: throw new NotSupportedException("Not supported data type"); } }
public HttpResponseMessage CreateUmbracoSupportingTypes([FromUri] string token) { if (!CheckAuthorisationToken(token)) { return(Request.CreateResponse(HttpStatusCode.Forbidden)); } try { // Insert data types before the document types that use them, otherwise the relevant property is not created CheckboxDataType.CreateCheckboxDataType(); CacheDataType.CreateCacheDataType(); SocialMediaOrderDataType.CreateSocialMediaOrderDataType(); FacebookWidgetSettingsDataType.CreateFacebookWidgetSettingsDataType(); FacebookUrlDataType.CreateDataType(); UmbracoCodeFirstInitializer.CreateDataType(typeof(ShowWidgetDataType)); TwitterScriptDataType.CreateDataType(); MultiNodeTreePickerDataType.CreateDataType(); UrlDataType.CreateDataType(); RichTextEsccStandardDataType.CreateDataType(); RichTextEsccWithFormattingDataType.CreateDataType(); RichTextAuthorNotesDataType.CreateDataType(); RichTextSingleLinkDataType.CreateDataType(); RichTextLinksListDataType.CreateDataType(); RichTextTwoListsOfLinksDataType.CreateDataType(); LatestDataType.CreateDataType(); LandingPageColumnsDataType.CreateDataType(); LandingPageDescriptionsDataType.CreateDataType(); UmbracoCodeFirstInitializer.CreateDataType(typeof(TopicPageLayoutDataType)); // Council Plan PriorityDataType.CreateDataType(); // Campaign templates UmbracoCodeFirstInitializer.CreateDataType(typeof(ColourPickerDataType)); UmbracoCodeFirstInitializer.CreateDataType(typeof(AlignmentDataType)); UmbracoCodeFirstInitializer.CreateDataType(typeof(ShareStyleDataType)); // Customer focus templates EmailAddressDataType.CreateDataType(); PhoneNumberDataType.CreateDataType(); LandingPageLayoutDataType.CreateLandingPageLayoutDataType(); OpeningHoursDataType.CreateDataType(); UkLocationDataType.CreateDataType(showEastingNorthing: false); // For recycling site document type ResponsibleAuthorityDataType.CreateDataType(); UmbracoCodeFirstInitializer.CreateDataType(typeof(WasteTypesDataType)); // Jobs document types UmbracoCodeFirstInitializer.CreateDataType(typeof(PublicOrRedeploymentDataType)); return(Request.CreateResponse(HttpStatusCode.Created)); } catch (Exception e) { e.ToExceptionless().Submit(); return(Request.CreateResponse(HttpStatusCode.InternalServerError)); } }
public static void Serialize(object value, out byte[] data, out CacheDataType dataType) { if (value == null) { throw new ArgumentNullException("value can not be null"); } byte[] test = value as byte[]; if (test != null) { if (test.Length == 0) { data = _emptyValue; dataType = CacheDataType.EmptyByteArray; } else { data = test; dataType = CacheDataType.Binary; } return; } TypeCode typecode = Type.GetTypeCode(value.GetType()); switch (typecode) { case TypeCode.Object: using (MemoryStream stream = new MemoryStream()) { BinaryFormatter ser = new BinaryFormatter(); ser.Serialize(stream, value); data = stream.ToArray(); dataType = CacheDataType.Object; } break; case TypeCode.Boolean: data = BitConverter.GetBytes((bool)value); dataType = CacheDataType.Boolean; break; case TypeCode.Int32: data = BitConverter.GetBytes((int)value); dataType = CacheDataType.Int32; break; case TypeCode.Int64: data = BitConverter.GetBytes((long)value); dataType = CacheDataType.Int64; break; case TypeCode.Single: data = BitConverter.GetBytes((float)value); dataType = CacheDataType.Single; break; case TypeCode.Double: data = BitConverter.GetBytes((double)value); dataType = CacheDataType.Double; break; case TypeCode.DateTime: data = BitConverter.GetBytes(((DateTime)value).ToBinary()); dataType = CacheDataType.DateTime; break; case TypeCode.String: data = Encoding.UTF8.GetBytes((string)value); if (data.Length == 0) { data = _emptyValue; dataType = CacheDataType.EmptyString; } else { dataType = CacheDataType.String; } break; default: throw new NotSupportedException("Not supported data type"); } }
public CacheKey(CacheDomain domain, CacheDataType type) { CacheDomain = domain.ToString(); CacheDataType = type.ToString(); Params = new List <CacheParam>(); }