public static T DeserializeFromBytes <T>(this IStringSerializer serializer, byte[] data, Encoding encoding = null)
        {
            var encoder = encoding ?? Encoding.UTF8;
            var str     = encoder.GetString(data, 0, data.Length);

            return(serializer.Deserialize <T>(str));
        }
        public static KnownPublicKeys Load(IDataStore store, IStringSerializer serializer)
        {
            if (store == null)
            {
                throw new ArgumentNullException("store");
            }
            if (serializer == null)
            {
                throw new ArgumentNullException("serializer");
            }

            string json = String.Empty;

            using (FileLock fileLock = New <FileLocker>().Acquire(store))
            {
                if (store.IsAvailable)
                {
                    using (StreamReader reader = new StreamReader(store.OpenRead(), Encoding.UTF8))
                    {
                        json = reader.ReadToEnd();
                    }
                }
            }
            KnownPublicKeys knownPublicKeys = serializer.Deserialize <KnownPublicKeys>(json);

            if (knownPublicKeys == null)
            {
                knownPublicKeys = new KnownPublicKeys();
            }
            knownPublicKeys._store      = store;
            knownPublicKeys._serializer = serializer;
            return(knownPublicKeys);
        }
        public static byte[] GetSerializedBytes(this IStringSerializer serializer, object obj, Encoding encoding = null)
        {
            var encoder = encoding ?? Encoding.UTF8;
            var str     = serializer.Serialize(obj);

            return(encoder.GetBytes(str));
        }
Beispiel #4
0
        private System.IO.MemoryStream Generacion(string Titulo, String nombreCalendario, DateTime fechayHoraInicio, Int32 duracionEnMinutos, string ubicacion)
        {
            DDay.iCal.iCalendar iCal = new DDay.iCal.iCalendar();
            // Create the event, and add it to the iCalendar
            Event evt = iCal.Create <Event>();

            // Set information about the event
            evt.Start       = new iCalDateTime(fechayHoraInicio);
            evt.End         = evt.Start.AddMinutes(duracionEnMinutos); // This also sets the duration
            evt.Description = String.Format("Agenda del día {0} a las {1}",
                                            fechayHoraInicio.ToString("dd 'de' MMM 'de' yyyy"),
                                            fechayHoraInicio.ToString("HH:MM")
                                            );
            evt.Location = ubicacion;
            evt.Summary  = Titulo;
            ISerializationContext ctx     = new SerializationContext();
            ISerializerFactory    factory = new DDay.iCal.Serialization.iCalendar.SerializerFactory();
            // Get a serializer for our object
            IStringSerializer serializer = factory.Build(iCal.GetType(), ctx) as IStringSerializer;
            string            output     = serializer.SerializeToString(iCal);
            var bytes = Encoding.UTF8.GetBytes(output);

            //return File(bytes, contentType, DownloadFileName);
            System.IO.MemoryStream data = new System.IO.MemoryStream(bytes);
            return(data);
        }
        /// <summary>
        /// Deserializes from bytes.
        /// </summary>
        /// <param name="serializer">The serializer.</param>
        /// <param name="data">The data.</param>
        /// <param name="type">The type.</param>
        /// <param name="encoding">The encoding.</param>
        /// <returns>System.Object.</returns>
        public static object DeserializeFromBytes(this IStringSerializer serializer, byte[] data, Type type, Encoding encoding = null)
        {
            var encoder = encoding ?? Encoding.UTF8;
            var str     = encoder.GetString(data, 0, data.Length);

            return(serializer.Deserialize(str, type));
        }
