public DynamicTableObject[] take(int count) { var query = new IndexedDB.Dynamic.Query(this.ktable.table); if (!string.IsNullOrEmpty(this.SearchCondition)) { var filter = query.ParserFilter(this.SearchCondition); query.items = filter; } else { //throw new Exception("You do not any search condition"); } if (!string.IsNullOrEmpty(this.OrderByField)) { if (this.Ascending) { query.OrderByAscending(this.OrderByField); } else { query.OrderByDescending(this.OrderByField); } } var result = query.Skip(this.skipcount).Take(count).ToArray(); return(DynamicTableObject.CreateList(result, this.ktable.table, this.ktable.context)); }
public static DynamicTableObject[] CreateList(IDictionary <string, object>[] list, Table TargetTable, RenderContext context) { int len = list.Length; DynamicTableObject[] result = new DynamicTableObject[len]; for (int i = 0; i < len; i++) { result[i] = Create(list[i], TargetTable, context); } return(result); }
public void DeleteTemplate(DynamicTableObject obj) { var oldtemplate = obj.Values; var filePath = GetFilePath(oldtemplate["id"].ToString()); if (System.IO.File.Exists(filePath)) { System.IO.File.Delete(filePath); } var images = JsonHelper.Deserialize <List <string> >(oldtemplate["images"].ToString()); foreach (var item in images) { string fullimagefile = System.IO.Path.Combine(ImagePath, item); if (System.IO.File.Exists(fullimagefile)) { System.IO.File.Delete(fullimagefile); } } Sites.Service.WebSiteService.Delete(Guid.Parse(oldtemplate["siteId"].ToString())); }
public Dictionary <string, object> UpdateTemplate(string domain, byte[] postData, DynamicTableObject obj) { var oldTemplate = obj.Values; IndexedDB.Serializer.Simple.SimpleConverter <TemplateUpdateModel> converter = new IndexedDB.Serializer.Simple.SimpleConverter <TemplateUpdateModel>(); var model = converter.FromBytes(postData); var hash = Lib.Security.Hash.ComputeGuid(model.Bytes); var userId = oldTemplate["userId"]; if (hash != model.ByteHash || model.UserId.ToString() != userId.ToString()) { return(null); } oldTemplate["link"] = model.Link; oldTemplate["description"] = model.Description; oldTemplate["tags"] = model.Tags; oldTemplate["lastModified"] = DateTime.UtcNow; oldTemplate["lastModifiedTimeStamp"] = DateTime.UtcNow.Ticks; var existImages = new List <string>(); if (oldTemplate["images"] != null && !string.IsNullOrEmpty(oldTemplate["images"].ToString())) { var oldlist = Kooboo.Lib.Helper.JsonHelper.Deserialize <List <string> >(oldTemplate["images"].ToString()); var newlist = JsonHelper.Deserialize <List <string> >(model.Images); existImages = clearImagePath(oldlist, newlist); } var images = new List <ScreenshotImage>(); if (model.Bytes != null && model.Bytes.Length > 0) { Guid oldsiteid = model.Id; // there is a change of zip. File.WriteAllBytes(GetFilePath(model.Id.ToString()), model.Bytes); oldTemplate["size"] = model.Bytes.Length; // update to preview sites. var siteDb = ImportBinary(domain, model.Bytes, oldTemplate); if (model.NewImages.Count == 0 && existImages.Count() == 0) { images = GetScreenshotImages(siteDb); } // remove the old site. Sites.Service.WebSiteService.Delete(oldsiteid); } foreach (var image in model.NewImages) { images.Add(new ScreenshotImage { Base64 = image.Base64, FileName = Guid.NewGuid().ToString().Replace("-", "") + Kooboo.Lib.Helper.UrlHelper.FileExtension(image.FileName) }); } var imagelist = new List <string>(); foreach (var image in images) { string relativeurl = image.FileName; var filepath = GetImagePath(relativeurl); File.WriteAllBytes(filepath, image.Bytes); imagelist.Add(relativeurl); } existImages.AddRange(imagelist); oldTemplate["images"] = existImages.ToArray(); oldTemplate["thumbNail"] = existImages.Count > 0 ? existImages[0] : ""; return(oldTemplate); }
public DynamicTableObject find(string field, object value) { var obj = this.table.Query.Where(field, IndexedDB.Query.Comparer.EqualTo, value).FirstOrDefault(); return(DynamicTableObject.Create(obj, this.table, this.context)); }
public DynamicTableObject find(string searchCondition) { var result = this.table.Query.Find(searchCondition); return(DynamicTableObject.Create(result, this.table, this.context)); }
public DynamicTableObject[] all() { var all = this.table.All(); return(DynamicTableObject.CreateList(all.ToArray(), this.table, this.context)); }
public DynamicTableObject get(object id) { var obj = this.table.Get(id); return(DynamicTableObject.Create(obj, this.table, this.context)); }
public DynamicTableObject[] findAll(string condition) { var list = this.table.Query.FindAll(condition); return(DynamicTableObject.CreateList(list.ToArray(), this.table, this.context)); }
public DynamicTableObject[] findAll(string field, object value) { var list = this.table.Query.Where(field, IndexedDB.Query.Comparer.EqualTo, value).SelectAll(); return(DynamicTableObject.CreateList(list.ToArray(), this.table, this.context)); }