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); }
private WTPComponent CreateComponent(Hashtable WTPs, IWTPCOMPONENT WTPComponent) { Wtp plan = (Wtp)WTPs[WTPComponent.WTP_ID.Value]; WTPComponent newComponent = plan.Components.Add(WTPComponent, true); return(newComponent); }
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); }
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); }
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); }
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(); } }
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); }
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); } }