public UzklausosFormosRezultatas FormosPatvirtinimas(UzklausosForma uzklausa) { if (uzklausa == null) { throw new ArgumentNullException(nameof(uzklausa)); } var rezultatas = Create <UzklausosFormosRezultatas>(uzklausa); var laisviDaktarai = _daktaroSaugykla.GautiPrieinamusDaktarus(uzklausa.Data); if (laisviDaktarai.FirstOrDefault() is Daktaras laisvasDaktaras) { var daktaroForma = Create <DaktaroForma>(uzklausa); daktaroForma.DaktarasId = laisvasDaktaras.Id; _formosSaugykla.Issaugoti(daktaroForma); rezultatas.PasirinktasDaktaras = daktaroForma.Id; rezultatas.DaktaroPasirinkimoKodas = DaktaroPasirinkimoKodas.Sekmingas; } else { rezultatas.DaktaroPasirinkimoKodas = DaktaroPasirinkimoKodas.NeraLaisvoLaiko; } return(rezultatas); }
private T Create <T>(UzklausosForma uzklausa) where T : UzklausosFormaPagrindine, new() { return(new T() { PacientoId = uzklausa.PacientoId, LigosAprasymas = uzklausa.LigosAprasymas, Data = uzklausa.Data }); }
public KlinikosInformacinesSistemosUzklausosApdorojimoTestas() { _uzklausa = new UzklausosForma { PacientoId = 0001, LigosAprasymas = "Luzo koja", Data = new DateTime(2020 - 06 - 10) }; _laisviDaktarai = new List <Daktaras>() { new Daktaras(001, SkyriausKodas.Traumotologinis) }; _formosSaugyklaMock = new Mock <IFormosSaugykla>(); _daktaroSaugyklaMock = new Mock <IDaktaroSaugykla>(); _daktaroSaugyklaMock.Setup(x => x.GautiPrieinamusDaktarus(_uzklausa.Data)) .Returns(_laisviDaktarai); _processor = new KlinikosInformacineSistemaProcessor(_formosSaugyklaMock.Object, _daktaroSaugyklaMock.Object); }