Esempio n. 1
0
        /// <summary>
        /// Deserializes JSON string to template view model
        /// </summary>
        /// <param name="jsonString">JSON string to process</param>
        /// <returns>Template view model</returns>
        public static TemplateViewModel JsonToTemplate(string jsonString)
        {
            StringBuilder sb = new StringBuilder(jsonString);

            PreprocessJson(sb);
            jsonString = sb.ToString();

            OmrTemplate template;

            using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonString)))
            {
                DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(OmrTemplate));
                template = ser.ReadObject(ms) as OmrTemplate;
            }

            TemplateViewModel templateViewModel = TemplateConverter.ConvertModelToViewModel(template);

            return(templateViewModel);
        }
Esempio n. 2
0
        /// <summary>
        /// Serializes template into JSON string
        /// </summary>
        /// <param name="template">Template view model</param>
        /// <param name="isLocalSave">Indicates whether template is saved locally</param>
        /// <returns>JSON string</returns>
        public static string TemplateToJson(TemplateViewModel template, bool isLocalSave)
        {
            OmrTemplate templateModel = TemplateConverter.ConvertViewModelToModel(template, isLocalSave);

            string res;

            using (MemoryStream jsonStream = new MemoryStream())
            {
                DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(OmrTemplate));

                serializer.WriteObject(jsonStream, templateModel);
                byte[] json = jsonStream.ToArray();
                res = Encoding.UTF8.GetString(json, 0, json.Length);

                StringBuilder sb = new StringBuilder(res);
                PostprocessJson(sb);
                res = FormatJson(sb.ToString());
            }

            return(res);
        }