void obradi()
        {
            try
            {
                int operacija = 0;
                while (operacija != (int)Operacije.Kraj)
                {
                    TransferKlasa transfer = formater.Deserialize(tok) as TransferKlasa;

                    if (Server.UgasenServer)
                    {
                        transfer.UgasenServer = true;
                        formater.Serialize(tok, transfer);
                        return;
                    }

                    switch (transfer.Operacija)
                    {
                    case Operacije.VratiSifruDestinacije:
                        VratiSifruDestinacije vratsifdes = new VratiSifruDestinacije();
                        transfer.Rezultat = vratsifdes.IzvrsiSO(transfer.TransferObjekat as OpstiDomenskiObjekat);
                        formater.Serialize(tok, transfer);
                        break;

                    case Operacije.VratiSifruTuriste:
                        VratiSifruTuriste vratsifrtur = new VratiSifruTuriste();
                        transfer.Rezultat = vratsifrtur.IzvrsiSO(transfer.TransferObjekat as OpstiDomenskiObjekat);
                        formater.Serialize(tok, transfer);
                        break;

                    case Operacije.VratiSifruFakultativnogIzleta:
                        VratiSifruFakultativnogIzleta vratsiffakiz = new VratiSifruFakultativnogIzleta();
                        transfer.Rezultat = vratsiffakiz.IzvrsiSO(transfer.TransferObjekat as OpstiDomenskiObjekat);
                        formater.Serialize(tok, transfer);
                        break;

                    case Operacije.VratiSifruRezervacije:
                        VratiSifruRezervacije vratsifrez = new VratiSifruRezervacije();
                        transfer.Rezultat = vratsifrez.IzvrsiSO(transfer.TransferObjekat as OpstiDomenskiObjekat);
                        formater.Serialize(tok, transfer);
                        break;

                    case Operacije.SacuvajRealizaciju:
                        SacuvajRealizaciju sr = new SacuvajRealizaciju();
                        transfer.Rezultat = sr.IzvrsiSO(transfer.TransferObjekat as OpstiDomenskiObjekat);
                        formater.Serialize(tok, transfer);
                        break;

                    case Operacije.SacuvajDestinaciju:
                        SacuvajDestinaciju sd = new SacuvajDestinaciju();
                        transfer.Rezultat = sd.IzvrsiSO(transfer.TransferObjekat as OpstiDomenskiObjekat);
                        formater.Serialize(tok, transfer);
                        break;

                    case Operacije.IzmeniRezervaciju:
                        IzmeniRezervaciju izr = new IzmeniRezervaciju();
                        transfer.Rezultat = izr.IzvrsiSO(transfer.TransferObjekat as OpstiDomenskiObjekat);
                        formater.Serialize(tok, transfer);
                        break;

                    case Operacije.IzmeniDestinaciju:
                        IzmeniDestinaciju izd = new IzmeniDestinaciju();
                        transfer.Rezultat = izd.IzvrsiSO(transfer.TransferObjekat as OpstiDomenskiObjekat);
                        formater.Serialize(tok, transfer);
                        break;

                    case Operacije.IzmeniRealizaciju:
                        IzmeniRealizaciju izreal = new IzmeniRealizaciju();
                        transfer.Rezultat = izreal.IzvrsiSO(transfer.TransferObjekat as OpstiDomenskiObjekat);
                        formater.Serialize(tok, transfer);
                        break;

                    case Operacije.PrijaviRadnika:
                        PrijaviRadnika pr = new PrijaviRadnika();
                        transfer.Rezultat = pr.IzvrsiSO(transfer.TransferObjekat as OpstiDomenskiObjekat);
                        formater.Serialize(tok, transfer);
                        break;

                    case Operacije.KreirajTuristu:
                        KreirajNovogTuristu knt = new KreirajNovogTuristu();
                        transfer.Rezultat = knt.IzvrsiSO(transfer.TransferObjekat as OpstiDomenskiObjekat);
                        formater.Serialize(tok, transfer);
                        break;

                    case Operacije.KreirajDestinaciju:
                        KreirajNovuDestinaciju knd = new KreirajNovuDestinaciju();
                        transfer.Rezultat = knd.IzvrsiSO(transfer.TransferObjekat as OpstiDomenskiObjekat);
                        formater.Serialize(tok, transfer);
                        break;

                    case Operacije.KreirajFakultativniIzlet:
                        KreirajNoviFakultativniIzlet knfi = new KreirajNoviFakultativniIzlet();
                        transfer.Rezultat = knfi.IzvrsiSO(transfer.TransferObjekat as OpstiDomenskiObjekat);
                        formater.Serialize(tok, transfer);
                        break;

                    case Operacije.KreirajRezervaciju:
                        KreirajRezervaciju kr = new KreirajRezervaciju();
                        transfer.Rezultat = kr.IzvrsiSO(transfer.TransferObjekat as OpstiDomenskiObjekat);
                        formater.Serialize(tok, transfer);
                        break;

                    case Operacije.ZapamtiTuristu:
                        ZapamtiTuristu zt = new ZapamtiTuristu();
                        transfer.Rezultat = zt.IzvrsiSO(transfer.TransferObjekat as OpstiDomenskiObjekat);
                        formater.Serialize(tok, transfer);
                        break;

                    case Operacije.ZapamtiDestinaciju:
                        ZapamtiDestinaciju zd = new ZapamtiDestinaciju();
                        transfer.Rezultat = zd.IzvrsiSO(transfer.TransferObjekat as OpstiDomenskiObjekat);
                        formater.Serialize(tok, transfer);
                        break;

                    case Operacije.ZapamtiRezervaciju:
                        ZapamtiRezervaciju rz = new ZapamtiRezervaciju();
                        transfer.Rezultat = rz.IzvrsiSO(transfer.TransferObjekat as OpstiDomenskiObjekat);
                        formater.Serialize(tok, transfer);
                        break;

                    case Operacije.ZapamtiFakultativniIzlet:
                        ZapamtiFakultativniIzlet zfi = new ZapamtiFakultativniIzlet();
                        transfer.Rezultat = zfi.IzvrsiSO(transfer.TransferObjekat as OpstiDomenskiObjekat);
                        formater.Serialize(tok, transfer);
                        break;

                    case Operacije.ZapamtiRealizaciju:
                        ZapamtiRealizaciju zre = new ZapamtiRealizaciju();
                        transfer.Rezultat = zre.IzvrsiSO(transfer.TransferObjekat as OpstiDomenskiObjekat);
                        formater.Serialize(tok, transfer);
                        break;

                    case Operacije.SacuvajFotografije:
                        SacuvajFotografije sf = new SacuvajFotografije();
                        transfer.Rezultat = sf.IzvrsiSO(transfer.TransferObjekat as OpstiDomenskiObjekat);
                        formater.Serialize(tok, transfer);
                        break;

                    case Operacije.VratiSveFakultativneIzlete:
                        VratiSveFakultativneIzlete vsfi = new VratiSveFakultativneIzlete();
                        transfer.Rezultat = vsfi.IzvrsiSO(transfer.TransferObjekat as OpstiDomenskiObjekat);
                        formater.Serialize(tok, transfer);
                        break;

                    case Operacije.VratiSveDestinacije:
                        VratiSveDestinacije vsd = new VratiSveDestinacije();
                        transfer.Rezultat = vsd.IzvrsiSO(transfer.TransferObjekat as OpstiDomenskiObjekat);
                        formater.Serialize(tok, transfer);
                        break;

                    case Operacije.VratiSveTuriste:
                        VratiSveTuriste vsvet = new VratiSveTuriste();
                        transfer.Rezultat = vsvet.IzvrsiSO(transfer.TransferObjekat as OpstiDomenskiObjekat);
                        formater.Serialize(tok, transfer);
                        break;

                    case Operacije.VratiSveRadnike:
                        VratiSveRadnike vsr = new VratiSveRadnike();
                        transfer.Rezultat = vsr.IzvrsiSO(transfer.TransferObjekat as OpstiDomenskiObjekat);
                        formater.Serialize(tok, transfer);
                        break;

                    case Operacije.PretraziRezervacije:
                        PretraziRezervacije prez = new PretraziRezervacije();
                        transfer.Rezultat = prez.IzvrsiSO(transfer.TransferObjekat as OpstiDomenskiObjekat);
                        formater.Serialize(tok, transfer);
                        break;

                    case Operacije.PretraziDestinacije:
                        PretraziDestinacije pdes = new PretraziDestinacije();
                        transfer.Rezultat = pdes.IzvrsiSO(transfer.TransferObjekat as OpstiDomenskiObjekat);
                        formater.Serialize(tok, transfer);
                        break;

                    case Operacije.PretraziFakultativneIzlete:
                        PretraziFakultativneIzlete pfi = new PretraziFakultativneIzlete();
                        transfer.Rezultat = pfi.IzvrsiSO(transfer.TransferObjekat as OpstiDomenskiObjekat);
                        formater.Serialize(tok, transfer);
                        break;

                    case Operacije.UcitajDestinaciju:
                        UcitajDestinaciju ud = new UcitajDestinaciju();
                        transfer.Rezultat = ud.IzvrsiSO(transfer.TransferObjekat as OpstiDomenskiObjekat);
                        formater.Serialize(tok, transfer);
                        break;

                    case Operacije.UcitajRezervaciju:
                        UcitajRezervaciju ur = new UcitajRezervaciju();
                        transfer.Rezultat = ur.IzvrsiSO(transfer.TransferObjekat as OpstiDomenskiObjekat);
                        formater.Serialize(tok, transfer);
                        break;

                    case Operacije.ObrisiFakultativniIzlet:
                        ObrisiFakultativniIzlet ofi = new ObrisiFakultativniIzlet();
                        transfer.Rezultat = ofi.IzvrsiSO(transfer.TransferObjekat as OpstiDomenskiObjekat);
                        formater.Serialize(tok, transfer);
                        break;

                    case Operacije.ObrisiRezervaciju:
                        ObrisiRezervaciju or = new ObrisiRezervaciju();
                        transfer.Rezultat = or.IzvrsiSO(transfer.TransferObjekat as OpstiDomenskiObjekat);
                        formater.Serialize(tok, transfer);
                        break;

                    case Operacije.PrikaziFotografije:
                        PrikaziFotografije pf = new PrikaziFotografije();
                        transfer.Rezultat = pf.IzvrsiSO(transfer.TransferObjekat as OpstiDomenskiObjekat);
                        formater.Serialize(tok, transfer);
                        break;

                    case Operacije.Kraj:
                        operacija = 1;
                        Server.listaTokova.Remove(tok);
                        break;

                    default:
                        break;
                    }
                }
            }
            catch (Exception)
            {
                Server.listaTokova.Remove(tok);
            }
        }
