Exemple #1
0
        internal List <Sastanak> VratiSastanke(string kriterijum, DateTime datum)
        {
            try
            {
                Zahtev zahtev = new Zahtev();
                zahtev.Operacija          = Operacija.PretraziSastanke;
                zahtev.KriterijumPretrage = kriterijum;
                zahtev.Datum = datum;
                formatter.Serialize(stream, zahtev);
                Odgovor odgovor = (Odgovor)formatter.Deserialize(stream);

                if (odgovor.Signal == Signal.UspesnaPretraga)
                {
                    return(odgovor.ListaSastanaka);
                }

                else
                {
                    return(null);
                }
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
                return(null);
            }
        }
Exemple #2
0
        internal List <Predmet> VratiPredmete(string kriterijum, string text)
        {
            try
            {
                Zahtev zahtev = new Zahtev();
                zahtev.Operacija          = Operacija.PretraziPredmete;
                zahtev.KriterijumPretrage = kriterijum;
                zahtev.TekstPretrage      = text;
                formatter.Serialize(stream, zahtev);
                Odgovor odgovor = (Odgovor)formatter.Deserialize(stream);

                if (odgovor.Signal == Signal.UspesnaPretraga)
                {
                    return(odgovor.ListaPredmeta);
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
                return(null);
            }
        }
Exemple #3
0
 internal bool Login(string korisnickoime, string lozinka)
 {
     try
     {
         Zahtev zahtev = new Zahtev();
         zahtev.Operacija = Operacija.Login;
         Sekretar s = new Sekretar
         {
             KorisnickoIme = korisnickoime,
             Lozinka       = lozinka
         };
         zahtev.Sekretar = s;
         formatter.Serialize(stream, zahtev);
         Odgovor odgovor = (Odgovor)formatter.Deserialize(stream);
         if (odgovor.Signal == Signal.UspesnoPrijavljen)
         {
             logovaniSekretar = s;
             return(true);
         }
         return(false);
     }
     catch (Exception e)
     {
         MessageBox.Show(e.Message);
         return(false);
     }
 }
Exemple #4
0
        private void PribaviMojeZahteveOdgovor(string data)
        {
            // Raspakovanje informacija
            string[] oglasiStrings = data.Split('%');
            foreach (string oglasString in oglasiStrings)
            {
                if (oglasString == "")
                {
                    continue;
                }
                string[] oglasData = oglasString.Split('@');
                int      oglasIndex;
                Int32.TryParse(oglasData[0], out oglasIndex);

                _mojiZahtevi[oglasIndex].slikaReceivedNumberOfBytes = 0;
                _mojiZahtevi[oglasIndex].adresa        = oglasData[1];
                _mojiZahtevi[oglasIndex].opis          = oglasData[2];
                _mojiZahtevi[oglasIndex].wifi          = oglasData[3] == "True" ? true : false;
                _mojiZahtevi[oglasIndex].tus           = oglasData[4] == "True" ? true : false;
                _mojiZahtevi[oglasIndex].parking_mesto = oglasData[5] == "True" ? true : false;
                _mojiZahtevi[oglasIndex].tv            = oglasData[6] == "True" ? true : false;
                _mojiZahtevi[oglasIndex].datumi        = oglasData[7];
                Int32.TryParse(oglasData[8], out _mojiZahtevi[oglasIndex].id);
                // Ako postoje zahtevi za ovaj oglas onda ih treba prikazati
                if (oglasData.Length == 10)
                {
                    string[] zahtevi = oglasData[9].Split('$');
                    foreach (string zahtev in zahtevi)
                    {
                        string[] zahtevData = zahtev.Split('#');
                        Zahtev   noviZahtev = new Zahtev();
                        Int32.TryParse(zahtevData[0], out noviZahtev.id);
                        Int32.TryParse(zahtevData[1], out noviZahtev.status);
                        string[] datumi = zahtevData[2].Split(' ');
                        noviZahtev.datumi = new List <DateTime>();
                        foreach (string datum in datumi)
                        {
                            string[] datumData = datum.Split('-');
                            int      godina;
                            int      mesec;
                            int      dan;
                            Int32.TryParse(datumData[0], out godina);
                            Int32.TryParse(datumData[1], out mesec);
                            Int32.TryParse(datumData[2], out dan);
                            noviZahtev.datumi.Add(new DateTime(godina, mesec, dan));
                        }

                        _mojiZahtevi[oglasIndex].zahtevi.Add(noviZahtev);
                    }
                }
            }

            if (_mojiZahteviFormRunning.Variable == true)
            {
                _mojiZahteviForm.AzurirajDataGridView(_mojiZahtevi);
            }

            _hub.Invoke("PribaviMojeZahteveOdgovorPrimljen", "nista");
        }
Exemple #5
0
 internal void PrekiniKomunikaciju()
 {
     try
     {
         Zahtev zahtev = new Zahtev();
         zahtev.Operacija = Operacija.Prekini;
         klijentskiSoket.Shutdown(SocketShutdown.Both);
         klijentskiSoket.Close();
     }
     catch
     {
     }
 }
Exemple #6
0
 internal void IzlogujSe()
 {
     try
     {
         Zahtev zahtev = new Zahtev();
         zahtev.Sekretar  = logovaniSekretar;
         zahtev.Operacija = Operacija.IzlogujSe;
         formatter.Serialize(stream, zahtev);
     }
     catch
     {
     }
 }
Exemple #7
0
        private void PromenaStanja(int promenaDatumaOglasaIndex,
                                   List <DateTime> datumiOglasa,
                                   int promenaZahtevaOglasIndex,
                                   int promenaZahtevaIndex,
                                   int noviStatus)
        {
            for (int i = 0; i < _undoOglasiDatumi.Count; i++)
            {
                if (i != promenaDatumaOglasaIndex)
                {
                    List <DateTime> kopija = new List <DateTime>();
                    for (int j = 0; j < _undoOglasiDatumi[i].Last().Count; j++)
                    {
                        kopija.Add(_undoOglasiDatumi[i].Last()[j]);
                    }

                    _undoOglasiDatumi[i].Add(kopija);
                }
                else
                {
                    _undoOglasiDatumi[i].Add(datumiOglasa);
                }

                List <Zahtev> kopijaListeZahteva = new List <Zahtev>();
                for (int j = 0; j < _undoZahtevi[i].Last().Count; j++)
                {
                    Zahtev kopijaZahteva = new Zahtev();
                    kopijaZahteva.id = _undoZahtevi[i].Last()[j].id;
                    if ((i == promenaZahtevaOglasIndex) && (j == promenaZahtevaIndex))
                    {
                        kopijaZahteva.status = noviStatus;
                    }
                    else
                    {
                        kopijaZahteva.status = _undoZahtevi[i].Last()[j].status;
                    }

                    kopijaZahteva.datumi = new List <DateTime>();
                    for (int k = 0; k < _undoZahtevi[i].Last()[j].datumi.Count; k++)
                    {
                        kopijaZahteva.datumi.Add(_undoZahtevi[i].Last()[j].datumi[k]);
                    }

                    kopijaListeZahteva.Add(kopijaZahteva);
                }

                _undoZahtevi[i].Add(kopijaListeZahteva);
            }
        }
Exemple #8
0
 internal List <Klijent> PrikaziKlijente()
 {
     try {
         Zahtev zahtev = new Zahtev();
         zahtev.Operacija = Operacija.VratiKlijente;
         formatter.Serialize(stream, zahtev);
         Odgovor odgovor = (Odgovor)formatter.Deserialize(stream);
         return(odgovor.ListaKlijenata);
     }
     catch (Exception e)
     {
         MessageBox.Show(e.Message);
         return(null);
     }
 }
Exemple #9
0
 internal Predmet VratiPremdet(int predmetID)
 {
     try {
         Zahtev zahtev = new Zahtev();
         zahtev.Operacija = Operacija.VratiPredmet;
         zahtev.ID        = predmetID;
         formatter.Serialize(stream, zahtev);
         Odgovor odgovor = (Odgovor)formatter.Deserialize(stream);
         return(odgovor.Predmet);
     }
     catch (Exception e)
     {
         MessageBox.Show(e.Message);
         return(null);
     }
 }
Exemple #10
0
 internal Sastanak VratiSastanak(int sastanakID)
 {
     try{
         Zahtev zahtev = new Zahtev();
         zahtev.Operacija = Operacija.VratiSastanak;
         zahtev.ID        = sastanakID;
         formatter.Serialize(stream, zahtev);
         Odgovor odgovor = (Odgovor)formatter.Deserialize(stream);
         return(odgovor.Sastanak);
     }
     catch (Exception e)
     {
         MessageBox.Show(e.Message);
         return(null);
     }
 }
Exemple #11
0
 internal Klijent PrikaziKlijenta(int id)
 {
     try{
         Zahtev zahtev = new Zahtev();
         zahtev.Operacija = Operacija.VratiKlijenta;
         zahtev.ID        = id;
         formatter.Serialize(stream, zahtev);
         Odgovor odgovor = (Odgovor)formatter.Deserialize(stream);
         return(odgovor.Klijent);
     }
     catch (Exception e)
     {
         MessageBox.Show(e.Message);
         return(null);
     }
 }
Exemple #12
0
 internal bool PosaljiZahtev(Zahtev zahtev)
 {
     try
     {
         formatter.Serialize(stream, zahtev);
         Debug.WriteLine($">>> Klijent poslao: {zahtev.Operacija} at {DateTime.Now.TimeOfDay.ToString()}");
         return(true);
     }
     catch (IOException)
     {
         Debug.WriteLine("Posalji zah u komunikacija");
         klijentskiSocket.Close();
         return(false);
     }
     catch (Exception)
     {
         throw;
     }
 }
Exemple #13
0
 internal bool DodajKlijenta(Klijent klijent)
 {
     try{
         Zahtev zahtev = new Zahtev();
         zahtev.Operacija = Operacija.DodajKlijenta;
         zahtev.Klijent   = klijent;
         formatter.Serialize(stream, zahtev);
         Odgovor odgovor = (Odgovor)formatter.Deserialize(stream);
         if (odgovor.Signal == Signal.KlijentUspesnoDodat)
         {
             return(true);
         }
         return(false);
     }
     catch (Exception e)
     {
         MessageBox.Show(e.Message);
         return(false);
     }
 }
Exemple #14
0
 internal bool Sacuvaj(BindingList <Sastanak> sastanci)
 {
     try{
         Zahtev zahtev = new Zahtev();
         zahtev.Sastanci  = sastanci;
         zahtev.Operacija = Operacija.ZakaziSastanke;
         formatter.Serialize(stream, zahtev);
         Odgovor odgovor = (Odgovor)formatter.Deserialize(stream);
         if (odgovor.Signal == Signal.SastanciUspesnoZakazani)
         {
             return(true);
         }
         return(false);
     }
     catch (Exception e)
     {
         MessageBox.Show(e.Message);
         return(false);
     }
 }
Exemple #15
0
 internal bool DodajPredmet(Predmet predmet, List <Angazovanje> angazovanja)
 {
     try {
         Zahtev zahtev = new Zahtev();
         zahtev.Operacija   = Operacija.DodajPredmet;
         zahtev.Predmet     = predmet;
         zahtev.Angazovanja = angazovanja;
         formatter.Serialize(stream, zahtev);
         Odgovor odgovor = (Odgovor)formatter.Deserialize(stream);
         if (odgovor.Signal == Signal.PredmetUspesnoDodat)
         {
             return(true);
         }
         return(false);
     }
     catch (Exception e)
     {
         MessageBox.Show(e.Message);
         return(false);
     }
 }
Exemple #16
0
 internal bool ArhivirajPredmet(Predmet predmet)
 {
     try {
         Zahtev zahtev = new Zahtev();
         zahtev.Operacija = Operacija.ArhivirajPredmet;
         zahtev.Predmet   = predmet;
         formatter.Serialize(stream, zahtev);
         Odgovor odgovor = (Odgovor)formatter.Deserialize(stream);
         if (odgovor.Signal == Signal.PredmetUspesnoArhiviran)
         {
             return(true);
         }
         else
         {
             return(false);
         }
     }
     catch (Exception e)
     {
         MessageBox.Show(e.Message);
         return(false);
     }
 }
Exemple #17
0
        public void AzurirajDataGridView(List <Oglas> oglasi)
        {
            // inicializovati _undoOglasiDatumi i _undoZahtevi
            _undoOglasiDatumi = new List <List <List <DateTime> > >();
            _undoZahtevi      = new List <List <List <Zahtev> > >();
            for (int i = 0; i < oglasi.Count; i++)
            {
                _undoZahtevi.Add(new List <List <Zahtev> >());
                _undoZahtevi[i].Add(new List <Zahtev>());
                // Popuni _undoZahtevi sa kopijama zahteva oglasa
                if (oglasi[i].zahtevi.Count != 0)
                {
                    // napravi kompiju oglasa za undo listu
                    List <Zahtev> kopijaZahteva = new List <Zahtev>();
                    for (int j = 0; j < oglasi[i].zahtevi.Count; j++)
                    {
                        Zahtev kopija = new Zahtev();
                        kopija.id     = oglasi[i].zahtevi[j].id;
                        kopija.status = oglasi[i].zahtevi[j].status;
                        kopija.datumi = new List <DateTime>();
                        for (int k = 0; k < oglasi[i].zahtevi[j].datumi.Count; k++)
                        {
                            kopija.datumi.Add(oglasi[i].zahtevi[j].datumi[k]);
                        }

                        _undoZahtevi[i][0].Add(kopija);
                    }
                }

                _undoOglasiDatumi.Add(new List <List <DateTime> >());
                _undoOglasiDatumi[i].Add(new List <DateTime>());
                string datumiFilteredString = Filter(oglasi[i].datumi, new List <char> {
                    ' ', '\r'
                });                                                                                   // moramo da pretvorimo formatiran string datuma u listu DateTime varijabli radi poredjivanja datuma
                for (int j = 0; j < datumiFilteredString.Length; j++)
                {
                    if (datumiFilteredString[j] == '\n')
                    {
                        if ((j + 1) <= (datumiFilteredString.Length - 1))
                        {
                            if (datumiFilteredString[j + 1] == '|')
                            {
                                datumiFilteredString = datumiFilteredString.Remove(j, 1);
                                j++;
                                datumiFilteredString = datumiFilteredString.Remove(j, 1);
                                j--;
                            }
                            else
                            {
                                datumiFilteredString = datumiFilteredString.Remove(j, 1);
                                datumiFilteredString = datumiFilteredString.Insert(j, "|");
                            }
                        }
                        else
                        {
                            datumiFilteredString = datumiFilteredString.Remove(j, 1);
                        }
                    }
                }
                string[] datumiArray = datumiFilteredString.Split('|');
                foreach (string datum in datumiArray)
                {
                    string[] datumData = datum.Split('-');
                    int      godina;
                    int      mesec;
                    int      dan;
                    Int32.TryParse(datumData[0], out godina);
                    Int32.TryParse(datumData[1], out mesec);
                    Int32.TryParse(datumData[2], out dan);

                    _undoOglasiDatumi[i].Last().Add(new DateTime(godina, mesec, dan));
                }

                int waste = 0;
            }


            Action action = delegate() {
                _mojiOglasi = oglasi;
                for (int i = 0; i < oglasi.Count; i++)
                {
                    dataGridView1.Rows.Add();
                    dataGridView1.Rows[i].Cells[1].Value = oglasi[i].adresa;
                    dataGridView1.Rows[i].Cells[2].Value = oglasi[i].wifi.ToString();
                    dataGridView1.Rows[i].Cells[3].Value = oglasi[i].tus.ToString();
                    dataGridView1.Rows[i].Cells[4].Value = oglasi[i].parking_mesto.ToString();
                    dataGridView1.Rows[i].Cells[5].Value = oglasi[i].tv.ToString();
                    dataGridView1.Rows[i].Cells[6].Value = oglasi[i].datumi;
                    dataGridView1.Rows[i].Cells[7].Value = oglasi[i].opis;

                    dataGridView1.Rows[i].Cells[0].Value = imageList1.Images[i];
                }

                dataGridView1.RowTemplate.Resizable = DataGridViewTriState.True;
                dataGridView1.RowTemplate.Height    = 256;

                dataGridView1.RowTemplate.MinimumHeight = 256;
                dataGridView1.AutoSizeRowsMode          = DataGridViewAutoSizeRowsMode.AllCells;
            };

            dataGridView1.BeginInvoke(action);
        }