コード例 #1
0
 public void UpdatePungaSange(PungaSange punga)
 {
     using (UnitOfWork unitOfWork = new UnitOfWork())
     {
         unitOfWork.PungaSangeRepo.Update(punga);
         unitOfWork.Save();
     }
 }
コード例 #2
0
        public void EliminareSangeStoc()
        {
            using (UnitOfWork unitOfWork = new UnitOfWork())
            {
                List <PungaSangeTraseu> all = GetAllPungaSangeTraseu();
                bool modificat = false;
                all.ForEach(p =>
                {
                    PungaSange pungaSange = unitOfWork.PungaSangeRepo.GetBy(punga => punga.Id.Equals(p.Id));


                    if (p.StocCentru)
                    {
                        Analiza analiza = unitOfWork.AnalizaRepo.GetBy(a => a.PungaSange.Equals(p.Id));
                        Stoc stoc       = unitOfWork.StocRepo.GetBy(s => s.RH.Equals(analiza.Rh) && s.Grupa.Equals(analiza.Grupa));
                        var dp          = p.DataPrelevarii.AddMonths(12);
                        var dpok        = DateTime.Compare(p.DataPrelevarii.AddMonths(12), DateTime.Now);
                        if (DateTime.Compare(p.DataPrelevarii.AddMonths(12), DateTime.Now) < 0 && !pungaSange.EliminatPlasma)
                        {
                            stoc.Plasma = stoc.Plasma - p.CantitatePlasma;
                            pungaSange.EliminatPlasma = true;
                            modificat = true;
                        }
                        if (DateTime.Compare(p.DataPrelevarii.AddDays(5), DateTime.Now) < 0 && !pungaSange.EliminatTrombocite)
                        {
                            stoc.Trombocite = stoc.Trombocite - p.CantitateTrombocite;
                            pungaSange.EliminatTrombocite = true;
                            modificat = true;
                        }
                        if (DateTime.Compare(p.DataPrelevarii.AddDays(42), DateTime.Now) < 0 && !pungaSange.EliminatGlobuleRosii)
                        {
                            stoc.GlobuleRosii = stoc.GlobuleRosii - p.CantitateGlobuleRosii;
                            pungaSange.EliminatGlobuleRosii = true;
                            modificat = true;
                        }
                        if (pungaSange.EliminatPlasma && pungaSange.EliminatGlobuleRosii && pungaSange.EliminatTrombocite && !pungaSange.EliminatSange)
                        {
                            stoc.TotalSange          = stoc.TotalSange - pungaSange.CantitateSange;
                            pungaSange.EliminatSange = true;
                        }
                        unitOfWork.PungaSangeRepo.Update(pungaSange);
                        unitOfWork.StocRepo.Update(stoc);
                        unitOfWork.Save();
                    }
                });
                if (modificat == true)
                {
                    throw new ValidationException("O parte din sange a expirat. Stocul a fost updatat!");
                }
            }
        }
コード例 #3
0
        public void testAddAnalize()
        {  // NU RULATI , nu este delete
            DonatorService srvDon  = new DonatorService();
            Donator        donator = srvDon.GetDonator("Dmihai");
            CentruService  service = new CentruService();

            PungaSange punga = service.GetPunga(1);

            service.AddAnaliza(BIII, Pozitiv, false, false, true, false, false, -774, punga, donator);

            Assert.AreEqual(srvDon.GetAllAnalizeByIdDonator("Dmihai").Where(x => x.NivelALT == -774), 1);

            //serivice.DeleteAnaliza(analiza)
        }
コード例 #4
0
        public void AddAnaliza(GrupaSange grupa, TipRh rh, bool hIV, bool hepatitaB, bool hepatitaC, bool sifilis, bool hTLV, int nivelALT, PungaSange punga, Donator donator)
        {
            using (UnitOfWork unitOfWork = new UnitOfWork())
            {
                Analiza    analiza = new Analiza(grupa, rh, hIV, hepatitaB, hepatitaC, sifilis, hTLV, nivelALT);
                PungaSange pungaS  = unitOfWork.PungaSangeRepo.GetBy(p => p.Id.Equals(punga.Id));
                analiza.Donator    = unitOfWork.DonatorRepo.GetBy(p => p.Id.Equals(donator.Id));
                analiza.PungaSange = pungaS;
                unitOfWork.AnalizaRepo.Save(analiza);
                unitOfWork.Save();

                //setare analiza pt punga de sange
                pungaS.Analiza = analiza;
                UpdatePungaSange(pungaS);
            }
        }
コード例 #5
0
        public void testAddPungaSange()
        {
            DonatorService srvDon = new DonatorService();

            srvDon.RegisterDonator("test", "test", "testNume", "testPrenume", "M", Convert.ToDateTime("04-02-1997"), "testDomiciliu", "testLocalitate", "testJudet", "", "", "", "1935647856", "*****@*****.**");
            Donator donator = srvDon.GetDonator("test");

            CentruService service = new CentruService();

            CentruTransfuzie centru = new CentruTransfuzie("test", "test", "test", "test");

            PungaSange punga = new PungaSange();

            punga.CantitateSange        = 0.5F;
            punga.CantitatePlasma       = 0.275F;
            punga.CantitateGlobuleRosii = -1;
            punga.CantitateTrombocite   = 150;

            service.AddPungaSange(punga, donator, centru.Nume);

            Assert.AreNotEqual(service.GetAllPungiSange().Where(x => x.CantitateGlobuleRosii == -1), null);
        }
コード例 #6
0
        public void AddPungaSange(PungaSange punga, Donator donator, string centru)
        {
            using (UnitOfWork unitOfWork = new UnitOfWork())
            {
                Donator donatorFromDb = unitOfWork.DonatorRepo.GetBy(d => d.Nume.Equals(donator.Nume) && d.Prenume.Equals(donator.Prenume) && d.Email.Equals(donator.Email));
                if (donatorFromDb == null)
                {
                    throw new Exception("Eroare! Nu s-a gasit nici un donator cu aceste date!");
                }
                punga.DataPreluarii    = DateTime.Now.Date;//.ToShortDateString();
                punga.CentruTransfuzie = unitOfWork.CentruTransfuzieRepo.GetBy(ct => ct.Nume.Equals(centru));
                if (donator == null)
                {
                    unitOfWork.PungaSangeRepo.Save(punga); unitOfWork.Save();
                }
                else
                {
                    punga.Donator = donatorFromDb;
                    unitOfWork.PungaSangeRepo.Save(punga);
                    unitOfWork.Save();
                    PungaSange  pungafromdb = unitOfWork.PungaSangeRepo.GetBy(p => p.Donator.Email.Equals(donator.Email) && p.DataPreluarii.Equals(punga.DataPreluarii));
                    TraseuPunga traseu      = new TraseuPunga();
                    traseu.Prelevata        = true;
                    traseu.PungaSange       = pungafromdb;
                    traseu.SosireAnalize    = false;
                    traseu.SpitalPacient    = false;
                    traseu.StocCentru       = false;
                    traseu.TrimiseLaAnalize = false;

                    unitOfWork.TraseuPungaRepo.Save(traseu);
                    unitOfWork.Save();
                    pungafromdb.TraseuPunga = unitOfWork.TraseuPungaRepo.GetBy(t => t.PungaSange.Id.Equals(pungafromdb.Id));
                    donatorFromDb.PungiSange.Add(pungafromdb);
                    unitOfWork.Save();
                }
            }
        }