Example #1
0
        // 10.06.2018. mstankovic
        //public void DodajKolonu(Kontejner roditelj, String naziv)
        public void DodajKolonu(KontejnerFaza roditelj, String naziv, int idProjekta)
        {
            KontejnerZadataka nova = new KontejnerZadataka(naziv, roditelj);

            // kolona se ubacuje u bazu samo ako je projekat vec kreiran
            if (idProjekta != 0)
            {
                try
                {
                    nova.Id = PFaza.Dodaj_FZ(nova.Ime, nova.Opis, nova.MaxBrZadataka, nova.PocetakIzrade, nova.KrajIzrade,
                                             roditelj.Id, nova.SirinaPoZadacima, nova.VisinaPoZadacima, idProjekta);
                }
                catch (Oracle.ManagedDataAccess.Client.OracleException oraError)
                {
                    try
                    {
                        System.Windows.MessageBox.Show(PPoruka.VratiPrevod(oraError.Number.ToString()));
                    }
                    catch (Oracle.ManagedDataAccess.Client.OracleException err)
                    {
                        System.Windows.MessageBox.Show("Greska");
                    }
                }
            }

            // 10.06.2018. mstankovic
            //((KontejnerFaza)roditelj).Deca.Add(nova);
            roditelj.Deca.Add(nova);

            //dodata ispravka pozicije
            nova.Pozicija = roditelj.Deca.IndexOf(nova);
        }
Example #2
0
        //brisanje kontejnera zadataka
        //17.06.2018
        public void IzbrisiFazu(Kontejner kz)
        {
            KontejnerFaza roditelj = kz.Roditelj;

            //brisanje je dozvoljeno samo ako je kontejner prazan
            if ((kz.GetType() == typeof(KontejnerZadataka) && ((KontejnerZadataka)kz).Zadaci.Count == 0) ||
                (kz.GetType() == typeof(KontejnerFaza) && ((KontejnerFaza)kz).Deca.Count == 0))
            {
                //brisanje iz baze
                if (kz.Id != 0)
                {
                    try
                    {
                        PFaza.Obrisi(kz.Id);
                    }
                    catch (Oracle.ManagedDataAccess.Client.OracleException oraError)
                    {
                        try
                        {
                            System.Windows.MessageBox.Show(PPoruka.VratiPrevod(oraError.Number.ToString()));
                        }
                        catch (Oracle.ManagedDataAccess.Client.OracleException err)
                        {
                            System.Windows.MessageBox.Show("Greska");
                        }
                    }
                }

                foreach (Kontejner k in kz.Roditelj.Deca)
                {
                    if (k.Pozicija > kz.Pozicija)
                    {
                        k.Pozicija--;
                    }
                }

                roditelj.Deca.Remove(kz);
                //roditelj.Deca.OrderBy(x => x.Pozicija);
            }
        }
