Beispiel #1
0
        public void Save(DataSet ds)
        {
            DACultureResources oDACr = new DACultureResources();
            DataRow            drTrainingTemplate = null;

            using (System.Data.Common.DbTransaction transaction = oDACr.CreateTransaction())
            {
                try
                {
                    drTrainingTemplate = ds.Tables[Entities.TrainingTemplate.TABLE_NAME].Rows[0];
                    DATrainingTemplate          oDATrainingTemplate = new DATrainingTemplate();
                    DATrainingTempFinesOnAbsent oDAFines            = new DATrainingTempFinesOnAbsent();
                    DATrainingTemplatePlan      oDAPlan             = new DATrainingTemplatePlan();


                    //Saving culture resources for TrainingTemplate desc:Start

                    DataTable dtTrainingTemplateDescCr = ds.Tables[Enumaration.ManageTrainingTemplateKeys.DT_TrainingTemplateDescriptionCultureRes];

                    oDACr.PersistCultureResource(dtTrainingTemplateDescCr, transaction);
                    drTrainingTemplate[Entities.TrainingTemplate.DESCRIPTION] = (Int64)dtTrainingTemplateDescCr.Rows[0][Entities.CultureResources.ID];

                    //Saving culture resources for TrainingTemplate desc:Finish

                    //Saving culture resources for TrainingTemplate name:Start

                    DataTable dtTrainingTemplateNameCr = ds.Tables[Enumaration.ManageTrainingTemplateKeys.DT_TrainingTemplateNameCultureRes];

                    oDACr.PersistCultureResource(dtTrainingTemplateNameCr, transaction);
                    drTrainingTemplate[Entities.TrainingTemplate.TRAINING_NAME] = (Int64)dtTrainingTemplateNameCr.Rows[0][Entities.CultureResources.ID];

                    //Saving culture resources for TrainingTemplate name:Finish


                    //Saving TrainingTemplate Start

                    oDATrainingTemplate.SaveTrainingTemplate(transaction, drTrainingTemplate);
                    string TrainingTemplateId = drTrainingTemplate[Entities.TrainingTemplate.TRAINING_TEMP_ID].ToString();
                    //Saving TrainingTemplate Finish

                    //Saving TrainingTemplate Fine Start

                    DataTable dtTrainingTemplateMaterial = ds.Tables[Entities.TrainingTempFinesOnAbsent.TABLE_NAME];
                    oDAFines.DeleteTrainingTempFinesOnAbsentForTrainingTempId(transaction, TrainingTemplateId);
                    foreach (DataRow row in dtTrainingTemplateMaterial.Rows)
                    {
                        row[Entities.TrainingTempFinesOnAbsent.TEMP_FINES_ABSENT_ID] = DBNull.Value;
                        row[Entities.TrainingTempFinesOnAbsent.TRAINING_TEMP_ID]     = int.Parse(TrainingTemplateId);
                        oDAFines.SaveFinesOnAbsent(transaction, row);
                    }

                    //Saving TrainingTemplate Fine Finish

                    //Saving TrainingTemplate Plan Start

                    DataTable dtPlan = ds.Tables[Entities.TrainingTemplatePlan.TABLE_NAME];
                    oDAPlan.DeleteTrainingTemplatePlanForTrainingTempId(transaction, TrainingTemplateId);
                    foreach (DataRow row in dtPlan.Rows)
                    {
                        row[Entities.TrainingTemplatePlan.TEMPLATE_PLAN_ID] = DBNull.Value;
                        row[Entities.TrainingTemplatePlan.TRAINING_TEMP_ID] = int.Parse(TrainingTemplateId);
                        oDAPlan.SavePlan(transaction, row);
                    }

                    //Saving TrainingTemplate Plan  Finish

                    oDACr.CommitTransaction(transaction);
                }

                catch (Exception ex)
                {
                    oDACr.RollbackTransaction(transaction);
                    throw ex;
                }
            }
            if (drTrainingTemplate != null)
            {
                PersistTrainingXML(drTrainingTemplate);
            }
        }