예제 #1
0
 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();
         }
     }
 }
예제 #2
0
 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);
     }
 }
예제 #3
0
 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);
         }
     }
 }
예제 #4
0
 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();
         }
     }
 }