public void TestUpdate() { ImageRecord ir; using (ZumpaDB db = new ZumpaDB()) { ir = new ImageRecord { File = "File", Link = "Link", Size = 12345, IsValid = true }; db.Images.InsertOnSubmit(ir); db.SubmitChanges(); } using (ZumpaDB db = new ZumpaDB()) { ir = db.Images.Where(e => "File".Equals(e.File)).SingleOrDefault(); Assert.IsNotNull(ir); ir.IsValid = false; db.SubmitChanges(); } using (ZumpaDB db = new ZumpaDB()) { ir = db.Images.Where(e => "File".Equals(e.File)).FirstOrDefault(); Assert.IsFalse(ir.IsValid); db.Images.DeleteOnSubmit(ir); db.SubmitChanges(); } }
/// <summary> /// Save record to db /// </summary> /// <param name="link"></param> /// <param name="file"></param> /// <param name="size"></param> private ImageRecord SaveLinkToDb(string link, string file, long size) { ImageRecord rec = new ImageRecord { Link = link, File = file, Size = size, IsValid = true }; ZumpaDB.Instance.Images.InsertOnSubmit(rec); ZumpaDB.Instance.SubmitChanges(); return rec; }
/// <summary> /// Call this if link doesn't target image /// </summary> /// <param name="link"></param> public void NotifyInvalidLink(string link) { ImageRecord item = null; if (_cache.TryGetValue(link, out item)) { if (item.IsValid) { item.IsValid = false; ZumpaDB.Instance.SubmitChanges(); } } else { //it was completely problem with loading ImageRecord ir = new ImageRecord{Link = link, File = "", Size = 0, IsValid = false}; _cache[link] = ir; ZumpaDB.Instance.Images.InsertOnSubmit(ir); ZumpaDB.Instance.SubmitChanges(); } }