public bool updateBaseAA(int id, int activity_type_id, string activity_name, string location, string from, string to) { using (DbContextTransaction transaction = db.Database.BeginTransaction()) { try { ENTITIES.AcademicActivity aa = db.AcademicActivities.Find(id); aa.activity_date_start = DateTime.ParseExact(from, "dd/MM/yyyy", CultureInfo.InvariantCulture); aa.activity_date_end = DateTime.ParseExact(to, "dd/MM/yyyy", CultureInfo.InvariantCulture); aa.activity_type_id = activity_type_id; db.Entry(aa).State = EntityState.Modified; db.SaveChanges(); AcademicActivityLanguage al = db.AcademicActivityLanguages.Where(x => x.activity_id == id && x.language_id == 1).FirstOrDefault(); al.location = location; db.Entry(al).State = EntityState.Modified; db.SaveChanges(); ActivityInfo ai = db.ActivityInfoes.Where(x => x.activity_id == id && x.main_article == true).FirstOrDefault(); ArticleVersion av = db.ArticleVersions.Where(x => x.article_id == ai.article_id && x.language_id == 1).FirstOrDefault(); av.version_title = activity_name; db.SaveChanges(); transaction.Commit(); return(true); } catch (Exception) { transaction.Rollback(); return(false); } } }
public bool clone(cloneBase obj) { using (DbContextTransaction transaction = db.Database.BeginTransaction()) { try { ENTITIES.AcademicActivity aa = db.AcademicActivities.Add(new ENTITIES.AcademicActivity { activity_type_id = obj.activity_type_id, activity_date_start = DateTime.ParseExact(obj.from, "dd/MM/yyyy", CultureInfo.InvariantCulture), activity_date_end = DateTime.ParseExact(obj.to, "dd/MM/yyyy", CultureInfo.InvariantCulture) }); db.SaveChanges(); db.AcademicActivityLanguages.Add(new ENTITIES.AcademicActivityLanguage { language_id = 1, activity_id = aa.activity_id, location = obj.location }); Article ar = db.Articles.Add(new ENTITIES.Article { account_id = 1, article_status_id = 1, need_approved = false }); db.SaveChanges(); db.ActivityInfoes.Add(new ENTITIES.ActivityInfo { activity_id = aa.activity_id, article_id = ar.article_id, main_article = true }); ArticleVersion av_new = db.ArticleVersions.Add(new ENTITIES.ArticleVersion { article_id = ar.article_id, publish_time = DateTime.Now, version_title = obj.activity_name, language_id = 1, article_content = "" }); db.SaveChanges(); int activity_id = aa.activity_id; cloneContent(obj, av_new, activity_id); transaction.Commit(); return(true); } catch (Exception e) { transaction.Rollback(); return(false); } } }