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
     });
 }
示例#3
0
        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);
        }