Пример #1
0
        //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);
        }
Пример #2
0
        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());
        }