Example #3
0
        //false vertical, true horizontal
        // 10.06.2018. mstankovic
        // public void Split(Kontejner levaPodkolona, bool flag)
        public void Split(KontejnerZadataka kolonaZaSplit, bool nacinSplitovanja, int idProjekta)
        {
            //kreira se parent kolona koja ce da sadrzi dve podkolone
            //on zauzima mesto prethodne kolone koja ce postati leva podkolona
            KontejnerFaza kf = new KontejnerFaza(kolonaZaSplit.Ime);

            kf.Roditelj = kolonaZaSplit.Roditelj;

            // 10.06.2018. mstankovic (naredne 2 linije)
            //int ind = ((KontejnerFaza)kf.Roditelj).Deca.IndexOf(levaPodkolona);
            //((KontejnerFaza)kf.Roditelj).Deca[ind] = kf;
            int ind = kf.Roditelj.Deca.IndexOf(kolonaZaSplit);

            kf.Roditelj.Deca[ind] = kf;
            kf.Pozicija           = ind;

            //vertical
            if (nacinSplitovanja == false)
            {
                kf.IsVerticalSplit = true;
            }
            //horizontal
            else
            {
                kf.IsVerticalSplit = false;
            }

            kolonaZaSplit.Roditelj = kf;

            List <Zadatak> zadaciRoditelja = new List <Zadatak>();

            foreach (Zadatak z in kolonaZaSplit.Zadaci)
            {
                zadaciRoditelja.Add(z);
            }


            if (idProjekta != 0)
            {
                kf.Id = kolonaZaSplit.Id;
                try
                {
                    PFaza.IzmeniPosleSplita(kf.Id, kf.IsVerticalSplit);
                }
                catch (Oracle.ManagedDataAccess.Client.OracleException oraError)
                {
                    try
                    {
                        System.Windows.MessageBox.Show(PPoruka.VratiPrevod(oraError.Number.ToString()));
                    }
                    catch (Oracle.ManagedDataAccess.Client.OracleException err)
                    {
                        System.Windows.MessageBox.Show("Greska");
                    }
                }
            }

            //leva podkolona
            KontejnerZadataka kzNovi = new KontejnerZadataka(kolonaZaSplit);

            kzNovi.Pozicija = 0;
            if (idProjekta != 0)
            {
                try
                {
                    kzNovi.Id = PFaza.Dodaj_FZ(kzNovi.Ime, kzNovi.Opis, kzNovi.MaxBrZadataka, kzNovi.PocetakIzrade, kzNovi.KrajIzrade, kf.Id, kzNovi.SirinaPoZadacima, kzNovi.VisinaPoZadacima, idProjekta);
                }
                catch (Oracle.ManagedDataAccess.Client.OracleException oraError)
                {
                    try
                    {
                        System.Windows.MessageBox.Show(PPoruka.VratiPrevod(oraError.Number.ToString()));
                    }
                    catch (Oracle.ManagedDataAccess.Client.OracleException err)
                    {
                        System.Windows.MessageBox.Show("Greska");
                    }
                }
            }

            foreach (Zadatak z in zadaciRoditelja)
            {
                try
                {
                    if (z.Id != 0)
                    {
                        PZadatak.IzmeniFazu(z.Id, kzNovi.Id);
                    }
                }
                catch (Oracle.ManagedDataAccess.Client.OracleException oraError)
                {
                    try
                    {
                        System.Windows.MessageBox.Show(PPoruka.VratiPrevod(oraError.Number.ToString()));
                    }
                    catch (Oracle.ManagedDataAccess.Client.OracleException err)
                    {
                        System.Windows.MessageBox.Show("Greska");
                    }
                }
            }

            //desna podkolona
            KontejnerZadataka kz = new KontejnerZadataka("New subcolumn 2", kf);

            kz.Pozicija = 1;
            if (idProjekta != 0)
            {
                try
                {
                    kz.Id = PFaza.Dodaj_FZ(kz.Ime, kz.Opis, kz.MaxBrZadataka, kz.PocetakIzrade, kz.KrajIzrade, kf.Id, kz.SirinaPoZadacima, kz.VisinaPoZadacima, idProjekta);
                }
                catch (Oracle.ManagedDataAccess.Client.OracleException oraError)
                {
                    try
                    {
                        System.Windows.MessageBox.Show(PPoruka.VratiPrevod(oraError.Number.ToString()));
                    }
                    catch (Oracle.ManagedDataAccess.Client.OracleException err)
                    {
                        System.Windows.MessageBox.Show("Greska");
                    }
                }
            }

            kf.Deca.Add(kzNovi);
            kf.Deca.Add(kz);
        }
Example #4
0
        //0 za desno, 1 za levo
        //vvrani - dodate ispravka za pozicije nakon smenjivanja pozicija
        public void Pomeri(Kontejner kolona, bool pravac)
        {
            // 10.06.2016. mstankovic
            //KontejnerFaza kf = ((KontejnerFaza)kolona.Roditelj);
            KontejnerFaza kf = kolona.Roditelj;

            int index = kf.Deca.IndexOf(kolona);

            //desno
            if (pravac == false)
            {
                if (index != kf.Deca.Count - 1)
                {
                    Kontejner tmp    = kf.Deca[index];
                    int       tmpPoz = kf.Deca[index + 1].Pozicija;
                    kf.Deca[index] = kf.Deca[index + 1];
                    //kf.Deca[index].Pozicija -= 1;
                    kf.Deca[index].Pozicija = tmp.Pozicija;
                    kf.Deca[index + 1]      = tmp;
                    //kf.Deca[index + 1].Pozicija += 1;
                    kf.Deca[index + 1].Pozicija = tmpPoz;

                    if (kolona.Id != 0)
                    {
                        try
                        {
                            PFaza.Pomeri(kolona.Id, 1);
                        }
                        catch (Oracle.ManagedDataAccess.Client.OracleException oraError)
                        {
                            try
                            {
                                System.Windows.MessageBox.Show(PPoruka.VratiPrevod(oraError.Number.ToString()));
                            }
                            catch (Oracle.ManagedDataAccess.Client.OracleException err)
                            {
                                System.Windows.MessageBox.Show("Greska");
                            }
                        }
                    }
                }
            }
            //levo
            else
            {
                if (index != 0)
                {
                    Kontejner tmp    = kf.Deca[index];
                    int       tmpPoz = kf.Deca[index - 1].Pozicija;
                    kf.Deca[index] = kf.Deca[index - 1];
                    //kf.Deca[index].Pozicija += 1;
                    kf.Deca[index].Pozicija = tmp.Pozicija;
                    kf.Deca[index - 1]      = tmp;
                    //kf.Deca[index - 1].Pozicija -= 1;
                    kf.Deca[index - 1].Pozicija = tmpPoz;

                    if (kolona.Id != 0)
                    {
                        try
                        {
                            PFaza.Pomeri(kolona.Id, -1);
                        }
                        catch (Oracle.ManagedDataAccess.Client.OracleException oraError)
                        {
                            try
                            {
                                System.Windows.MessageBox.Show(PPoruka.VratiPrevod(oraError.Number.ToString()));
                            }
                            catch (Oracle.ManagedDataAccess.Client.OracleException err)
                            {
                                System.Windows.MessageBox.Show("Greska");
                            }
                        }
                    }
                }
            }
        }