/// <summary> /// Aggiunge le immagini di un appunto /// </summary> internal static void AddImages(List<DBImage> listImage, DBAppunto appunto) { using (OmeopautaContext db = new OmeopautaContext()) { db.Appunti.Attach(appunto); foreach (DBImage item in listImage) { item.Appunto = appunto; if (item.ID == 0) //aggiungo le nuove immagini { moveImage(item, appunto); db.Images.Add(item); } } db.SaveChanges(); } }
internal static void DeleteImages(ImageGallery[] images) { using (OmeopautaContext db = new OmeopautaContext()) { foreach (ImageGallery item in images) { if (item.DBImg.ID == 0) continue; db.Images.Attach(item.DBImg); db.Images.Remove(item.DBImg); if (item.DBImg.tmpPath == null) { item.DeleteImage(); } } db.SaveChanges(); } }
internal static void InsertOrUpdate(DBAppunto appunto) { using (OmeopautaContext db = new OmeopautaContext()) { DBAppunto old = db.Appunti.FirstOrDefault<DBAppunto>(a => a.ID == appunto.ID); if ( old == null ) //aggiungo l'appunto { db.Appunti.Add(appunto); UpdateTags(db, appunto, null); } else // modifico quello esistente { string[] oldTags = null; //stacco l'appunto di test db.Entry(old).State = EntityState.Detached; oldTags = GetTags(db, old); db.Appunti.Attach(appunto); db.Entry(appunto).State = EntityState.Modified; UpdateTags(db, appunto, oldTags); } db.SaveChanges(); } }
/// <summary> /// Rimuove un appunto e le sue immagini /// </summary> /// <param name="appunti"></param> internal static void DeleteAppunto(List<DBAppunto> appunti) { using (OmeopautaContext db = new OmeopautaContext()) { foreach (DBAppunto item in appunti) { db.Appunti.Attach(item); DeleteDBImages(db, item.Images); RemoveTagsFrom(db, item); db.Appunti.Remove(item); } db.SaveChanges(); } }