Ejemplo n.º 1
0
        public bool CheckImportFile(Wtp plan, XDocument xdoc, out string errorMessage)
        {
            var StudyPlan      = xdoc.Root.Element(XmlConst.diffgram).Element(XmlConst.dsMMISDB);
            var SpecialityCode = StudyPlan.Element(XmlConst.OOP).Attribute("Шифр").Value;
            var ModeEducID     = StudyPlan.Element(XmlConst.Plans).Attribute("КодФормыОбучения").Value;
            var StudYearID     = WtpPresenter.GetStudYearIDByYear(StudyPlan.Element(XmlConst.Plans).Attribute("ГодНачалаПодготовки").Value);

            errorMessage = "Не совпадает";
            bool error = false;

            //if(plan.DataRow.SPECIALITY_NUMB != SpecialityCode.Trim())  //поправить ошибку
            //{
            //    errorMessage += " код специальности,";
            //    error = true;
            //}

            if (plan.DataRow.MODEEDUC_ID != Convert.ToInt64(ModeEducID))
            {
                errorMessage += " форма обучения,";
                error         = true;
            }

            var FormEduc = StudyPlan.Element(XmlConst.Plans).Attribute("Сокращённое").Value;

            if (plan.DataRow.FORMEDUC_ID != ImportConverter.GetFormEducId(FormEduc))
            {
                errorMessage += " полный или сокращенный срок обучения,";
                error         = true;
            }
            errorMessage = errorMessage.TrimEnd(',') + ".";

            return(error);
        }
Ejemplo n.º 2
0
        private WTPComponent CreateComponent(Hashtable WTPs, IWTPCOMPONENT WTPComponent)
        {
            Wtp plan = (Wtp)WTPs[WTPComponent.WTP_ID.Value];

            WTPComponent newComponent = plan.Components.Add(WTPComponent, true);

            return(newComponent);
        }
Ejemplo n.º 3
0
        private WTPRow CreateWTPRow(Hashtable WTPs, Hashtable Components, IWTPROW WTPRow)
        {
            Wtp plan = (Wtp)WTPs[WTPRow.WTP_ID.Value];

            WTPRow newRow = plan.Rows.Add(WTPRow, true);

            newRow.Component = (WTPComponent)Components[WTPRow.WTPCOMPONENT_ID.Value];
            return(newRow);
        }
Ejemplo n.º 4
0
        public Wtp CreateWtp()
        {
            if (Plan != null)
            {
                throw new Exception("План уже создан");
            }
            IWTP newPlan = DbManager.CreateRow <IWTP>();
            Wtp  plan    = new Wtp(newPlan);

            Plan = plan;

            var paramRows = DbManager.GetRowsInternal <IWTPPARAM>();

            foreach (var row in paramRows)
            {
                Plan.Params.Add(row);
            }

            return(plan);
        }
Ejemplo n.º 5
0
        public Wtp[] CreateWTPs()
        {
            Hashtable hashtableWtps = InternalCreateWTPs();

            Hashtable hashtableComponents = CreateComponents(hashtableWtps);

            Hashtable hashtableRows = CreateRows(hashtableWtps, hashtableComponents);

            Hashtable hashtableSemesters = CreateSemesters(hashtableRows);

            Hashtable hashtableValues = CreateValues(hashtableRows);

            Check(hashtableWtps);
            hashRows.Clear();
            //Готовим возвращаемые данные (массив планов)
            Wtp[] wtps = new Wtp[hashtableWtps.Values.Count];
            hashtableWtps.Values.CopyTo(wtps, 0);

            return(wtps);
        }
Ejemplo n.º 6
0
 private void Check(Hashtable WTPs)
 {
     foreach (DictionaryEntry de in WTPs)
     {
         Wtp      wtp        = (Wtp)de.Value;
         WTPRow[] sortedRows = wtp.Rows.OrderBy(r => r, WTPRowComparer.Instance).ToArray();
         for (int i = 0; i < sortedRows.Length; i++)
         {
             //if (sortedRows[i].DataRow.WTPROW_SORTINDEX != i)
             //    sortedRows[i].DataRow.WTPROW_SORTINDEX = i;
         }
         WTPComponent[] sortedComponents = wtp.Components.OrderBy(c => c, WTPComponentComparer.Instance).ToArray();
         for (int i = 0; i < sortedComponents.Length; i++)
         {
             //if (sortedComponents[i].DataRow.WTPCOMPONENT_SORTINDEX != i)
             //    sortedComponents[i].DataRow.WTPCOMPONENT_SORTINDEX = i;
         }
         wtp.Variations.Refresh();
     }
 }
Ejemplo n.º 7
0
        private Wtp CreateWTP(IWTP WTPRow)
        {
            Wtp wtp = GetWTPObject(WTPRow);

            if (wtp.Factory == null)
            {
                wtp.Factory = Factory;
            }

            wtp.Init(WTPRow);

            //Создание учебных колонок
            //Колонки созадем до страниц, так как там они уже нужны
            var paramRows = GetRowsInternal <IWTPPARAM>();

            foreach (var row in paramRows)
            {
                wtp.Params.Add(row);
            }

            return(wtp);
        }
Ejemplo n.º 8
0
        private void button1_Click(object sender, EventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();

            if (ofd.ShowDialog() != DialogResult.OK)
            {
                return;
            }

            var SpecialFaculty = 1231;
            //var Speciality = 50;
            var StudYear          = 22;
            var FormEduc          = 1;
            var ModeEduc          = 1;
            var StudYearIDVersion = 22;


            //var WTP = DBManager.GetDataSourse<IWTP>().Rows.Cast<IWTP>().
            //     Where(r => r.SPECIALFACULTY_ID == SpecialFaculty).
            //     Where(r => r.STUDYEAR_ID == StudYear).
            //     Where(r => r.FORMEDUC_ID == FormEduc).
            //     Where(r => r.MODEEDUC_ID == ModeEduc).
            //     Where(r => r.STUDYEAR_ID_VERSION == StudYearIDVersion);

            WtpPresenter planPresenter = new WtpPresenter();

            //if (WTP.Count() == 0) { }
            //{

            if (WTP_ID == null)
            {
                Wtp plan = planPresenter.CreateWtp();
                plan.DataRow.SPECIALFACULTY_ID = 1231;
                //plan.DataRow.SPECIALITY_ID = 50;
                plan.DataRow.STUDYEAR_ID         = 22;
                plan.DataRow.FORMEDUC_ID         = 1;
                plan.DataRow.MODEEDUC_ID         = 1;
                plan.DataRow.STUDYEAR_ID_VERSION = 22;
                planPresenter.Save();
                WTP_ID = (long)plan.DataRow.WTP_ID;
            }
            else
            {
                planPresenter.Load((long)WTP_ID);
                var plan = planPresenter.Plan;
            }



            ImportPlanExample importer = new ImportPlanExample();
            XDocument         xdoc     = XDocument.Load(ofd.FileName);


            //planPresenter.Load(1297);
            if (importer.CheckImportFile(planPresenter.Plan, xdoc, out string ErrorMessage))
            {
                if (MessageBox.Show(ErrorMessage + " Продолжить?", "Импорт УП", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.Cancel)
                {
                    return;
                }
            }

            if (!importer.Import(planPresenter, xdoc, out string ErrorMessage2))
            {
                MessageBox.Show(ErrorMessage);
            }
        }