public static TemplateBox GetTemplates() { var templates = GetTemplatesFromRemoteServer(); templates.Items.Add(new Template() { StringId = DefaultTemplateId, Name = Resources.Resource.Admin_Templates_DefaultTemplate, IsInstall = true, PreviewImage = "../images/design/preview.png", Active = true }); foreach (var templateFolder in Directory.GetDirectories(SettingsGeneral.AbsolutePath + "Templates")) { if (File.Exists(templateFolder + "\\MasterPage.master")) { var stringId = templateFolder.Split('\\').Last(); var curTemplate = templates.Items.Find(t => t.StringId == stringId.ToLower()); if (curTemplate != null) { curTemplate.IsInstall = true; curTemplate.Active = true; curTemplate.PreviewImage = File.Exists(templateFolder + "\\images\\design\\preview.png") ? "../templates/" + stringId + "/images/design/preview.png" : string.Empty; } else { templates.Items.Add(new Template { StringId = stringId, Name = stringId, IsInstall = true, Active = true, PreviewImage = File.Exists(templateFolder + "\\images\\design\\preview.png") ? "../templates/" + stringId + "/images/design/preview.png" : string.Empty }); } } } templates.Items = templates.Items.OrderBy(t => t.Name).OrderByDescending(t => t.IsInstall).ToList(); var resultTemplateBox = new TemplateBox() { Message = templates.Message, Items = new List<Template>() }; resultTemplateBox.Items.Add(templates.Items.FirstOrDefault(t => t.StringId == SettingsDesign.Template)); resultTemplateBox.Items.AddRange(templates.Items.Where(t => t.StringId != SettingsDesign.Template)); return resultTemplateBox; }
private static TemplateBox GetTemplatesFromRemoteServer() { var templateBox = new TemplateBox() { Items = new List<Template>() }; try { var request = WebRequest.Create(string.Format(RequestUrlGetTemplates, SettingsLic.LicKey)); request.Method = "GET"; using (var dataStream = request.GetResponse().GetResponseStream()) using (var reader = new StreamReader(dataStream)) { var responseFromServer = reader.ReadToEnd(); if (!string.IsNullOrEmpty(responseFromServer)) { templateBox = JsonConvert.DeserializeObject<TemplateBox>(responseFromServer); } } } catch (Exception ex) { Debug.LogError(ex); } return templateBox; }