//public static void Add(string DIN, string productCode) //{ // Pack toPack = new Pack(); // toPack.DIN = DIN; // toPack.ProductCode = productCode; // toPack.Status = Pack.StatusX.Product; // toPack.Actor = RedBloodSystem.CurrentActor; // //toPack.Volume = p.OriginalVolume; // toPack.ExpirationDate = DateTime.Now.Add(p.Duration.Value - RedBloodSystem.RootTime); // db.Packs.InsertOnSubmit(toPack); // db.SubmitChanges(); // PackTransactionBLL.Add(toPack.ID, PackTransaction.TypeX.In_Product); // //Update fromPack // PackStatusHistory h = PackBLL.Update(db, pack, Pack.StatusX.Produced, ""); // if (h != null) // { // db.SubmitChanges(); // PackTransactionBLL.Add(pack.ID, PackTransaction.TypeX.Out_Product); // } // return PackErrEnum.Non; //} public static Pack Get4Order(string DIN, string productCode) { Pack p = PackBLL.Get(DIN, productCode); if (p.Status != Pack.StatusX.Product) { throw new Exception("Không thể cấp phát. Túi máu: " + p.Status); } if (p.Donation.TestResultStatus != Donation.TestResultStatusX.Negative) { throw new Exception("Không thể cấp phát túi máu này. KQ xét nghiệm sàng lọc: " + p.Donation.TestResultStatus); } return(p); }
public static PackOrder Get4Return(string DIN, string productCode) { Pack p = PackBLL.Get(DIN, productCode); var v = p.PackOrders.Where(r => !r.ReturnID.HasValue); if (v.Count() > 1) { throw new Exception("Sai dữ liệu. Túi máu cấp phát 2 lần."); } if (v.Count() == 0) { throw new Exception("Chưa có cấp phát túi máu này."); } return(v.FirstOrDefault()); }