public bool ActualizareOperaArta(string titlu, OperaArta operaArta)
        {
            try
            {
                XDocument xDocument = XDocument.Load(@numeFisier);
                var       element   = xDocument.Root.Elements("operaArta").Where(e => e.Element("titlu").Value.Equals(titlu)).Single();

                element.Element("titlu").Value       = operaArta.GetTitlu();
                element.Element("numeArtist").Value  = operaArta.GetNumeArtist();
                element.Element("anRealizare").Value = operaArta.GetAnRealizare().ToString();

                if (operaArta is Tablou)
                {
                    Tablou tablou = (Tablou)operaArta;

                    element.Element("genPictura").Value = tablou.GetGenPictura();
                    element.Element("tehnica").Value    = tablou.GetTehnica();
                }

                else if (operaArta is Sculptura)
                {
                    Sculptura sculptura = (Sculptura)operaArta;

                    element.Element("tip").Value = sculptura.GetTip();
                }

                xDocument.Save(numeFisier);
                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
        public List <OperaArta> FiltrareOpereArtist(string numeArtist)
        {
            List <OperaArta> opereArta = new List <OperaArta>();

            try
            {
                XDocument       xDoc      = XDocument.Load(@numeFisier);
                List <XElement> xElemente = xDoc.Root.Elements("operaArta").ToList();

                foreach (XElement xElement in xElemente)
                {
                    string nume = xElement.Element("numeArtist").Value;

                    if (nume.Contains(numeArtist))
                    {
                        string tipOpera = xElement.Element("tipOpera").Value;

                        string titlu       = xElement.Element("titlu").Value;
                        int    anRealizare = Convert.ToInt32(xElement.Element("anRealizare").Value);

                        if (tipOpera.Equals("operaDeArta"))
                        {
                            OperaArta operaArta = new OperaArta(titlu, nume, anRealizare);
                            opereArta.Add(operaArta);
                        }

                        if (tipOpera.Equals("tablou"))
                        {
                            string genPictura = xElement.Element("genPictura").Value;
                            string tehnica    = xElement.Element("tehnica").Value;

                            OperaArta tablou = new Tablou(titlu, nume, anRealizare, genPictura, tehnica);
                            opereArta.Add(tablou);
                        }

                        if (tipOpera.Equals("sculptura"))
                        {
                            string tip = xElement.Element("tip").Value;

                            OperaArta sculptura = new Sculptura(titlu, nume, anRealizare, tip);
                            opereArta.Add(sculptura);
                        }
                    }
                }
                return(opereArta);
            }
            catch (Exception)
            {
                return(null);
            }
        }
        public bool AdaugareOperaArta(OperaArta operaArta)
        {
            try
            {
                XElement xElement = XElement.Load(@numeFisier);

                if (operaArta is Tablou)
                {
                    Tablou tablou = (Tablou)operaArta;

                    xElement.Add(new XElement("operaArta",
                                              new XElement("tipOpera", "tablou"),
                                              new XElement("titlu", tablou.GetTitlu()),
                                              new XElement("numeArtist", tablou.GetNumeArtist()),
                                              new XElement("anRealizare", tablou.GetAnRealizare().ToString()),
                                              new XElement("genPictura", tablou.GetGenPictura()),
                                              new XElement("tehnica", tablou.GetTehnica())
                                              ));
                }
                else if (operaArta is Sculptura)
                {
                    Sculptura sculptura = (Sculptura)operaArta;

                    xElement.Add(new XElement("operaArta",
                                              new XElement("tipOpera", "sculptura"),
                                              new XElement("titlu", sculptura.GetTitlu()),
                                              new XElement("numeArtist", sculptura.GetNumeArtist()),
                                              new XElement("anRealizare", sculptura.GetAnRealizare().ToString()),
                                              new XElement("tip", sculptura.GetTip())
                                              ));
                }
                else
                {
                    xElement.Add(new XElement("operaArta",
                                              new XElement("tipOpera", "operaDeArta"),
                                              new XElement("titlu", operaArta.GetTitlu()),
                                              new XElement("numeArtist", operaArta.GetNumeArtist()),
                                              new XElement("anRealizare", operaArta.GetAnRealizare().ToString())
                                              ));
                }

                xElement.Save(@numeFisier);
                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
        private void setareTabel(List <OperaArta> lista)
        {
            this.dataGridView1.Rows.Clear();
            if (lista != null)
            {
                foreach (OperaArta opera in lista)
                {
                    DataGridViewRow rand = new DataGridViewRow();
                    rand.CreateCells(this.dataGridView1);

                    if (opera is Tablou)
                    {
                        Tablou tablou = (Tablou)opera;

                        rand.Cells[0].Value = "Tablou";
                        rand.Cells[4].Value = tablou.GetGenPictura();
                        rand.Cells[5].Value = tablou.GetTehnica();
                    }
                    else if (opera is Sculptura)
                    {
                        Sculptura sculptura = (Sculptura)opera;

                        rand.Cells[0].Value = "Sculptura";
                        rand.Cells[6].Value = sculptura.GetTip();
                    }
                    else
                    {
                        rand.Cells[0].Value = "Opera de Arta";
                    }

                    rand.Cells[1].Value = opera.GetTitlu();
                    rand.Cells[2].Value = opera.GetNumeArtist();
                    rand.Cells[3].Value = opera.GetAnRealizare();



                    this.dataGridView1.Rows.Add(rand);
                }
                if (lista.Count == 0)
                {
                    MessageBox.Show("Nicio opera gasita", "Informare");
                }
            }
        }
        private SqlCommand getUpdateSqlCommand(string titlu, OperaArta operaArta)
        {
            SqlCommand query = null;

            if (operaArta is Tablou)
            {
                Tablou tablou = (Tablou)operaArta;
                query = new SqlCommand("update OperaArta set [Titlu Opera]='" + tablou.GetTitlu() + "', [Nume Artist] ='" + tablou.GetNumeArtist() + "', [An Realizare] = '" + tablou.GetAnRealizare() + "', [Gen Pictura] ='" + tablou.GetGenPictura() + "', [Tehnica Pictura] ='" + tablou.GetTehnica() + "' where [Titlu Opera] ='" + titlu + "'", connection);
            }
            else if (operaArta is Sculptura)
            {
                Sculptura sculptura = (Sculptura)operaArta;
                query = new SqlCommand("update OperaArta set [Titlu Opera]='" + sculptura.GetTitlu() + "', [Nume Artist] ='" + sculptura.GetNumeArtist() + "', [An Realizare] = '" + sculptura.GetAnRealizare() + "', [Tip Sculptura] ='" + sculptura.GetTip() + "' where [Titlu Opera] ='" + titlu + "'", connection);
            }
            else if (operaArta is OperaArta)
            {
                query = new SqlCommand("update OperaArta set [Titlu Opera]='" + operaArta.GetTitlu() + "', [Nume Artist] ='" + operaArta.GetNumeArtist() + "', [An Realizare] = '" + operaArta.GetAnRealizare() + "' where [Titlu Opera] ='" + titlu + "'", connection);
            }

            return(query);
        }
        private SqlCommand getInsertSqlCommand(OperaArta operaArta)
        {
            SqlCommand query = null;

            if (operaArta is Tablou)
            {
                Tablou tablou = (Tablou)operaArta;
                query = new SqlCommand("insert into OperaArta values('Tablou','" + tablou.GetTitlu() + "','" + tablou.GetNumeArtist() + "','" + tablou.GetAnRealizare() + "','" + tablou.GetGenPictura() + "','" + tablou.GetTehnica() + "','')", connection);
            }
            else if (operaArta is Sculptura)
            {
                Sculptura sculptura = (Sculptura)operaArta;
                query = new SqlCommand("insert into OperaArta values('Sculptura','" + sculptura.GetTitlu() + "','" + sculptura.GetNumeArtist() + "','" + sculptura.GetAnRealizare() + "','','','" + sculptura.GetTip() + "')", connection);
            }
            else if (operaArta is OperaArta)
            {
                query = new SqlCommand("insert into OperaArta values('Opera de Arta','" + operaArta.GetTitlu() + "','" + operaArta.GetNumeArtist() + "','" + operaArta.GetAnRealizare() + "','','','')", connection);
            }


            return(query);
        }
        private List <OperaArta> conversie(DataTable opere)
        {
            List <OperaArta> lista = new List <OperaArta>();

            foreach (DataRow dataRow in opere.Rows)
            {
                OperaArta operaArta = null;

                string tipOpera    = (string)dataRow["Tip Opera"];
                string titluOpera  = (string)dataRow["Titlu Opera"];
                string numeArtist  = (string)dataRow["Nume Artist"];
                int    anRealizare = (int)dataRow["An Realizare"];


                if (tipOpera.Equals("Tablou"))
                {
                    string genPictura     = (string)dataRow["Gen Pictura"];
                    string tehnicaPictura = (string)dataRow["Tehnica Pictura"];

                    operaArta = new Tablou(titluOpera, numeArtist, anRealizare, genPictura, tehnicaPictura);
                }
                else if (tipOpera.Equals("Sculptura"))
                {
                    string tipSculptura = (string)dataRow["Tip Sculptura"];

                    operaArta = new Sculptura(titluOpera, numeArtist, anRealizare, tipSculptura);
                }
                else if (tipOpera.Equals("Opera de Arta"))
                {
                    operaArta = new OperaArta(titluOpera, numeArtist, anRealizare);
                }

                lista.Add(operaArta);
            }
            return(lista);
        }
        public void Update()
        {
            if (model.GetTipOperatie().ToLower() == "selectie")
            {
                OperaArta opera = model.GetOpera();
                if (opera != null)
                {
                    if (opera is Tablou)
                    {
                        Tablou tablou = (Tablou)opera;

                        this.textBoxGen_Tip.Text = tablou.GetGenPictura();
                        this.textBoxTehnica.Text = tablou.GetTehnica();
                    }
                    else if (opera is Sculptura)
                    {
                        Sculptura sculptura = (Sculptura)opera;
                        this.textBoxGen_Tip.Text = sculptura.GetTip();
                    }
                    this.textBoxTitlu.Text       = (string)opera.GetTitlu();
                    this.textBoxNumeArtist.Text  = (string)opera.GetNumeArtist();
                    this.textBoxAnRealizare.Text = opera.GetAnRealizare().ToString();
                }
                else
                {
                    this.textBoxTitlu.Text       = "";
                    this.textBoxNumeArtist.Text  = "";
                    this.textBoxAnRealizare.Text = "";
                }
            }
            else if (model.GetTipOperatie().ToLower() == "vizualizare")
            {
                List <OperaArta> listaOpere = model.GetPersistentaOperaArta().ListareOpere();
                this.setareTabel(listaOpere);
            }
            else if (model.GetTipOperatie().ToLower() == "adaugare")
            {
                textBoxTitlu.Text       = "";
                textBoxNumeArtist.Text  = "";
                textBoxAnRealizare.Text = "";
                textBoxGen_Tip.Text     = "";
                textBoxTehnica.Text     = "";
                List <OperaArta> listaOpere = this.model.GetPersistentaOperaArta().ListareOpere();
                this.setareTabel(listaOpere);
            }
            else if (model.GetTipOperatie().ToLower() == "actualizare")
            {
                textBoxTitlu.Text       = "";
                textBoxNumeArtist.Text  = "";
                textBoxAnRealizare.Text = "";
                textBoxGen_Tip.Text     = "";
                textBoxTehnica.Text     = "";
                List <OperaArta> listaOpere = this.model.GetPersistentaOperaArta().ListareOpere();
                this.setareTabel(listaOpere);
            }
            else if (model.GetTipOperatie().ToLower() == "stergere")
            {
                textBoxTitlu.Text       = "";
                textBoxNumeArtist.Text  = "";
                textBoxAnRealizare.Text = "";
                textBoxGen_Tip.Text     = "";
                textBoxTehnica.Text     = "";
                List <OperaArta> listaOpere = this.model.GetPersistentaOperaArta().ListareOpere();
                this.setareTabel(listaOpere);
            }
            else if (model.GetTipOperatie().ToLower() == "cautaretipopera")
            {
                string           informatieCautata = model.GetInformatieCautata();
                List <OperaArta> listaOpere        = model.GetPersistentaOperaArta().FiltrareOpereTip(informatieCautata);
                this.setareTabel(listaOpere);
            }
            else if (model.GetTipOperatie().ToLower() == "cautaretitlu")
            {
                string           informatieCautata = model.GetInformatieCautata();
                List <OperaArta> listaOpere        = model.GetPersistentaOperaArta().FiltrareOpereTitlu(informatieCautata);
                this.setareTabel(listaOpere);
            }
            else if (model.GetTipOperatie().ToLower() == "cautarenumeartist")
            {
                string           informatieCautata = model.GetInformatieCautata();
                List <OperaArta> listaOpere        = model.GetPersistentaOperaArta().FiltrareOpereArtist(informatieCautata);
                this.setareTabel(listaOpere);
            }
            else if (model.GetTipOperatie().ToLower() == "cautareanrealizare")
            {
                string           informatieCautata = model.GetInformatieCautata();
                List <OperaArta> listaOpere        = model.GetPersistentaOperaArta().FiltrareOpereAn(informatieCautata);
                this.setareTabel(listaOpere);
            }
            else if (model.GetTipOperatie().ToLower() == "cautaregenpictura")
            {
                string           informatieCautata = model.GetInformatieCautata();
                List <OperaArta> listaOpere        = model.GetPersistentaOperaArta().FiltrareOpereGenPictura(informatieCautata);
                this.setareTabel(listaOpere);
            }
            else if (model.GetTipOperatie().ToLower() == "cautaretehnicapictura")
            {
                string           informatieCautata = model.GetInformatieCautata();
                List <OperaArta> listaOpere        = model.GetPersistentaOperaArta().FiltrareOpereTehnicaPictura(informatieCautata);
                this.setareTabel(listaOpere);
            }
            else if (model.GetTipOperatie().ToLower() == "cautaretipsculptura")
            {
                string           informatieCautata = model.GetInformatieCautata();
                List <OperaArta> listaOpere        = model.GetPersistentaOperaArta().FiltrareOpereTipSculptura(informatieCautata);
                this.setareTabel(listaOpere);
            }
            else if (this.model.GetTipOperatie().ToLower() == "limba")
            {
                updateLanguage();
            }
        }
        private void editare(object sender, EventArgs e)
        {
            if (vAngajat.GetDataGridViewOpere().SelectedRows.Count == 0)
            {
                MessageBox.Show("Nu exista nicio opera selectata pentru a fi actualizata");
            }
            else
            {
                string titluOperaSelectat = (string)vAngajat.GetDataGridViewOpere().SelectedRows[0].Cells[indecsiGrid["TitluOpera"]].Value;

                int    indexTipOpera = vAngajat.GetComboBoxTipOpera().SelectedIndex;
                string titlu         = vAngajat.GetTextTitlu().Text;
                string numeArtist    = vAngajat.GetTextNumeArtist().Text;
                int    anRealizare   = Int32.MinValue;

                try
                {
                    anRealizare = Convert.ToInt32(vAngajat.GetTextAnRealizare().Text);
                }
                catch (Exception)
                {
                    MessageBox.Show("Nu s-a introdus un an valid!");
                    return;
                }

                if (titlu.Length > 0 && numeArtist.Length > 0 && anRealizare != Int32.MinValue)
                {
                    if (model.GetPersistentaOperaArta().CautaOpera(titluOperaSelectat) == null)
                    {
                        MessageBox.Show("Nu exista o opera cu titlul \"" + titlu + "\"");
                    }
                    else
                    {
                        if (indexTipOpera == 0)
                        {
                            OperaArta operaArta = new OperaArta(titlu, numeArtist, anRealizare);
                            if (model.GetPersistentaOperaArta().ActualizareOperaArta(titluOperaSelectat, operaArta))
                            {
                                MessageBox.Show("Actualizare incheiata cu succes!");
                                model.SetTipOperatie("actualizare");
                                refresh(sender, e);
                            }

                            else
                            {
                                MessageBox.Show("Nu s-a realizat actualizarea fisierului!");
                            }
                        }
                        if (indexTipOpera == 1)
                        {
                            string genPictura = vAngajat.GetTextGenTip().Text;
                            string tehnica    = vAngajat.GetTextTehnica().Text;
                            if (genPictura.Length > 0 && tehnica.Length > 0)
                            {
                                OperaArta operaArta = new Tablou(titlu, numeArtist, anRealizare, genPictura, tehnica);
                                if (model.GetPersistentaOperaArta().ActualizareOperaArta(titluOperaSelectat, operaArta))
                                {
                                    MessageBox.Show("Actualizare incheiata cu succes!");
                                    refresh(sender, e);
                                    model.SetTipOperatie("actualizare");
                                }
                                else
                                {
                                    MessageBox.Show("Nu s-a realizat actualizarea fisierului!");
                                }
                            }
                            else
                            {
                                MessageBox.Show("Nu s-a introdus genul picturii sau tehnica!");
                            }
                        }
                        if (indexTipOpera == 2)
                        {
                            string tipSculptura = vAngajat.GetTextGenTip().Text;
                            if (tipSculptura.Length > 0)
                            {
                                OperaArta operaArta = new Sculptura(titlu, numeArtist, anRealizare, tipSculptura);
                                if (model.GetPersistentaOperaArta().ActualizareOperaArta(titluOperaSelectat, operaArta))
                                {
                                    MessageBox.Show("Actualizare incheiata cu succes!");
                                    refresh(sender, e);
                                    model.SetTipOperatie("actualizare");
                                }
                                else
                                {
                                    MessageBox.Show("Nu s-a realizat actualizarea fisierului!");
                                }
                            }
                            else
                            {
                                MessageBox.Show("Nu s-a introdus tipul sculpturii!");
                            }
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Nu s-a introdus titlu sau numele artistului!");
                }
            }
        }
        private void adaugare(object sender, EventArgs e)
        {
            int indexTipOpera = vAngajat.GetComboBoxTipOpera().SelectedIndex;

            string titlu       = vAngajat.GetTextTitlu().Text;
            string numeArtist  = vAngajat.GetTextNumeArtist().Text;
            int    anRealizare = Int32.MinValue;

            try
            {
                anRealizare = Convert.ToInt32(vAngajat.GetTextAnRealizare().Text);
            }
            catch (Exception)
            {
                MessageBox.Show("Nu s-a introdus un an valid!");
                return;
            }


            if (titlu.Length > 0 && numeArtist.Length > 0 && anRealizare != Int32.MinValue)
            {
                if (model.GetPersistentaOperaArta().CautaOpera(titlu) != null)
                {
                    MessageBox.Show("Exista deja o opera cu titlul \"" + titlu + "\"");
                }
                else
                {
                    if (indexTipOpera == 0)
                    {
                        OperaArta operaArta = new OperaArta(titlu, numeArtist, anRealizare);
                        if (model.GetPersistentaOperaArta().AdaugareOperaArta(operaArta))
                        {
                            MessageBox.Show("Adaugare incheiata cu succes!");
                            clearFieldsContent();
                            model.SetTipOperatie("adaugare");
                        }
                        else
                        {
                            MessageBox.Show("Nu s-a realizat adaugare in fisier!");
                        }
                    }
                    if (indexTipOpera == 1)
                    {
                        string genPictura = vAngajat.GetTextGenTip().Text;
                        string tehnica    = vAngajat.GetTextTehnica().Text;
                        if (genPictura.Length > 0 && tehnica.Length > 0)
                        {
                            OperaArta operaArta = new Tablou(titlu, numeArtist, anRealizare, genPictura, tehnica);
                            if (model.GetPersistentaOperaArta().AdaugareOperaArta(operaArta))
                            {
                                MessageBox.Show("Adaugare incheiata cu succes!");
                                clearFieldsContent();
                                model.SetTipOperatie("adaugare");
                            }
                            else
                            {
                                MessageBox.Show("Nu s-a realizat adaugare in fisier!");
                            }
                        }
                        else
                        {
                            MessageBox.Show("Nu s-a introdus genul picturii sau tehnica!");
                        }
                    }
                    if (indexTipOpera == 2)
                    {
                        string tipSculptura = vAngajat.GetTextGenTip().Text;
                        if (tipSculptura.Length > 0)
                        {
                            OperaArta operaArta = new Sculptura(titlu, numeArtist, anRealizare, tipSculptura);
                            if (model.GetPersistentaOperaArta().AdaugareOperaArta(operaArta))
                            {
                                MessageBox.Show("Adaugare incheiata cu succes!");
                                clearFieldsContent();
                                model.SetTipOperatie("adaugare");
                            }
                            else
                            {
                                MessageBox.Show("Nu s-a realizat adaugare in fisier!");
                            }
                        }
                        else
                        {
                            MessageBox.Show("Nu s-a introdus tipul sculpturii!");
                        }
                    }
                }
            }
            else
            {
                MessageBox.Show("Nu s-a introdus titlu sau numele artistului!");
            }
        }
Beispiel #11
0
 public Tablou(Tablou tablou)
 {
     this.titlu       = tablou.titlu;
     this.numeArtist  = tablou.numeArtist;
     this.anRealizare = tablou.anRealizare;
 }