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); } }
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); } }
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); } }
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"); }
internal void PrekiniKomunikaciju() { try { Zahtev zahtev = new Zahtev(); zahtev.Operacija = Operacija.Prekini; klijentskiSoket.Shutdown(SocketShutdown.Both); klijentskiSoket.Close(); } catch { } }
internal void IzlogujSe() { try { Zahtev zahtev = new Zahtev(); zahtev.Sekretar = logovaniSekretar; zahtev.Operacija = Operacija.IzlogujSe; formatter.Serialize(stream, zahtev); } catch { } }
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); } }
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); } }
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); } }
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); } }
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); } }
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; } }
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); } }
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); } }
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); } }
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); } }
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); }