Exemple #2
0
        void Obradi()
        {
            try
            {
                int operacija = 0;
                while (operacija != (int)Operacije.Kraj)
                {
                    TransferKlasa transfer = formater.Deserialize(tok) as TransferKlasa;

                    if (Server.KrajServera)
                    {
                        transfer.Operacija = Operacije.Kraj;
                    }

                    switch (transfer.Operacija)
                    {
                    case Operacije.PronadjiZaposlenog:
                        PronadjiZaposlenog pz = new PronadjiZaposlenog();
                        //izvrsavam "opstu" SO jer mi ona kreira konekciju sa bazom i poziva konkretnu SO (u ovom slucaju so PronadjiZaposlenog jer sam nju istancirao)
                        transfer.Rezultat = pz.IzvrsiSO(transfer.TransferObjekat as OpstiDomenskiObjekat);
                        formater.Serialize(tok, transfer);
                        break;

                    case Operacije.KreirajPutnika:
                        KreirajPutnika kp = new KreirajPutnika();
                        transfer.Rezultat = kp.IzvrsiSO(transfer.TransferObjekat as OpstiDomenskiObjekat);
                        formater.Serialize(tok, transfer);
                        break;

                    case Operacije.ZapamtiPutnika:
                        ZapamtiPutnika zp = new ZapamtiPutnika();
                        transfer.Rezultat = zp.IzvrsiSO(transfer.TransferObjekat as OpstiDomenskiObjekat);
                        formater.Serialize(tok, transfer);
                        break;

                    case Operacije.UcitajSvePutnike:
                        UcitajSvePutnike usp = new UcitajSvePutnike();
                        transfer.Rezultat = usp.IzvrsiSO(transfer.TransferObjekat as OpstiDomenskiObjekat);
                        formater.Serialize(tok, transfer);
                        break;

                    case Operacije.PretragaPutnika:
                        PretragaPutnika pp = new PretragaPutnika();
                        transfer.Rezultat = pp.IzvrsiSO(transfer.TransferObjekat as OpstiDomenskiObjekat);
                        formater.Serialize(tok, transfer);
                        break;

                    case Operacije.UcitajPutnika:
                        UcitajPutnika up = new UcitajPutnika();
                        transfer.Rezultat = up.IzvrsiSO(transfer.TransferObjekat as OpstiDomenskiObjekat);
                        formater.Serialize(tok, transfer);
                        break;

                    case Operacije.ObrisiPutnika:
                        ObrisiPutnika op = new ObrisiPutnika();
                        transfer.Rezultat = op.IzvrsiSO(transfer.TransferObjekat as OpstiDomenskiObjekat);
                        formater.Serialize(tok, transfer);
                        break;

                    case Operacije.UcitajSveLinije:
                        UcitajSveLinije usl = new UcitajSveLinije();
                        transfer.Rezultat = usl.IzvrsiSO(transfer.TransferObjekat as OpstiDomenskiObjekat);
                        formater.Serialize(tok, transfer);
                        break;

                    case Operacije.KreirajRezervaciju:
                        KreirajRezervaciju kr = new KreirajRezervaciju();
                        transfer.Rezultat = kr.IzvrsiSO(transfer.TransferObjekat as OpstiDomenskiObjekat);
                        formater.Serialize(tok, transfer);
                        break;

                    case Operacije.ZapamtiRezervaciju:
                        ZapamtiRezervaciju zr = new ZapamtiRezervaciju();
                        transfer.Rezultat = zr.IzvrsiSO(transfer.TransferObjekat as OpstiDomenskiObjekat);
                        formater.Serialize(tok, transfer);
                        break;

                    case Operacije.ObrisiRezervaciju:
                        ObrisiRezervaciju or = new ObrisiRezervaciju();
                        transfer.Rezultat = or.IzvrsiSO(transfer.TransferObjekat as OpstiDomenskiObjekat);
                        formater.Serialize(tok, transfer);
                        break;

                    case Operacije.UcitajRezervaciju:
                        UcitajRezervaciju ur = new UcitajRezervaciju();
                        transfer.Rezultat = ur.IzvrsiSO(transfer.TransferObjekat as OpstiDomenskiObjekat);
                        formater.Serialize(tok, transfer);
                        break;

                    case Operacije.PretrazivanjeRezervacija:
                        PretrazivanjeRezervacija pr = new PretrazivanjeRezervacija();
                        transfer.Rezultat = pr.IzvrsiSO(transfer.TransferObjekat as OpstiDomenskiObjekat);
                        formater.Serialize(tok, transfer);
                        break;

                    case Operacije.Kraj:
                        operacija = 1;
                        Server.listaTokova.Remove(tok);

                        //saljem klijentu informaciju da je server prekinuo/zavrsio rad
                        formater.Serialize(tok, transfer);
                        break;

                    default:
                        break;
                    }
                }
            }
            catch (Exception)
            {
                try
                {
                    Server.listaTokova.Remove(tok);
                }
                catch (Exception)
                {
                }
            }
        }