public void cloneKP(cloneBase obj, bool start, int activity_id) { if (start) { List <ActivityExpenseCategory> activityExpenses_old = db.ActivityExpenseCategories.Where(x => x.activity_id == obj.id).ToList(); foreach (ActivityExpenseCategory arc in activityExpenses_old) { ActivityExpenseCategory activityExpense_new = db.ActivityExpenseCategories.Add(new ActivityExpenseCategory { activity_id = activity_id, office_id = arc.office_id, expense_category_name = arc.expense_category_name }); db.SaveChanges(); List <ActivityExpenseDetail> expenseDetails_old = db.ActivityExpenseDetails.Where(x => x.expense_category_id == arc.expense_category_id).ToList(); foreach (ActivityExpenseDetail ard in expenseDetails_old) { db.ActivityExpenseDetails.Add(new ActivityExpenseDetail { expense_category_id = activityExpense_new.expense_category_id, expense_price = ard.expense_price, expense_quantity = ard.expense_quantity, expense_type_id = ard.expense_type_id, note = ard.note }); } db.SaveChanges(); } } }
public void cloneContent(cloneBase obj, ArticleVersion av_new, int activity_id) { if (obj.content != null) { cloneKP(obj, obj.content.Contains("KP"), activity_id); cloneDTC(obj, obj.content.Contains("DTC"), activity_id); cloneND(obj, obj.content.Contains("ND"), activity_id, av_new); cloneTD(obj, obj.content.Contains("TD"), activity_id); } }
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); } } }
public void cloneTD(cloneBase obj, bool start, int activity_id) { if (start) { List <AcademicActivityPhase> activityPhaseOld = db.AcademicActivityPhases.Where(x => x.activity_id == obj.id).ToList(); foreach (AcademicActivityPhase aap in activityPhaseOld) { AcademicActivityPhase aap_new = db.AcademicActivityPhases.Add(new AcademicActivityPhase { created_by = 1, activity_id = activity_id }); db.SaveChanges(); Form f_old = db.Forms.Where(x => x.phase_id == aap.phase_id).FirstOrDefault(); Form f_new = db.Forms.Add(new Form { phase_id = aap_new.phase_id, title = f_old.title, title_description = f_old.title_description }); db.SaveChanges(); List <Question> ques_old = db.Questions.Where(x => x.form_id == f_old.form_id).ToList(); foreach (Question q in ques_old) { db.Questions.Add(new Question { answer_type_id = q.answer_type_id, is_compulsory = q.is_compulsory, title = q.title, form_id = f_new.form_id }); } db.SaveChanges(); List <AcademicActivityPhaseLanguage> activityPhaseLanguages_old = db.AcademicActivityPhaseLanguages.Where(x => x.phase_id == aap.phase_id).ToList(); foreach (AcademicActivityPhaseLanguage aapl in activityPhaseLanguages_old) { db.AcademicActivityPhaseLanguages.Add(new AcademicActivityPhaseLanguage { language_id = aapl.language_id, phase_name = aapl.phase_name, phase_id = aap_new.phase_id }); } db.SaveChanges(); } } }