private bool SaveData() { this.lblValidationMessages.ResetText(); BusinessLogic.Ucenici ucenici = new BusinessLogic.Ucenici(); if (this.FormEditMode == Enums.FormEditMode.Insert || this.FormEditMode == Enums.FormEditMode.Copy) { ucenici.Add(this.TextBoxIme.Text.Trim(), this.TextBoxPrezime.Text.Trim(), this.TextBoxOIB.Text.Trim(), this.TextBoxJMBG.Text.Trim(), (int)this.ComboBoxSpol.Value, this.TextBoxUlicaKucniBroj.Text.Trim(), this.TextBoxNaselje.Text.Trim(), (this.ComboBoxPostanskiBroj.Value != null ? this.ComboBoxPostanskiBroj.Value.ToString() : null), (DateTime?)(this.CheckBoxDatumRodjenja.Checked ? this.DateTimePickerDatumRodjenja.Value : null), (uceOpcina.Value != null ? uceOpcina.Value.ToString() : ""), (int?)uceVrstaVeze.Value, cbkAktivan.Checked, this.uteImeRoditelj.Text.Trim(), utePrezimeRoditelj.Text.Trim(), uteOIBRoditelj.Text.Trim(), uteIBANRoditelj.Text.Trim()); } else if (this.FormEditMode == Enums.FormEditMode.Update) { ucenici.Update(this.ID.Value, this.TextBoxIme.Text.Trim(), this.TextBoxPrezime.Text.Trim(), this.TextBoxOIB.Text.Trim(), this.TextBoxJMBG.Text.Trim(), (int)this.ComboBoxSpol.Value, this.TextBoxUlicaKucniBroj.Text.Trim(), this.TextBoxNaselje.Text.Trim(), (this.ComboBoxPostanskiBroj.Value != null ? this.ComboBoxPostanskiBroj.Value.ToString() : null), (DateTime?)(this.CheckBoxDatumRodjenja.Checked ? this.DateTimePickerDatumRodjenja.Value : null), (uceOpcina.Value != null ? uceOpcina.Value.ToString() : ""), (int?)uceVrstaVeze.Value, cbkAktivan.Checked, this.uteImeRoditelj.Text.Trim(), utePrezimeRoditelj.Text.Trim(), uteOIBRoditelj.Text.Trim(), uteIBANRoditelj.Text.Trim()); } if (ucenici.IsValid) { return(ucenici.Persist()); } else { ucenici.DisplayValidationMessages(this); } return(false); }
public void Delete(object sender, EventArgs e) { if (this.UltraGridUcenici.ActiveRow != null) { int id = Convert.ToInt32(this.UltraGridUcenici.ActiveRow.Cells["ID"].Value); if (MessageBox.Show(string.Format("Obrisati učenika '{0}-{1}'?", id, this.UltraGridUcenici.ActiveRow.Cells["ImePrezime"].Value), "Brisanje učenika", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { BusinessLogic.Ucenici ucenici = new BusinessLogic.Ucenici(); ucenici.Delete(id); if (ucenici.IsValid) { ucenici.Persist(); LoadGridUcenici(); } else { ucenici.DisplayValidationMessages(); } } } }
public void UvozEMatica(object sender, EventArgs e) { OpenFileDialog dialog = new OpenFileDialog(); dialog.Title = "Odaberite datoteku za uvoz učenika"; dialog.InitialDirectory = @"C\:Desktop"; dialog.Filter = "XML datoteke (*.xml)|*.xml|All files (*.*)|*.*"; dialog.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 uvoz 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; try { ucenikArray[index].ime = Conversions.ToString(DBNullToString(current["ime"], "-")); } catch { ucenikArray[index].ime = "-"; } try { ucenikArray[index].prezime = Conversions.ToString(DBNullToString(current["prezime"], "-")); } catch { ucenikArray[index].prezime = "-"; } try { if (Conversions.ToString(DBNullToString(current["Spol"], "-")) == "M") { ucenikArray[index].SPOL = 1; } else { ucenikArray[index].SPOL = 2; } } catch { ucenikArray[index].SPOL = 0; } try { ucenikArray[index].oib = Conversions.ToString(DBNullToString(current["OIB"], "-")); } catch { ucenikArray[index].oib = "-"; } try { ucenikArray[index].JMBG = Conversions.ToString(DBNullToString(current["JMBG"], "-")); } catch { ucenikArray[index].JMBG = "-"; } try { ucenikArray[index].DATUMRODJ = Conversions.ToDate(DBNullToString(current["DatumRodjenja"], "-")); } catch { ucenikArray[index].DATUMRODJ = DateTime.Now; } ucenikArray[index].id_opcina = string.Empty; ucenikArray[index].id_vrsta_veze = 1; ucenikArray[index].ULICAIBROJ = string.Empty; ucenikArray[index].NASELJE = string.Empty; ucenikArray[index].POSTANSKIBROJ = "0"; index++; } BusinessLogic.Ucenici Ucenici = new BusinessLogic.Ucenici(); int broj_ucenika = ucenikArray.Length - 1; bool kontrola = false; index = 0; while (index <= broj_ucenika) { if (Ucenici.Add(ucenikArray[index].ime, ucenikArray[index].prezime, ucenikArray[index].oib, ucenikArray[index].JMBG, (int)ucenikArray[index].SPOL, ucenikArray[index].ULICAIBROJ, ucenikArray[index].NASELJE, ucenikArray[index].POSTANSKIBROJ, ucenikArray[index].DATUMRODJ, ucenikArray[index].id_opcina, ucenikArray[index].id_vrsta_veze, true, "", "", "", "")) { kontrola = true; } else { kontrola = false; } if (Ucenici.Persist()) { kontrola = true; } else { kontrola = false; } index++; } if (kontrola) { MessageBox.Show("Uspješno preneseni učenici iz eMatice!"); } else { MessageBox.Show("Dogodila se greška prilikom prijenosta učenika iz eMatice.\nPokušajte ponovo ili kontaktirajte administratora."); } } 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(); } LoadGridUcenici(); } } }