protected void SkusPoslatNaObedAleboObsluzDalsieho(Pracovnik pracovnik) { if (!SkustPoslatPracovnikaNaObed(pracovnik)) { AkCakaSpracujDalsieho(); } }
protected void NavratPracovnikaZObedu(Pracovnik pracovnik) { MyAgent.DostupniPracovnici.Set(pracovnik.IDPracovnika, true); MyAgent.NenajedeniPracovnici.Set(pracovnik.IDPracovnika, false); pracovnik.Obedoval = true; --MyAgent.PocetObedujucich; pracovnik.Stav = "Nečinný"; NaplanujMozneObedy(); AkCakaSpracujDalsieho(); }
protected void DokonceniePracePracovnikom(Pracovnik pracovnik) { MyAgent.DostupniPracovnici.Set(pracovnik.IDPracovnika, true); pracovnik.Utilization.AddSample(0); --MyAgent.PocetPracujucich; pracovnik.Stav = "Nečinný"; MyAgent.VytazeniePracovnikov.AddSample((double)MyAgent.PocetPracujucich / (MyAgent.PocetPracovnikov - MyAgent.PocetObedujucich)); SkusPoslatNaObedAleboObsluzDalsieho(pracovnik); }
protected bool SkustPoslatPracovnikaNaObed(Pracovnik pracovnik) { if (MyAgent.NenajedeniPracovnici[pracovnik.IDPracovnika] && MyAgent.PocetObedujucich < MyAgent.PocetPracovnikov / 2 && MyAgent.JeCasObeda) { var sprava = new Sprava(MySim); sprava.Code = Mc.VykonajObed; sprava.Pracovnik = pracovnik; sprava.Addressee = ((VacCenterSimulation)MySim).AgentVakCentra; MyAgent.DostupniPracovnici.Set(pracovnik.IDPracovnika, false); ++MyAgent.PocetObedujucich; ++MyAgent.PocetUzNajedenychPracovnikov; Request(sprava); return(true); } return(false); }