Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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();
                }
            }
        }