public void UpdatePungaSange(PungaSange punga) { using (UnitOfWork unitOfWork = new UnitOfWork()) { unitOfWork.PungaSangeRepo.Update(punga); unitOfWork.Save(); } }
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!"); } } }
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) }
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); } }
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); }
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(); } } }