Beispiel #6
0
        public ActionResult ICalendar(string shortcut, Guid hallID, string accessToken)
        {
            var iCal = new iCalendar();

            var studio = _context.Photostudios.Single(x => x.Shortcut == shortcut);

            var hall = studio.Halls.Single(x => x.ID == hallID);

            foreach (var @event in hall.Calendar.Events)
            {
                var evt = iCal.Create <DDay.iCal.Event>();

                // Set information about the event
                evt.Start       = new iCalDateTime(@event.Start);
                evt.End         = new iCalDateTime(@event.End); // This also sets the duration
                evt.Description = @event.Description;
                evt.Location    = hall.Photostudio.Adress;
                evt.Summary     = "18 hour event summary";
                evt.UID         = @event.ID.ToString();
            }

            // Create a serialization context and serializer factory.
            // These will be used to build the serializer for our object.
            ISerializationContext ctx     = new SerializationContext();
            ISerializerFactory    factory = new DDay.iCal.Serialization.iCalendar.SerializerFactory();
            // Get a serializer for our object
            IStringSerializer serializer = factory.Build(iCal.GetType(), ctx) as IStringSerializer;

            string output      = serializer.SerializeToString(iCal);
            var    contentType = "text/calendar";
            var    bytes       = Encoding.UTF8.GetBytes(output);

            return(File(bytes, contentType, hallID + ".ics"));
        }
 protected override void Context()
 {
     _serializationManager       = A.Fake <IStringSerializer>();
     _defaultApplicationSettings = A.Fake <IApplicationSettings>();
     _pkSimConfiguration         = A.Fake <IPKSimConfiguration>();
     sut = new ApplicationSettingsPersistor(_serializationManager, _defaultApplicationSettings, _pkSimConfiguration);
 }
Beispiel #8
0
        public override string SerializeToString(object obj)
        {
            IPeriodList        rdt     = obj as IPeriodList;
            ISerializerFactory factory = GetService <ISerializerFactory>();

            if (rdt != null && factory != null)
            {
                IStringSerializer dtSerializer     = factory.Build(typeof(IDateTime), SerializationContext) as IStringSerializer;
                IStringSerializer periodSerializer = factory.Build(typeof(IPeriod), SerializationContext) as IStringSerializer;
                if (dtSerializer != null && periodSerializer != null)
                {
                    List <string> parts = new List <string>();

                    foreach (IPeriod p in rdt)
                    {
                        if (p.EndTime != null)
                        {
                            parts.Add(periodSerializer.SerializeToString(p));
                        }
                        else if (p.StartTime != null)
                        {
                            parts.Add(dtSerializer.SerializeToString(p.StartTime));
                        }
                    }

                    return(Encode(rdt, string.Join(",", parts.ToArray())));
                }
            }
            return(null);
        }
 public UserSettingsPersistor(IStringSerializer stringSerializer, IUserSettings defaultUserSettings,
                              IPKSimConfiguration configuration)
 {
     _stringSerializer    = stringSerializer;
     _defaultUserSettings = defaultUserSettings;
     _configuration       = configuration;
 }
 public CalDavRepository(ICalDavDataAccess calDavDataAccess, IStringSerializer calendarSerializer, EntityType entityType, IDateTimeRangeProvider dateTimeRangeProvider)
 {
     _calDavDataAccess      = calDavDataAccess;
     _calendarSerializer    = calendarSerializer;
     _entityType            = entityType;
     _dateTimeRangeProvider = dateTimeRangeProvider;
 }
Beispiel #11
0
        public ActionResult Calendar()
        {
            DDay.iCal.iCalendar iCal = new DDay.iCal.iCalendar();

            // Create the event, and add it to the iCalendar
            Event evt = iCal.Create <Event>();

            // Set information about the event
            evt.Start       = iCalDateTime.Today.AddHours(8);
            evt.End         = evt.Start.AddHours(18); // This also sets the duration
            evt.Description = "The event description";
            evt.Location    = "Event location";
            evt.Summary     = "18 hour event summary";

            // Set information about the second event
            evt          = iCal.Create <Event>();
            evt.Start    = iCalDateTime.Today.AddDays(5);
            evt.End      = evt.Start.AddDays(1);
            evt.IsAllDay = true;
            evt.Summary  = "All-day event";

            // Create a serialization context and serializer factory.
            // These will be used to build the serializer for our object.
            ISerializationContext ctx     = new SerializationContext();
            ISerializerFactory    factory = new DDay.iCal.Serialization.iCalendar.SerializerFactory();
            // Get a serializer for our object
            IStringSerializer serializer = factory.Build(iCal.GetType(), ctx) as IStringSerializer;

            string output      = serializer.SerializeToString(iCal);
            var    contentType = "text/calendar";
            var    bytes       = Encoding.UTF8.GetBytes(output);

            return(File(bytes, contentType, "calendar.ics"));
        }
