public virtual void Fill() { this.PreFill(); this.dsUCENIKDataSet1 = new UCENIKDataSet(); this.m_StartRow = 0; this.Cursor = Cursors.WaitCursor; this.m_GridLoading = true; ThreadPool.QueueUserWorkItem(new WaitCallback(this.FillDataThread), Thread.CurrentPrincipal); }
public void Import2Ucenika(object sender, EventArgs e) { OpenFileDialog dialog = new OpenFileDialog { Title = "Please Select a File", InitialDirectory = @"C\:Desktop", Filter = "XML datoteke (*.xml)|*.xml|All files (*.*)|*.*", FileName = "" }; if (dialog.ShowDialog() == DialogResult.OK) { IEnumerator enumerator = null; string fileName = dialog.FileName.ToString(); DataSet set = new DataSet(); set.ReadXml(fileName); if (set.Tables[0] == null || set.Tables[1] == null) { Interaction.MsgBox("XML datoteka za importiranje učenika, nije pravilno formatirana!", MsgBoxStyle.OkOnly, null); return; } Ucenik[] ucenikArray = new Ucenik[set.Tables[1].Rows.Count + 1]; int index = 0; try { SqlClient client = new SqlClient(); int id_ucenik; try { id_ucenik = (int)client.ExecuteScalar("Select Max(IDUCENIK + 1) From UCENIK"); } catch { id_ucenik = 1; } enumerator = set.Tables[1].Rows.GetEnumerator(); string razred, odjeljenje, timeString; DateTime dateVal; var usCulture = "en-US"; try { razred = dialog.SafeFileName.Split('.')[0].ToString(); odjeljenje = dialog.SafeFileName.Split('.')[1].ToString(); } catch { Interaction.MsgBox("Nije moguće odrediti Razred i odjeljenje!", MsgBoxStyle.OkOnly, null); return; } while (enumerator.MoveNext()) { DataRow current = (DataRow)enumerator.Current; if (current["A"].ToString() == "Ime" && current["B"].ToString() == "Prezime") { continue; } ucenikArray[index].sifra = Conversions.ToString(DBNullToString(id_ucenik, "-")); ucenikArray[index].ime = Conversions.ToString(DBNullToString(current["A"], "-")); ucenikArray[index].prezime = Conversions.ToString(DBNullToString(current["B"], "-")); ucenikArray[index].SPOL = Conversions.ToString(DBNullToString(current["L"], "-")); ucenikArray[index].oib = Conversions.ToString(DBNullToString(current["C"], "-")); ucenikArray[index].JMBG = Conversions.ToString(DBNullToString("-", "-")); timeString = current["D"].ToString().Split(' ')[0]; dateVal = DateTime.Parse(timeString, new CultureInfo(usCulture, false)); ucenikArray[index].DATUMRODJ = dateVal; ucenikArray[index].raz = razred; ucenikArray[index].odj = odjeljenje; ucenikArray[index].ULICAIBROJ = string.Empty; ucenikArray[index].NASELJE = string.Empty; ucenikArray[index].POSTANSKIBROJ = "0"; index++; id_ucenik++; } UCENIKDataAdapter adapter = new UCENIKDataAdapter(); UCENIKDataSet dataSet = new UCENIKDataSet(); int num2 = ucenikArray.Length - 1; index = 0; while (index <= num2) { if (ucenikArray[index].sifra != null) { DataRow row = dataSet.UCENIK.NewRow(); try { row["iducenik"] = ucenikArray[index].sifra; row["prezimeucenik"] = ucenikArray[index].prezime; row["imeucenik"] = ucenikArray[index].ime; row["oibucenik"] = ucenikArray[index].oib; row["razred"] = ucenikArray[index].raz; row["odjeljenje"] = ucenikArray[index].odj; row["SPOLUCENIKA"] = ucenikArray[index].SPOL; row["ULICAIBROJ"] = ucenikArray[index].ULICAIBROJ; row["NASELJE"] = ucenikArray[index].NASELJE; row["JMBGUCENIKA"] = ucenikArray[index].JMBG; row["DATUMRODJENJAUCENIKA"] = ucenikArray[index].DATUMRODJ; row["POSTANSKIBROJ"] = ucenikArray[index].POSTANSKIBROJ; row["IMERODITELJA"] = ""; dataSet.UCENIK.Rows.Add(row); } catch (System.Exception exception1) { throw exception1; } } index++; } adapter.Update(dataSet); Interaction.MsgBox("Prebačeno: " + set.Tables[1].Rows.Count + " učenika", MsgBoxStyle.OkOnly, null); } catch (System.Exception exception) { new Mipsed7.Emailing.SendException(exception).Send(); Interaction.MsgBox(exception.Message, MsgBoxStyle.OkOnly); } finally { if (enumerator is IDisposable) { (enumerator as IDisposable).Dispose(); } } } }
public void ImportUcenika(object sender, EventArgs e) { OpenFileDialog dialog = new OpenFileDialog { Title = "Please Select a File", InitialDirectory = @"C\:Desktop", Filter = "XML datoteke (*.xml)|*.xml|All files (*.*)|*.*", FileName = "" }; if (dialog.ShowDialog() == DialogResult.OK) { IEnumerator enumerator = null; IEnumerator enumeratorOdjeljenje = null; string fileName = dialog.FileName.ToString(); DataSet set = new DataSet(); set.ReadXml(fileName); if (set.Tables[0] == null || set.Tables[3] == null) { Interaction.MsgBox("XML datoteka za importiranje učenika, nije pravilno formatirana!", MsgBoxStyle.OkOnly, null); return; } Ucenik[] ucenikArray = new Ucenik[set.Tables[3].Rows.Count + 1]; int index = 0; try { if (set.Tables[0].Columns["Textbox36"] == null) { throw new System.Exception("XML datoteka ne sadrži informaciju RAZREDA i ODJELJENJA!"); } enumerator = set.Tables[3].Rows.GetEnumerator(); enumeratorOdjeljenje = set.Tables[0].Rows.GetEnumerator(); string razred, odjeljenje; enumeratorOdjeljenje.MoveNext(); DataRow currentOdjeljenje = (DataRow)enumeratorOdjeljenje.Current; string strData = currentOdjeljenje["Textbox36"].ToString(); // parsiramo string if (strData.Contains(". razred osnovne škole, odjeljenje:")) { razred = strData.Substring(0, strData.IndexOf(". razred osnovne škole")).Trim(); odjeljenje = strData.Substring(strData.IndexOf(":") + 1, strData.Length - strData.IndexOf(":") - 1).Trim(); } else if (strData.Contains(". razred srednje škole, odjeljenje:")) { razred = strData.Substring(0, strData.IndexOf(". razred srednje škole")).Trim(); odjeljenje = strData.Substring(strData.IndexOf(":") + 1, strData.Length - strData.IndexOf(":") - 1).Trim(); } else { // nije prošlo niti jedno parsiranje throw new System.Exception("eMatica - XML datoteka // Nepoznati format podatka '" + currentOdjeljenje["Textbox36"] + "'"); } while (enumerator.MoveNext()) { DataRow current = (DataRow)enumerator.Current; ucenikArray[index].sifra = Conversions.ToString(DBNullToString(current["ucenik_id"], "-")); ucenikArray[index].ime = Conversions.ToString(DBNullToString(current["ime"], "-")); ucenikArray[index].prezime = Conversions.ToString(DBNullToString(current["prezime"], "-")); ucenikArray[index].SPOL = Conversions.ToString(DBNullToString(current["Spol"], "-")); // 5? - "XXI/4581"?? -> Matični broj? ucenikArray[index].oib = Conversions.ToString(DBNullToString(current["OIB"], "-")); ucenikArray[index].JMBG = Conversions.ToString(DBNullToString(current["JMBG"], "-")); // 9? - "Hrvatska"?? ucenikArray[index].DATUMRODJ = Conversions.ToDate(DBNullToString(current["DatumRodjenja"], "-")); // Matija Božičević - 21.09.2012 // eMatica je mijenjala shemu XML-a ucenikArray[index].raz = razred; ucenikArray[index].odj = odjeljenje; ucenikArray[index].ULICAIBROJ = string.Empty; ucenikArray[index].NASELJE = string.Empty; ucenikArray[index].POSTANSKIBROJ = "0"; // NEPOZNATA POŠTA index++; } UCENIKDataAdapter adapter = new UCENIKDataAdapter(); UCENIKDataSet dataSet = new UCENIKDataSet(); int num2 = ucenikArray.Length - 1; index = 0; while (index <= num2) { if (ucenikArray[index].sifra != null) { DataRow row = dataSet.UCENIK.NewRow(); try { row["iducenik"] = ucenikArray[index].sifra; row["prezimeucenik"] = ucenikArray[index].prezime; row["imeucenik"] = ucenikArray[index].ime; row["oibucenik"] = ucenikArray[index].oib; row["razred"] = ucenikArray[index].raz; row["odjeljenje"] = ucenikArray[index].odj; row["SPOLUCENIKA"] = ucenikArray[index].SPOL; row["ULICAIBROJ"] = ucenikArray[index].ULICAIBROJ; row["NASELJE"] = ucenikArray[index].NASELJE; row["JMBGUCENIKA"] = ucenikArray[index].JMBG; row["DATUMRODJENJAUCENIKA"] = ucenikArray[index].DATUMRODJ; row["POSTANSKIBROJ"] = ucenikArray[index].POSTANSKIBROJ; row["IMERODITELJA"] = ""; dataSet.UCENIK.Rows.Add(row); } catch (System.Exception exception1) { throw exception1; } } index++; } adapter.Update(dataSet); Interaction.MsgBox("Prebačeno: " + Conversions.ToString(index) + " učenika", MsgBoxStyle.OkOnly, null); } catch (System.Exception exception) { new Mipsed7.Emailing.SendException(exception).Send(); Interaction.MsgBox(exception.Message, MsgBoxStyle.OkOnly); } finally { if (enumerator is IDisposable) { (enumerator as IDisposable).Dispose(); } } } }