Beispiel #12
0
        public static bool CanSerializeString <T>(this IStringSerializer serializer, T item)
        {
            var text = serializer.Serialize(item);

            var obj = serializer.Deserialize <T>(text);

            return(obj.Equals(item));
        }
Beispiel #13
0
 private static IICalendar DeserializeCalendar(string iCalData, IStringSerializer calendarSerializer)
 {
     using (var reader = new StringReader(iCalData))
     {
         var calendarCollection = (iCalendarCollection)calendarSerializer.Deserialize(reader);
         return(calendarCollection[0]);
     }
 }
 public LabelQuery(IStringSerializer stringSerializer, string queryText, string owner, string repository, string pageId)
 {
     this.stringSerializer = stringSerializer;
     this.queryText        = queryText;
     this.owner            = owner;
     this.repository       = repository;
     this.pageId           = pageId;
 }
Beispiel #15
0
 public LocalStatusWriter(
     IFileManager fileManager,
     IStringSerializer <EncounterContentStatus> contentStatusSerializer,
     IStringSerializer <KeyValuePair <int, EncounterBasicStatus> > basicStatusSerializer)
 {
     FileManager             = fileManager;
     ContentStatusSerializer = contentStatusSerializer;
     BasicStatusSerializer   = basicStatusSerializer;
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="HybridWebView"/> class.
        /// </summary>
        /// <remarks>HybridWebView will use either <see cref="IJsonSerializer"/> configured
        /// with IoC or if missing it will use <see cref="SystemJsonSerializer"/> by default.</remarks>
        public HybridWebView()
        {
            if (!Resolver.IsSet || (this.jsonSerializer = Resolver.Resolve <IJsonSerializer>()) == null)
            {
                this.jsonSerializer = new SystemJsonSerializer();
            }

            this.registeredActions = new Dictionary <string, Action <string> >();
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="HybridWebView"/> class.
        /// </summary>
        /// <remarks>HybridWebView will use either <see cref="IJsonSerializer"/> configured
        /// with IoC or if missing it will use <see cref="SystemJsonSerializer"/> by default.</remarks>
        public HybridWebView()
        {
            if (!Resolver.IsSet || (this.jsonSerializer = Resolver.Resolve<IJsonSerializer>()) == null)
            {
                this.jsonSerializer = new SystemJsonSerializer();
            }

            this.registeredActions = new Dictionary<string, Action<string>>();
        }
Beispiel #18
0
 public CrossProjectQueries(
     ILogger <BasicQueries <T> > logger,
     IStoragePathResolver <T> pathResolver,
     IStringSerializer <T> serializer,
     IStoragePathOptionsResolver storageOptionsResolver
     ) : base(logger, pathResolver, serializer)
 {
     this.storageOptionsResolver = storageOptionsResolver;
 }
Beispiel #19
0
        public override object Deserialize(TextReader tr)
        {
            string value = tr.ReadToEnd();

            ITrigger t = CreateAndAssociate() as ITrigger;

            if (t != null)
            {
                // Push the trigger onto the serialization stack
                SerializationContext.Push(t);
                try
                {
                    // Decode the value as needed
                    value = Decode(t, value);

                    // Set the trigger relation
                    if (t.Parameters.ContainsKey("RELATED") &&
                        t.Parameters.Get("RELATED").Equals("END"))
                    {
                        t.Related = TriggerRelation.End;
                    }

                    ISerializerFactory factory = GetService <ISerializerFactory>();
                    if (factory != null)
                    {
                        Type valueType = t.GetValueType() ?? typeof(TimeSpan);
                        IStringSerializer serializer = factory.Build(valueType, SerializationContext) as IStringSerializer;
                        if (serializer != null)
                        {
                            StringReader reader = new StringReader(value);
                            object       obj    = serializer.Deserialize(reader);
                            reader.Dispose();

                            if (obj != null)
                            {
                                if (obj is IDateTime)
                                {
                                    t.DateTime = (IDateTime)obj;
                                }
                                else
                                {
                                    t.Duration = (TimeSpan)obj;
                                }

                                return(t);
                            }
                        }
                    }
                }
                finally
                {
                    // Pop the trigger off the serialization stack
                    SerializationContext.Pop();
                }
            }
            return(null);
        }
        public override string SerializeToString(object obj)
        {
            ICalendarComponent c = obj as ICalendarComponent;

            if (c != null)
            {
                StringBuilder sb = new StringBuilder();
                sb.Append(TextUtil.WrapLines("BEGIN:" + c.Name.ToUpper()));

                // Get a serializer factory
                ISerializerFactory sf = GetService <ISerializerFactory>();

                // Sort the calendar properties in alphabetical order before
                // serializing them!
                List <ICalendarProperty> properties = new List <ICalendarProperty>(c.Properties);

                // FIXME: remove this try/catch
                try
                {
                    properties.Sort(PropertySorter);
                }
                catch (Exception e)
                {
                    throw;
                }

                // Serialize properties
                foreach (ICalendarProperty p in properties)
                {
                    // Get a serializer for each property.
                    IStringSerializer serializer = sf.Build(p.GetType(), SerializationContext) as IStringSerializer;
                    if (serializer != null)
                    {
                        sb.Append(serializer.SerializeToString(p));
                    }
                }

                // Serialize child objects
                if (sf != null)
                {
                    foreach (ICalendarObject child in c.Children)
                    {
                        // Get a serializer for each child object.
                        IStringSerializer serializer = sf.Build(child.GetType(), SerializationContext) as IStringSerializer;
                        if (serializer != null)
                        {
                            sb.Append(serializer.SerializeToString(child));
                        }
                    }
                }

                sb.Append(TextUtil.WrapLines("END:" + c.Name.ToUpper()));
                return(sb.ToString());
            }
            return(null);
        }
Beispiel #21
0
        public byte[] ICalSerializeToBytes(iCalendar iCal, string filename)
        {
            ISerializationContext ctx        = new SerializationContext();
            ISerializerFactory    factory    = new SerializerFactory();
            IStringSerializer     serializer = factory.Build(iCal.GetType(), ctx) as IStringSerializer;

            string output = serializer.SerializeToString(iCal);

            return(Encoding.UTF8.GetBytes(output));
        }
 public MessageForwardingService(
     NotNullable<IStringSerializer> messageSerializer, 
     NotNullable<IServiceEvents> hostMediator,
     NotNullable<IMessageForwarderFactory> messageForwarderFactory)
 {
     _messageSerializer = messageSerializer.Value;
     _messageForwarderFactory = messageForwarderFactory.Value;
     _forwarders = new List<IMessageForwarder>();
     _hostMediator = hostMediator.Value;
 }
Beispiel #23
0
        public void TestDeserializeWithEnglishUsCulture()
        {
            IStringSerializer serializer = New <IStringSerializer>();
            string            json       = "{\r\n  \"messageCulture\": \"en-US\",\r\n  \"customMessage\": \"A message\"\r\n}".Replace("\r\n", Environment.NewLine);

            CustomMessageParameters parameters = serializer.Deserialize <CustomMessageParameters>(json);

            Assert.That(parameters.MessageCulture.ToString(), Is.EqualTo("en-US"));
            Assert.That(parameters.CustomMessage, Is.EqualTo("A message"));
        }
Beispiel #24
0
 public TemplateTaskQuery(ITemplateDatabase templateDatabase, IStringSerializer stringSerializer,
                          IObjectIdResetter objectIdResetter, IPKSimConfiguration pkSimConfiguration, ICoreUserSettings userSettings, ITemplateDatabaseConverter templateDatabaseConverter)
 {
     _objectIdResetter          = objectIdResetter;
     _pkSimConfiguration        = pkSimConfiguration;
     _userSettings              = userSettings;
     _templateDatabaseConverter = templateDatabaseConverter;
     _templateDatabase          = templateDatabase;
     _stringSerializer          = stringSerializer;
 }
Beispiel #25
0
        /// <summary>
        /// Initializes a new instance of the <see cref="HybridWebView" /> class.
        /// </summary>
        /// <remarks>HybridWebView will use either <see cref="IJsonSerializer" /> configured
        /// with IoC or if missing it will use <see cref="SystemJsonSerializer" /> by default.</remarks>
        public HybridWebView()
        {
            if (!Resolver.IsSet || (_jsonSerializer = Resolver.Resolve <IJsonSerializer>()) == null)
            {
                _jsonSerializer = new SystemJsonSerializer();
            }

            _registeredActions   = new Dictionary <string, Action <string> >();
            _registeredFunctions = new Dictionary <string, Func <string, object[]> >();
        }
Beispiel #26
0
        public override string SerializeToString(object obj)
        {
            IStringSerializer serializer = GetMappedSerializer();

            if (serializer != null)
            {
                return(serializer.SerializeToString(obj));
            }
            return(null);
        }
        /// <summary>
        /// Serializes to stream.
        /// </summary>
        /// <param name="obj">Object to serialize.</param>
        /// <param name="stream">Stream to serialize to.</param>
        public static void SerializeToStream(this IStringSerializer serializer, object obj, Stream stream)
        {
            var streamWriter = new StreamWriter(stream)
            {
                AutoFlush = true
            };

            var str = serializer.Serialize(obj);

            streamWriter.Write(str);
        }
 protected override void Context()
 {
     _userSettings         = A.Fake <IUserSettings>();
     _defaultUserSettings  = A.Fake <IUserSettings>();
     _serializationManager = A.Fake <IStringSerializer>();
     _pkSimConfiguration   = A.Fake <IPKSimConfiguration>();
     A.CallTo(() => _pkSimConfiguration.UserSettingsFilePath).Returns("blah");
     _validUserConfigXml = "<UserConfig/>";
     A.CallTo(() => _serializationManager.Serialize(_userSettings)).Returns(_validUserConfigXml);
     sut = new UserSettingsPersistor(_serializationManager, _defaultUserSettings, _pkSimConfiguration);
 }
Beispiel #29
0
        protected void SerializeValue(ISerializerFactory sf, ICalendarProperty prop, Type valueType, object v, StringBuilder result)
        {
            // Get a serializer to serialize the property's value.
            // If we can't serialize the property's value, the next step is worthless anyway.
            IStringSerializer valueSerializer = sf.Build(valueType, SerializationContext) as IStringSerializer;

            if (valueSerializer != null)
            {
                // Iterate through each value to be serialized,
                // and give it a property (with parameters).
                // FIXME: this isn't always the way this is accomplished.
                // Multiple values can often be serialized within the
                // same property.  How should we fix this?

                // NOTE:
                // We Serialize the property's value first, as during
                // serialization it may modify our parameters.
                // FIXME: the "parameter modification" operation should
                // be separated from serialization. Perhaps something
                // like PreSerialize(), etc.
                string value = valueSerializer.SerializeToString(v);

                // Get the list of parameters we'll be serializing
                ICalendarParameterCollection parameterList = prop.Parameters;
                if (v is ICalendarDataType)
                {
                    parameterList = ((ICalendarDataType)v).Parameters;
                }

                StringBuilder sb = new StringBuilder(prop.Name);
                if (parameterList.Any())
                {
                    // Get a serializer for parameters
                    IStringSerializer parameterSerializer = sf.Build(typeof(ICalendarParameter), SerializationContext) as IStringSerializer;
                    if (parameterSerializer != null)
                    {
                        // Serialize each parameter
                        List <string> parameters = new List <string>();
                        foreach (ICalendarParameter param in parameterList)
                        {
                            parameters.Add(parameterSerializer.SerializeToString(param));
                        }

                        // Separate parameters with semicolons
                        sb.Append(";");
                        sb.Append(string.Join(";", parameters.ToArray()));
                    }
                }
                sb.Append(":");
                sb.Append(value);

                result.Append(TextUtil.WrapLines(sb.ToString()));
            }
        }
        public AzureTableCacheClient(string ConnectionString, string tableName = "Cache")
        {
            connectionString = ConnectionString;
            CloudStorageAccount storageAccount = CloudStorageAccount.Parse(connectionString);
            CloudTableClient    tableClient    = storageAccount.CreateCloudTableClient();

            table = tableClient.GetTableReference(tableName);
            table.CreateIfNotExists();

            serializer = new JsonStringSerializer();
        }
Beispiel #31
0
        public void TestSerializeWithEnglishUsCulture()
        {
            IStringSerializer serializer = New <IStringSerializer>();

            CustomMessageParameters parameters;
            string json;

            parameters = new CustomMessageParameters(CultureInfo.CreateSpecificCulture("en-US"), "A message");
            json       = serializer.Serialize(parameters);

            Assert.That(json, Is.EqualTo("{\r\n  \"messageCulture\": \"en-US\",\r\n  \"customMessage\": \"A message\"\r\n}".Replace("\r\n", Environment.NewLine)));
        }
Beispiel #32
0
        public void TestCrossFrameworkPclCultureInfoSerialization()
        {
            IStringSerializer serializer = New <IStringSerializer>();

            CustomMessageParameters parameters;
            string json;

            parameters = new CustomMessageParameters(CultureInfo.CreateSpecificCulture("en-US"), "A message");
            json       = serializer.Serialize(parameters.MessageCulture);

            Assert.That(json, Is.EqualTo("\"en-US\""));
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="HybridWebView" /> class.
        /// </summary>
        /// <exception cref="Exception">Exception when there is no <see cref="IJsonSerializer"/> implementation registered.</exception>
        /// <remarks>HybridWebView will use <see cref="IJsonSerializer" /> configured
        /// with <see cref="Resolver"/> or <see cref="DependencyService"/>. System JSON serializer was removed due to Xamarin
        /// requirement of having a business license or higher.</remarks>
        public HybridWebView()
        {
            if (!Resolver.IsSet || (this.jsonSerializer = Resolver.Resolve<IJsonSerializer>() ?? DependencyService.Get<IJsonSerializer>()) == null)
            {
#if BUSINESS_LICENSE
                _jsonSerializer = new SystemJsonSerializer();
#else
                throw new Exception("HybridWebView requires IJsonSerializer implementation to be registered.");
#endif
            }

            this.registeredActions = new Dictionary<string, Action<string>>();
            this.registeredFunctions = new Dictionary<string, Func<string, object[]>>();
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="UserAuthModelUnitOfWorkFactory"/> class.
 /// </summary>
 /// <param name="stringSerializer">The string serializer.</param>
 public UserAuthModelUnitOfWorkFactory(IStringSerializer stringSerializer)
 {
     serializer = stringSerializer;
 }
Beispiel #35
0
 /// <summary>
 /// Initializes a new instance of the <see cref="JsonRestServices"/> class with the specified
 /// logger, retry logic, URI builder, and string serializer.
 /// </summary>
 /// <param name="logger">The logger to use for requests. Specify <c>null</c> if requests do not need to be logged.</param>
 /// <param name="retryLogic">The retry logic to use for REST operations.</param>
 /// <param name="urlBuilder">The URL builder to use for constructing URLs with query parameters.</param>
 /// <param name="stringSerializer">The string serializer to use for requests from this service.</param>
 /// <exception cref="ArgumentNullException">
 /// If <paramref name="retryLogic"/> is <c>null</c>.
 /// <para>-or-</para>
 /// <para>If <paramref name="urlBuilder"/> is <c>null</c>.</para>
 /// <para>-or-</para>
 /// <para>If <paramref name="stringSerializer"/> is <c>null</c>.</para>
 /// </exception>
 public JsonRestServices(IRequestLogger logger, IRetryLogic<Response, HttpStatusCode> retryLogic, IUrlBuilder urlBuilder, IStringSerializer stringSerializer)
     : base(stringSerializer, logger, retryLogic, urlBuilder)
 {
 }
Beispiel #36
0
 /// <param name="serializer"><see cref="IStringSerializer"/> instance used by <see cref="ILogBase"/> implementation
 /// to serialize objects to the log.</param>
 public LogMessageGenerator(IStringSerializer serializer)
 {
     this.serializer = serializer;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="HybridWebView"/> class.
 /// </summary>
 /// <param name="jsonSerializer">
 /// The JSON serializer.
 /// </param>
 public HybridWebView(IJsonSerializer jsonSerializer)
 {
     this.jsonSerializer = jsonSerializer;
     this.registeredActions = new Dictionary<string, Action<string>>();
 }