public static Hospital GetFirst()
        {
            RedBloodDataContext db = new RedBloodDataContext();

            return (from s in db.Hospitals
                    select s).FirstOrDefault();
        }
Beispiel #2
0
    protected void LinqDataSource1_Selecting(object sender, LinqDataSourceSelectEventArgs e)
    {
        RedBloodDataContext db = new RedBloodDataContext();

        e.Result = db.vw_ProductCounts.Where(r => r.Status == Pack.StatusX.Product)
            .ToList()
            .GroupBy(r => new { r.ProductCode, r.ProductDesc, r.Status }, (r, sub) => new
            {
                r.ProductCode,
                r.ProductDesc,
                r.Status,
                Total = sub.Sum(r1 => r1.Count),
                TotalExpired = sub.Where(r1 => r1.ExpirationDate.Value.Expired())
                                    .Sum(r1 => r1.Count).ToStringRemoveZero(),
                TotalExpiredInDays = sub.Where(r1 => r1.ExpirationDate.Value.ExpiredInDays(ExpiredInDays))
                                    .Sum(r1 => r1.Count).ToStringRemoveZero(),
                TotalTRNA = sub.Where(r1 => r1.TestResultStatus == Donation.TestResultStatusX.Non)
                                .Sum(r1 => r1.Count).ToStringRemoveZero(),
                TotalTRNeg = sub.Where(r1 => r1.TestResultStatus == Donation.TestResultStatusX.Negative)
                                .Sum(r1 => r1.Count).ToStringRemoveZero(),
                TotalTRPos = sub.Where(r1 => r1.TestResultStatus == Donation.TestResultStatusX.Positive)
                                .Sum(r1 => r1.Count).ToStringRemoveZero(),
                BloodGroupSumary = sub.GroupBy(r1 => r1.BloodGroup, (r1, BGSub) => new
                {
                    BloodGroupDesc = BloodGroupBLL.GetDescription(r1),
                    Total = BGSub.Sum(r3 => r3.Count)
                }),
                VolumeSumary = sub.GroupBy(r1 => r1.Volume, (r1, VolSub) => new
                {
                    Volume = r1.HasValue ? r1.Value.ToString() : "_",
                    Total = VolSub.Sum(r3 => r3.Count)
                })
            })
            .OrderBy(r => r.ProductDesc);
    }
Beispiel #3
0
    protected void LinqDataSource1_Selecting(object sender, LinqDataSourceSelectEventArgs e)
    {
        ucDateRange.Validated();

        RedBloodDataContext db = new RedBloodDataContext();

        e.Result = db.Campaigns.Where(r => r.Type == Campaign.TypeX.Short_run && ucDateRange.FromDate <= r.Date
                                    && r.Date <= ucDateRange.ToDate
                                    && r.CoopOrg.GeoID1 == ProvinceID)
                                .ToList()
                                .Select(r => new
                                                {
                                                    CoopOrg = r.CoopOrg.Name,
                                                    HostOrg = r.HostOrg.Name,
                                                    r.Date,
                                                    Total = r.CollectedDonations.Count(),
                                                    Total450 = r.CollectedDonations.Where(r2 => r2.Pack.Volume == 450).Count().ToStringRemoveZero(),
                                                    Total350 = r.CollectedDonations.Where(r2 => r2.Pack.Volume == 350).Count().ToStringRemoveZero(),
                                                    Total250 = r.CollectedDonations.Where(r2 => r2.Pack.Volume == 250).Count().ToStringRemoveZero(),
                                                    TotalXXX = r.CollectedDonations.Where(r2 => r2.Pack.Volume != 250 && r2.Pack.Volume != 350 && r2.Pack.Volume != 450).Count().ToStringRemoveZero(),
                                                    TotalPos = r.CollectedDonations.Where(r2 => r2.TestResultStatus == Donation.TestResultStatusX.Positive).Count().ToStringRemoveZero(),
                                                    TotalNeg = r.CollectedDonations.Where(r2 => r2.TestResultStatus == Donation.TestResultStatusX.Negative).Count().ToStringRemoveZero(),
                                                    TotalNon = r.CollectedDonations.Where(r2 => r2.TestResultStatus == Donation.TestResultStatusX.Non).Count().ToStringRemoveZero(),
                                                    TotalMiss = r.Donations.Where(r2 => r2.Pack == null).Count().ToStringRemoveZero()
                                                })
            .OrderBy(r => r.Date);
    }
    protected void btnSave_Click(object sender, EventArgs e)
    {
        RedBloodDataContext db = new RedBloodDataContext();

        Donation d = DonationBLL.Get(db, DIN);

        if (d == null)
        {
            Clear();
        }
        else
        {
            //TODO: Check to see too late to update
            // Code check will be here

            d.Collector = txtCollector.Text.Trim();

            if (d.Pack != null)
            {
                d.Pack.Volume = txtVolume.Text.ToInt();
                d.Pack.Note = txtNote.Text.Trim();
            }

            d.Note = txtNote.Text.Trim();

            db.SubmitChanges();

            this.Alert("Lưu thành công.");
        }
    }
Beispiel #5
0
    public List<string> AddDIN(string DIN)
    {
        if (DINInList.Contains(DIN))
            throw new Exception("Mã túi máu này đã có.");

        Donation d = DonationBLL.Get(DIN);

        if (d == null)
            throw new Exception("Không có mã túi máu này.");

        if (d.TestResultStatus == Donation.TestResultStatusX.Positive)
        {
            throw new Exception("Xét nghiệm sàng lọc: Dương tính.");
        }

        RedBloodDataContext db = new RedBloodDataContext();
        int count = db.Packs.Where(r => ProductCodeInList.Contains(r.ProductCode) && r.DIN == DIN).Count();
        if (count == 0)
            throw new Exception("Mã túi máu này không có sản phẩm đầu vào.");

        count = db.Packs.Where(r => ProductCodeOutList.Contains(r.ProductCode) && r.DIN == DIN).Count();
        if (count > 0)
            throw new Exception("Mã túi máu này đã có sản phẩm đầu ra.");

        DINInList.Add(DIN);

        return DINInList;
    }
Beispiel #6
0
    protected void LinqDataSourceStart_Selecting(object sender, LinqDataSourceSelectEventArgs e)
    {
        ucDateRange.Validated();

        RedBloodDataContext db = new RedBloodDataContext();

        e.Result = db.Campaigns.Where(r => r.Type == Campaign.TypeX.Short_run && ucDateRange.FromDate <= r.Date
                                                && r.Date <= ucDateRange.ToDate)
            .ToList()
                                                .GroupBy(r => new { r.CoopOrg.Geo1 }, (r, sub) => new
            {
                Province = r.Geo1.Fullname,
                Url = RedBloodSystem.Url4CollectRpt11
                    + "ProvinceID=" + r.Geo1.ID.ToString()
                    + "&from=" + ucDateRange.FromDate.Value.Date.ToShortDateString()
                    + "&to=" + ucDateRange.ToDate.Value.Date.ToShortDateString(),
                Total = sub.Sum(r1 => r1.CollectedDonations.Count()),
                Total450 = sub.Sum(r1 => r1.CollectedDonations.Where(r2 => r2.Pack.Volume == 450).Count()).ToStringRemoveZero(),
                Total350 = sub.Sum(r1 => r1.CollectedDonations.Where(r2 => r2.Pack.Volume == 350).Count()).ToStringRemoveZero(),
                Total250 = sub.Sum(r1 => r1.CollectedDonations.Where(r2 => r2.Pack.Volume == 250).Count()).ToStringRemoveZero(),
                TotalXXX = sub.Sum(r1 => r1.CollectedDonations.Where(r2 => r2.Pack.Volume != 250 && r2.Pack.Volume != 350 && r2.Pack.Volume != 450).Count()).ToStringRemoveZero(),
                TotalPos = sub.Sum(r1 => r1.CollectedDonations.Where(r2 => r2.TestResultStatus == Donation.TestResultStatusX.Positive).Count()).ToStringRemoveZero(),
                TotalNeg = sub.Sum(r1 => r1.CollectedDonations.Where(r2 => r2.TestResultStatus == Donation.TestResultStatusX.Negative).Count()).ToStringRemoveZero(),
                TotalNon = sub.Sum(r1 => r1.CollectedDonations.Where(r2 => r2.TestResultStatus == Donation.TestResultStatusX.Non).Count()).ToStringRemoveZero(),
                TotalMiss = sub.Sum(r1 => r1.Donations.Where(r2 => r2.Pack == null).Count()).ToStringRemoveZero()
            })
            .OrderBy(r => r.Province);
    }
Beispiel #7
0
    protected void LinqDataSourceRpt_Selecting(object sender, LinqDataSourceSelectEventArgs e)
    {
        ucDateRange.Validated();

        RedBloodDataContext db = new RedBloodDataContext();

        e.Result = db.Campaigns.Where(r => ucDateRange.FromDate <= r.Date && r.Date <= ucDateRange.ToDate)
            .ToList()
            .Select(r => new
            {
                r.ID,
                Url = RedBloodSystem.Url4CollectRpt920
                   + "CampaignID=" + r.ID.ToString(),
                r.Name,
                r.Date,
                Total = r.CollectedDonations.Count(),
                HostName = r.HostOrg.Name,
                CoopName = r.CoopOrg.Name,
                TestResultPos = RedBloodSystem.checkingInfection.Select(r1 => new
                {
                    r1.Name,
                    Total = r.Donations.Where(r2 => r1.Decode(r2.InfectiousMarkers) == TR.pos.Name).Count()
                }).Where(r1 => r1.Total > 0),
                TestResultNA = RedBloodSystem.checkingInfection.Select(r1 => new
                {
                    r1.Name,
                    Total = r.Donations.Where(r2 => r1.Decode(r2.InfectiousMarkers) == TR.na.Name).Count()
                }).Where(r1 => r1.Total > 0),
                BloodGroupSumary = r.Donations.GroupBy(r1 => r1.BloodGroup, (r2, BGSub) => new
                {
                    BloodGroupDesc = BloodGroupBLL.GetDescription(r2),
                    Total = BGSub.Count()
                })
            });
    }
Beispiel #8
0
        public static DonationErr Assign(string DIN, Guid peopleID, int campaignID, DateTime? collectedDate, string actor)
        {
            RedBloodDataContext db = new RedBloodDataContext();

            Donation d = (from c in db.Donations
                          where c.DIN == DIN && c.PeopleID == null && c.CampaignID == null
                          select c).FirstOrDefault();

            if (d == null)
            {
                return DonationErrEnum.NonExist;
            }

            try
            {
                d.PeopleID = peopleID;
                d.CollectedDate = collectedDate;
                d.CampaignID = campaignID;
                d.Actor = actor;

                UpdateStatus(db, d, Donation.StatusX.Assigned, "Assign peopleID=" + peopleID.ToString() + "&CampaignID=" + campaignID.ToString());

                db.SubmitChanges();

                CampaignBLL.SetStatus(campaignID);
            }
            catch (Exception ex)
            {
                return new DonationErr(ex.Message);
            }

            return DonationErrEnum.Non;
        }
    protected void LinqDataSource1_Selecting(object sender, LinqDataSourceSelectEventArgs e)
    {
        RedBloodDataContext db = new RedBloodDataContext();

        e.Result = db.Packs.Where(r => r.Status == Pack.StatusX.Product && r.ProductCode == ProductCode
            && (TR == Donation.TestResultStatusX.All || r.Donation.TestResultStatus == TR)
            )
            //.ToList()
            .Select(r => new
            {
                r.DIN,
                r.Donation.TestResultStatus,
                r.Donation.BloodGroup,
                r.Volume,
                r.ExpirationDate,
            })
            .ToList()
            .Select(r => new
            {
                r.DIN,
                r.TestResultStatus,
                BloodGroupDesc = BloodGroupBLL.GetDescription(r.BloodGroup),
                r.Volume,
                ExpirationDate = r.ExpirationDate.ToStringVN_Hour(),
                Expired = r.ExpirationDate.Value.Expired() ? "X" : "",
                ExpiredInDays = r.ExpirationDate.Value.ExpiredInDays(ExpiredInDays) ? "X" : ""
            })
            .OrderBy(r => r.TestResultStatus).ThenBy(r => r.DIN);
    }
Beispiel #10
0
    protected void LinqDataSourceIn_Selecting(object sender, LinqDataSourceSelectEventArgs e)
    {
        ucDateRange.Validated();

        RedBloodDataContext db = new RedBloodDataContext();

        e.Result = db.vw_PackTrans.Where(r => PackTransactionBLL.InTypeList.Contains(r.Type)
                                                && ucDateRange.FromDate <= r.Date
                                                && r.Date <= ucDateRange.ToDate)
            .ToList()
            .GroupBy(r => new { r.ProductCode, r.ProductDesc }, (r, sub) => new
            {
                r.ProductCode,
                r.ProductDesc,
                Total = sub.Sum(r1 => r1.Count),
                TotalInCollect = sub.Where(r1 => r1.Type == PackTransaction.TypeX.In_Collect)
                                    .Sum(r1 => r1.Count),
                TotalInProduct = sub.Where(r1 => r1.Type == PackTransaction.TypeX.In_Product)
                                    .Sum(r1 => r1.Count),
                TotalInReturn = sub.Where(r1 => r1.Type == PackTransaction.TypeX.In_Return)
                                    .Sum(r1 => r1.Count),
                BloodGroupSumary = sub.GroupBy(r1 => r1.BloodGroup, (r1, BGSub) => new
                {
                    BloodGroupDesc = BloodGroupBLL.GetDescription(r1),
                    Total = BGSub.Sum(r3 => r3.Count)
                }),
                VolumeSumary = sub.GroupBy(r1 => r1.Volume, (r1, VolSub) => new
                {
                    Volume = r1,
                    Total = VolSub.Sum(r3 => r3.Count)
                })
            })
            .OrderBy(r => r.ProductDesc);
    }
        public static void Backup(DateTime date)
        {
            Validate(date);

            string err = "Process for day: " + date.Date.ToShortDateString() + ". ";

            RedBloodDataContext db = new RedBloodDataContext();

            if (db.PackRemainDailies.Where(r => r.Date.Value.Date == date.Date).Count() > 0)
            {
                LogBLL.LogsFailAndThrow(err + "Existing data.");
            }

            IQueryable<Pack> rows = db.Packs.Where(r => r.Status == Pack.StatusX.Product);

            //Insert
            foreach (Pack item in rows)
            {
                PackRemainDaily r = new PackRemainDaily();
                r.PackID = item.ID;
                r.Status = item.Status;
                r.Date = date;
                r.Note = "Process on: " + DateTime.Now.ToString();

                db.PackRemainDailies.InsertOnSubmit(r);
            }

            db.SubmitChanges();

            LogBLL.Logs();
        }
Beispiel #12
0
    protected void LinqDataSourceEnd_Selecting(object sender, LinqDataSourceSelectEventArgs e)
    {
        ucDateRange.Validated();

        RedBloodDataContext db = new RedBloodDataContext();

        e.Result = db.vw_PackRemainDailies.Where(r => r.Date == ucDateRange.ToDate)
            .ToList()
            .GroupBy(r => new { r.ProductCode, r.ProductDesc }, (r, sub) => new
            {
                r.ProductCode,
                r.ProductDesc,
                Total = sub.Sum(r1 => r1.Count),
                BloodGroupSumary = sub.GroupBy(r1 => r1.BloodGroup, (r1, BGSub) => new
                {
                    BloodGroupDesc = BloodGroupBLL.GetDescription(r1),
                    Total = BGSub.Sum(r3 => r3.Count)
                }),
                VolumeSumary = sub.GroupBy(r1 => r1.Volume, (r1, VolSub) => new
                {
                    Volume = r1,
                    Total = VolSub.Sum(r3 => r3.Count)
                })
            })
            .OrderBy(r => r.ProductDesc);
    }
        public static bool IsLogged(string method, DateTime date)
        {
            RedBloodDataContext db = new RedBloodDataContext();

            //return db.Logs.Count(r => r.Method == method && r.Date.Value.Date == date) > 0;
            return db.Logs.Any(r => r.Method == method && r.Date.Value.Date == date);
        }
        public static void UpdateStatus(RedBloodDataContext db, Guid packID, string note = "")
        {
            var p = PackDAL.Get(db, packID);

            var v = p.Donation;

            //Check Packs.Count is better than check Original Pack.
            //Sometime DIN has Pack but not update Original Pack yet.
            //Ex. Add Pack => Add Pack Status => Update DIN Status => Update Orginal Pack
            if (v.Packs.Count == 0)
            {
                if (v.People == null)
                {
                    UpdateStatus(db, v.DIN, Donation.StatusX.Init, note);
                }
                else
                {
                    UpdateStatus(db, v.DIN, Donation.StatusX.Assigned, note);
                }
            }
            else
            {
                if (v.Packs.Any(r => r.Status == Pack.StatusX.Delivered))
                {
                    UpdateStatus(db, v.DIN, Donation.StatusX.HasPack_Lock, note);
                }
                else
                {
                    UpdateStatus(db, v.DIN, Donation.StatusX.HasPack_UnLock, note);
                }
            }

            //db.SubmitChanges();
        }
Beispiel #15
0
    public static TestDef Get(RedBloodDataContext db, int ID)
    {
        List<int> l = new List<int>();
        l.Add(ID);

        return Get(db, l).FirstOrDefault();
    }
        public static void Add(int orderID, string DIN, string productCode)
        {
            //using (TransactionScope scope = new TransactionScope())
            //{
            //    scope.Complete();
            //}

            RedBloodDataContext db = new RedBloodDataContext();

            Order r = OrderBLL.Get4Add(orderID);
            Pack p = PackBLL.Get4Order(DIN, productCode);

            var check_po = db.PackOrders.FirstOrDefault(r1 => r1.PackID == p.ID
                                                            && r1.OrderID == r.ID && r1.ReturnID == null);
            if (check_po == null)
            {
                PackOrder po = new PackOrder();
                po.OrderID = r.ID;
                po.PackID = p.ID;

                db.PackOrders.InsertOnSubmit(po);
                db.SubmitChanges();

                PackTransaction.TypeX transType = r.Type == Order.TypeX.ForCR ? PackTransaction.TypeX.Out_Order4CR
                    : r.Type == Order.TypeX.ForOrg ? PackTransaction.TypeX.Out_Order4Org
                    : PackTransaction.TypeX.Out_OrderGen;

                PackBLL.ChangeStatus(p.ID, Pack.StatusX.Delivered, transType, "PackOrderID = " + po.ID.ToString());
            }
            else {
                throw new Exception("Túi máu đã có trong đợt cấp phát này.");
            }
        }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            RedBloodDataContext db = new RedBloodDataContext();

            List<Guid> geo1List = new List<Guid>();
            geo1List.Add(Geo.BinhDuong);
            geo1List.Add(Geo.BRVT);
            geo1List.Add(Geo.DongNai);
            geo1List.Add(Geo.TayNinh);
            geo1List.Add(Geo.HCMC);
            CheckBoxListGeo1.DataSource = db.Geos.Where(r => geo1List.Contains(r.ID));
            CheckBoxListGeo1.DataBind();
            foreach (ListItem item in CheckBoxListGeo1.Items)
            {
                item.Selected = true;
            }

            List<int> sourceList = new List<int>();
            sourceList.Add(TestDef.Source.Donation);
            sourceList.Add(TestDef.Source.RedCross);
            sourceList.Add(TestDef.Source.Other);
            CheckBoxListSource.DataSource = db.TestDefs.Where(r => sourceList.Contains(r.ID));
            CheckBoxListSource.DataBind();
            foreach (ListItem item in CheckBoxListSource.Items)
            {
                item.Selected = true;
            }
        }
    }
Beispiel #18
0
 public void Delete_Route(TestDef c, RedBloodDataContext db)
 {
     foreach (TestDef e in c.Children)
     {
         Delete_Route(e, db);
     }
     db.TestDefs.DeleteOnSubmit(c);
 }
Beispiel #19
0
        public static Facility Get(string FIN)
        {
            RedBloodDataContext db = new RedBloodDataContext();

            return (from s in db.Facilities
                    where s.FIN == FIN
                    select s).FirstOrDefault();
        }
        public static Hospital Get(Guid ID)
        {
            RedBloodDataContext db = new RedBloodDataContext();

            return (from s in db.Hospitals
                    where s.ID == ID
                    select s).FirstOrDefault();
        }
Beispiel #21
0
        public static Department GetByFullnameAndLevel(string fullname, int lvl)
        {
            RedBloodDataContext db = new RedBloodDataContext();

            return (from e in db.Departments
                    where e.Level.Value == lvl && e.Fullname == fullname.Trim()
                    select e).FirstOrDefault();
        }
Beispiel #22
0
        public static Donation Get(RedBloodDataContext db, string DIN)
        {
            Donation d = db.Donations.Where(r => r.DIN == DIN).FirstOrDefault();
            if (d == null)
                throw new Exception("Chưa tạo mã túi máu.");

            return d;
        }
        public static SideEffect GetByFullname(string fullname)
        {
            RedBloodDataContext db = new RedBloodDataContext();

            return (from e in db.SideEffects
                    where e.Fullname.ToLower() == fullname.Trim().ToLower()
                    select e).FirstOrDefault();
        }
Beispiel #24
0
    public static void Delete(int ID)
    {
        RedBloodDataContext db = new RedBloodDataContext();
        Campaign e = Get(ID, db);

        db.Campaigns.DeleteOnSubmit(e);
        db.SubmitChanges();
    }
        public static SideEffect GetByName(string name, int level)
        {
            RedBloodDataContext db = new RedBloodDataContext();

            return (from e in db.SideEffects
                    where e.Name.ToLower() == name.Trim().ToLower() && e.Level == level
                    select e).FirstOrDefault();
        }
Beispiel #26
0
    public static Delete Get(int ID, RedBloodDataContext db)
    {
        Delete e = db.Deletes.Where(r => r.ID == ID).FirstOrDefault();

        if (e == null)
            throw new Exception("Không tìm thấy đợt hủy.");

        return e;
    }
Beispiel #27
0
        public static void Delete(Guid ID)
        {
            RedBloodDataContext db = new RedBloodDataContext();

            Receipt e = Get(ID, db);

            db.Receipts.DeleteOnSubmit(e);
            db.SubmitChanges();
        }
Beispiel #28
0
        public static PackOrder Get(RedBloodDataContext db, int ID)
        {
            PackOrder r = db.PackOrders.Where(r1 => r1.ID == ID).FirstOrDefault();

            if (r == null)
                throw new Exception("Chưa có cấp phát túi máu này.");

            return r;
        }
Beispiel #29
0
        public static PackOrder Get4Return(RedBloodDataContext db, int ID)
        {
            PackOrder r = Get(db, ID);

            if (r.ReturnID > 0)
                throw new Exception("Đã thu hồi túi máu này.");

            return r;
        }
        public static Pack Get(RedBloodDataContext db, Guid ID)
        {
            Pack p = db.Packs.FirstOrDefault(r => r.ID == ID);

            if (p == null)
                throw new Exception("Không tìm thấy túi máu.");

            return p;
        }
Beispiel #31
0
    protected void LinqDataSourcePack_Selecting(object sender, LinqDataSourceSelectEventArgs e)
    {
        RedBloodDataContext db = new RedBloodDataContext();

        e.Result = db.PackOrders.Where(r => PackOrderList.Contains(r.ID))
                   .Select(r => new
        {
            r.ID,
            r.OrderID,
            OrderType = r.Order.Type,
            DIN       = r.Pack.Donation.DIN,
            r.Pack.ProductCode,
            Expired = r.Pack.ExpirationDate.Value.Expired()
        });
    }
Beispiel #32
0
        public static Org GetByName(string name)
        {
            RedBloodDataContext db = new RedBloodDataContext();

            Org e = (from c in db.Orgs
                     where c.Name == name.Trim()
                     select c).FirstOrDefault();

            if (e == null)
            {
                throw new Exception("Sai tên đơn vị.");
            }

            return(e);
        }
Beispiel #33
0
    protected void Page_Load(object sender, EventArgs e)
    {
        string code    = "";
        string addText = "";
        int    count   = 0;

        try
        {
            code = Request["code"];
        }
        catch (Exception)
        {
        }

        try
        {
            count = Request["count"].ToInt();
        }
        catch (Exception)
        {
        }

        try
        {
            addText = Request["addText"];
        }
        catch (Exception)
        {
        }

        PrintSettingBLL.Reload();
        RedBloodDataContext db = new RedBloodDataContext();
        string desc            = BloodGroupBLL.GetDescription(code);

        for (int i = 0; i < count; i++)
        {
            Panel p = new Panel();
            p.Style.Add("position", "relative");
            p.Style.Add("page-break-after", "always");
            p.Style.Apply(PrintSettingBLL.BloodGroupLabel.PaperSize);
            p.Style.Add("border", "1px solid white");
            divCon.Controls.Add(p);

            AddDINLabelControl(code, desc + addText, PrintSettingBLL.BloodGroupLabel.Label1, p);
            AddDINLabelControl(code, desc + addText, PrintSettingBLL.BloodGroupLabel.Label2, p);
            AddDINLabelControl(code, desc + addText, PrintSettingBLL.BloodGroupLabel.Label3, p);
        }
    }
Beispiel #34
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            string strParamID = Request["ReturnID"];

            if (!string.IsNullOrEmpty(strParamID))
            {
                returnObj = ReturnBLL.Get(strParamID.ToInt());

                if (returnObj != null)
                {
                    LabelTitle1.Text = "BIÊN BẢN THU HỒI";

                    LoadReturn();

                    RedBloodDataContext db = new RedBloodDataContext();

                    var v1 = db.PackOrders.Where(r => r.ReturnID.Value == returnObj.ID)
                             .Select(r => r.Pack)
                             .ToList();

                    var v = v1.GroupBy(r => r.ProductCode)
                            .Select(r => new
                    {
                        ProductCode      = r.Key,
                        Sum              = r.Count(),
                        BloodGroupSumary = r.GroupBy(r1 => r1.Donation.BloodGroup).Select(r1 => new
                        {
                            BloodGroupDesc = BloodGroupBLL.GetDescription(r1.Key),
                            Total          = r1.Count(),
                            VolumeSumary   = r1.GroupBy(r2 => r2.Volume).Select(r2 => new
                            {
                                Volume  = r2.Key.HasValue ? r2.Key.Value.ToString() : "_",
                                Total   = r2.Count(),
                                DINList = r2.Select(r3 => new { DIN = r3.DIN }).OrderBy(r4 => r4.DIN),
                            }).OrderBy(r2 => r2.Volume)
                        }).OrderBy(r1 => r1.BloodGroupDesc),
                    });

                    GridViewSum.DataSource = v;
                    GridViewSum.DataBind();

                    LableCount.Text = v1.Count().ToStringRemoveZero();
                }
            }
        }
    }
Beispiel #35
0
    void LoadData()
    {
        DateTime?dtFrom = txtDateFrom.Text.ToDatetimeFromVNFormat();
        DateTime?dtTo   = txtDateTo.Text.ToDatetimeFromVNFormat();

        if (dtFrom.HasValue)
        {
            DateTime hourFrom;
            if (DateTime.TryParse(txtHourFrom.Text, out hourFrom))
            {
                dtFrom = dtFrom.Value.AddHours(hourFrom.Hour).AddMinutes(hourFrom.Minute);
            }
        }

        if (dtTo.HasValue)
        {
            DateTime hourTo;
            if (DateTime.TryParse(txtHourTo.Text, out hourTo))
            {
                dtTo = dtTo.Value.AddHours(hourTo.Hour).AddMinutes(hourTo.Minute);
            }
        }

        RedBloodDataContext db = new RedBloodDataContext();

        //var packs = db.Packs.Where(r => r.Date.Value >= dtFrom && r.Date.Value <= dtTo
        //   && r.Donation.OrgPackID != r.ID).OrderBy(r => r.Date);

        var v = db.Returns.Where(r => r.Date.Value >= dtFrom && r.Date.Value <= dtTo)
                .OrderBy(r => r.Date)
                .ToList()
                .Select(r => new
        {
            r.ID,
            Date = r.Date.ToStringVN_Hour(),
            r.Note,
            r.Actor,
            Packs = r.PackOrders.Select(r1 => r1.Pack)
        });



        GridView1.DataSource = v;
        GridView1.DataBind();

        GridViewSummary.DataSource = v.SelectMany(r => r.Packs).GroupBy(r => r.ProductCode).Select(r => new { ProductCode = r.Key, Count = r.Count() });
        GridViewSummary.DataBind();
    }
    public object GetByPeopleID4PackHistory(Guid peopleID)
    {
        RedBloodDataContext db = new RedBloodDataContext();



        var v = db.Donations.Where(r => r.PeopleID == peopleID)
                .OrderByDescending(r => r.CollectedDate)
                .ToList().Select(c => new
        {
            c.DIN,
            c.Status,
            c.CollectedDate,
            Note = (c.TestResultStatus != Donation.TestResultStatusX.Negative ? c.Markers.Description : "") + " | " + c.Note,
            c.BloodGroupDesc,
            ProductDesc = ProductBLL.GetDesc(c.Pack.ProductCode),
            c.Pack.Volume
        });

        //foreach (var e in v)
        //{
        //if (e.Status == Donation.StatusX.DataErr)
        //{
        //    e.Note = PackErrEnum.DataErr.Message;
        //}
        //else if (e.Status == Donation.StatusX.Delete)
        //{
        //    if (e.PackStatusHistories.Count == 0)
        //        e.Note = "Unknown";
        //    else
        //        e.Note = e.Status.ToString() + ": " + e.PackStatusHistories.Where(h => h.ToStatus == Pack.StatusX.Delete).First().Note;
        //}
        //else if (e.Status == Donation.StatusX.Assigned)
        //{
        //    e.Note = e.Status.ToString() + ": " + e.TestResultStatus.ToString();
        //}
        //else if (e.Status == Pack.StatusX.Expired)
        //{
        //    e.Note = e.Note = e.Status.ToString() + ": " + e.PackStatusHistories.Where(h => h.ToStatus == Pack.StatusX.Expired).First().Note;
        //}
        //else
        //{
        //    e.Note = e.Status.ToString();
        //}
        //}

        return(v);
    }
Beispiel #37
0
        public static Pack Get(RedBloodDataContext db, string DIN, string productCode)
        {
            var l = db.Packs.Where(r => r.DIN == DIN && r.ProductCode == productCode).ToList();

            if (l.Count > 1)
            {
                throw new Exception("Dữ liệu túi máu bị trùng.");
            }

            if (l.Count == 0)
            {
                throw new Exception("Không có túi máu.");
            }

            return(l.FirstOrDefault());
        }
Beispiel #38
0
        public static void ChangeStatus(Guid ID, Pack.StatusX toStatus, PackTransaction.TypeX transType, string note)
        {
            RedBloodDataContext db = new RedBloodDataContext();

            Pack p = Get(db, ID);

            if (p.Status == toStatus)
            {
                throw new Exception("Can not change statuses which are the same.");
            }

            PackTransactionBLL.Add(ID, p.Status, toStatus, transType, note);

            p.Status = toStatus;
            db.SubmitChanges();
        }
Beispiel #39
0
        //public static void Add(int ID, string DIN, string productCode)
        //{
        //    Order r = OrderBLL.Get(ID);

        //    if (r.Status == Order.StatusX.Done)
        //        throw new Exception("Đợt cấp phát này đã kết thúc.");

        //    Pack p = PackBLL.Get4Order(DIN, productCode);

        //    PackOrder po = new PackOrder();
        //    po.OrderID = r.ID;
        //    po.PackID = p.ID;
        //    po.Status = PackOrder.StatusX.Order;

        //    RedBloodDataContext db = new RedBloodDataContext();

        //    db.PackOrders.InsertOnSubmit(po);

        //    db.SubmitChanges();

        //    string fullNote = "Add to Order: " + po.OrderID.Value.ToString() + ".";

        //    PackBLL.Update(db, po.Pack, Pack.StatusX.Delivered, fullNote);

        //    PackTransaction.TypeX transType = r.Type == Order.TypeX.ForCR ? PackTransaction.TypeX.Out_Order4CR
        //        : r.Type == Order.TypeX.ForOrg ? PackTransaction.TypeX.Out_Order4Org
        //        : PackTransaction.TypeX.Out_OrderGen;

        //    PackTransactionBLL.Add(p.ID,
        //        transType,
        //        fullNote);
        //}

        //public static void Remove(int packOrderID, string note)
        //{
        //    RedBloodDataContext db = new RedBloodDataContext();

        //    PackOrder po = db.PackOrders.Where(r => r.ID == packOrderID).FirstOrDefault();

        //    if (po == null
        //        || po.Pack == null
        //        || po.Order == null) return;

        //    string fullNote = DateTime.Now.ToStringVNLong() + ". " + RedBloodSystem.CurrentActor + ". Remove from Order: " + po.OrderID.Value.ToString() + ". " + note;

        //    PackBLL.Update(db, po.Pack, Pack.StatusX.Product, fullNote);

        //    po.Status = PackOrder.StatusX.Return;
        //    po.Note = fullNote;

        //    db.SubmitChanges();

        //    PackTransactionBLL.Add(po.Pack.ID, PackTransaction.TypeX.In_Return, fullNote);

        //}

        public static void CloseOrder()
        {
            RedBloodDataContext db = new RedBloodDataContext();

            var v = db.Orders.Where(r => r.Status == Order.StatusX.Init &&
                                    r.Date.Value.Date < DateTime.Now.Date).ToList();

            foreach (var item in v)
            {
                item.Status = Order.StatusX.Done;
            }

            db.SubmitChanges();

            LogBLL.Logs();
        }
Beispiel #40
0
        public static IQueryable <Campaign> Get(List <Guid> provinceIDList, DateTime?from, DateTime?to, Campaign.TypeX type)
        {
            RedBloodDataContext db = new RedBloodDataContext();

            if (provinceIDList == null || provinceIDList.Count == 0)
            {
                return(null);
            }

            return(db.Campaigns.Where(r => provinceIDList.Contains(r.CoopOrg.GeoID1.Value) &&
                                      r.Type == type &&
                                      r.Date != null &&
                                      (from == null || r.Date.Value.Date >= from.Value.Date) &&
                                      (to == null || r.Date.Value.Date <= to.Value.Date)
                                      ));
        }
Beispiel #41
0
    public void Update(int ID, string name)
    {
        RedBloodDataContext db = new RedBloodDataContext();

        TestDef c = (from i in db.TestDefs
                     where i.ID == ID
                     select i).First();

        if (c == null)
        {
            return;
        }

        c.Name = name;
        db.SubmitChanges();
    }
Beispiel #42
0
    protected void LinqDataSourceSum_Selecting(object sender, LinqDataSourceSelectEventArgs e)
    {
        RedBloodDataContext db = new RedBloodDataContext();

        var v = db.Deletes.Where(r => r.ID == DeleteID)
                .SelectMany(r => r.Packs)
                .ToList()
                .GroupBy(r => r.ProductCode)
                .Select(r => new
        {
            ProductCode = r.Key,
            Sum         = r.Count()
        });

        e.Result = v;
    }
Beispiel #43
0
    public object GetByPeopleID4PackHistory(Guid peopleID)
    {
        RedBloodDataContext db = new RedBloodDataContext();

        var v = from c in db.Donations
                where c.PeopleID == peopleID
                orderby c.Status descending, c.CollectedDate descending
            select new
        {
            c.DIN,
            c.Status,
            c.CollectedDate,
            c.Note,
            c.BloodGroupDesc,
            ProductDesc = c.Pack.Product.Description,
            c.Pack.Volume
        };

        //foreach (var e in v)
        //{
        //if (e.Status == Donation.StatusX.DataErr)
        //{
        //    e.Note = PackErrEnum.DataErr.Message;
        //}
        //else if (e.Status == Donation.StatusX.Delete)
        //{
        //    if (e.PackStatusHistories.Count == 0)
        //        e.Note = "Unknown";
        //    else
        //        e.Note = e.Status.ToString() + ": " + e.PackStatusHistories.Where(h => h.ToStatus == Pack.StatusX.Delete).First().Note;
        //}
        //else if (e.Status == Donation.StatusX.Assigned)
        //{
        //    e.Note = e.Status.ToString() + ": " + e.TestResultStatus.ToString();
        //}
        //else if (e.Status == Pack.StatusX.Expired)
        //{
        //    e.Note = e.Note = e.Status.ToString() + ": " + e.PackStatusHistories.Where(h => h.ToStatus == Pack.StatusX.Expired).First().Note;
        //}
        //else
        //{
        //    e.Note = e.Status.ToString();
        //}
        //}

        return(v);
    }
Beispiel #44
0
    static public SideEffect GetByFullnameAndLevel(string fullname, int lvl)
    {
        RedBloodDataContext db = new RedBloodDataContext();

        var r = from e in db.SideEffects
                where e.Level.Value == lvl && e.Fullname == fullname.Trim()
                select e;

        if (r.Count() == 0)
        {
            return(null);
        }
        else
        {
            return(r.First());
        }
    }
    public static int CountPackRemainByStoreFinalize(DateTime date)
    {
        RedBloodDataContext db = new RedBloodDataContext();

        var v = db.StoreFinalizes.Where(r => r.Date == date.Date &&
                                        r.Type == PackTransaction.TypeX.Remain)
                .Select(r => r.Count);

        if (v.Count() > 1)
        {
            LogBLL.LogsFailAndThrow("Data Err.");
        }

        int?i = v.FirstOrDefault();

        return(i.HasValue ? i.Value : 0);
    }
Beispiel #46
0
        static void LoadData(Type type)
        {
            RedBloodDataContext db = new RedBloodDataContext();

            List <PrintSetting> list = db.PrintSettings.Where(r => r.Type == type.Name).ToList();

            var l = type
                    .GetMembers(BindingFlags.Public | BindingFlags.Static | BindingFlags.GetProperty)
                    .Where(r => r is PropertyInfo)
                    .Select(r => r as PropertyInfo)
                    .Where(r => r.PropertyType == typeof(PrintSetting));

            foreach (var item in l)
            {
                item.SetValue(type, list.Where(r => r.Name == item.Name).FirstOrDefault(), null);
            }
        }
Beispiel #47
0
    public bool IsExistName(string name, int ID)
    {
        RedBloodDataContext db = new RedBloodDataContext();

        int count = (from r in db.Orgs
                     where r.ID != ID && r.Name.Trim() == name.Trim()
                     select r).Count();

        if (count == 0)
        {
            return(false);
        }
        else
        {
            return(true);
        }
    }
Beispiel #48
0
        public static DonationStatusLog UpdateStatus(RedBloodDataContext db, Donation e, Donation.StatusX to, string actor, string note)
        {
            if (e.Status == to)
            {
                return(null);
            }

            Donation.StatusX from = e.Status;

            e.Status = to;

            DonationStatusLog l = new DonationStatusLog(e, from, to, actor, note);

            db.DonationStatusLogs.InsertOnSubmit(l);

            return(l);
        }
Beispiel #49
0
        public static People GetByID(int autonum)
        {
            RedBloodDataContext db = new RedBloodDataContext();

            var e = from c in db.Peoples
                    where c.Autonum == autonum
                    select c;

            if (e.Count() != 1)
            {
                return(null);
            }
            else
            {
                return(e.First());
            }
        }
Beispiel #50
0
    private void DINEnter(string code)
    {
        string tempDIN = BarcodeBLL.ParseDIN(code);

        RedBloodDataContext db = new RedBloodDataContext();
        Donation            d  = DonationBLL.Get(tempDIN);

        if (d == null)
        {
            this.Alert(DonationErrEnum.NonExist.Message);
            return;
        }

        if (d.PeopleID != null)
        {
            DIN            = tempDIN;
            ucPDL.PeopleID = d.PeopleID.Value;
            return;
        }

        if (ucPeople.PeopleID == Guid.Empty)
        {
            this.Alert("Chưa nhập thông tin người cho máu.");
            return;
        }
        if (CamDetailLeft.CampaignID == 0)
        {
            this.Alert("Chưa nhập thông tin đợt thu máu.");
            return;
        }

        DIN = tempDIN;

        DonationErr err = DonationBLL.Assign(DIN, ucPeople.PeopleID, CamDetailLeft.CampaignID);

        if (err != DonationErrEnum.Non)
        {
            this.Alert("Túi máu: " + err.Message);
        }
        else
        {
            ucPDL.ShowLog();
        }

        return;
    }
Beispiel #51
0
        static public bool IsExistNameInSameDate(string name, int ID, DateTime dt)
        {
            RedBloodDataContext db = new RedBloodDataContext();

            int count = (from r in db.Campaigns
                         where r.ID != ID && r.Name.Trim() == name.Trim() && r.Date == dt
                         select r).Count();

            if (count == 0)
            {
                return(false);
            }
            else
            {
                return(true);
            }
        }
Beispiel #52
0
        partial void OnValidate(System.Data.Linq.ChangeAction action)
        {
            if (action == System.Data.Linq.ChangeAction.Insert ||
                action == System.Data.Linq.ChangeAction.Update)
            {
                RedBloodDataContext db = new RedBloodDataContext();

                int count = (from e in db.TestDefs
                             where object.Equals(e.ParentID, this.ParentID) && e.Name == this.Name.Trim()
                             select e).Count();

                if (count > 0)
                {
                    throw new Exception("Trùng tên");
                }
            }
        }
Beispiel #53
0
    protected void btnUpdate_Click(object sender, EventArgs e)
    {
        //Thread.Sleep(5000);
        if (PeopleID == Guid.Empty)
        {
            RedBloodDataContext db = new RedBloodDataContext();
            People p = new People();

            if (LoadFromGUI(p))
            {
                db.Peoples.InsertOnSubmit(p);
                db.SubmitChanges();
                PeopleID = p.ID;
            }
            else
            {
                return;
            }
        }
        else
        {
            RedBloodDataContext db = new RedBloodDataContext();

            var p = (from c in db.Peoples
                     where c.ID == PeopleID
                     select c).First();

            if (p == null)
            {
                return;
            }

            if (LoadFromGUI(p))
            {
                db.SubmitChanges();
                PeopleID = p.ID;
            }
            else
            {
                return;
            }
        }

        Page.Alert("Lưu thành công.");
    }
Beispiel #54
0
        public static People GetByID(Guid ID)
        {
            RedBloodDataContext db = new RedBloodDataContext();

            var e = from c in db.Peoples
                    where c.ID == ID
                    select c;


            if (e.Count() != 1)
            {
                return(null);
            }
            else
            {
                return(e.First());
            }
        }
Beispiel #55
0
    protected void LinqDataSource1_Selecting(object sender, LinqDataSourceSelectEventArgs e)
    {
        RedBloodDataContext db = new RedBloodDataContext();

        e.Result = db.Packs.Where(r => r.Status == Pack.StatusX.Product && r.ProductCode == ProductCode)
                   .ToList()
                   .Select(r => new
        {
            r.DIN,
            r.Donation.TestResultStatus,
            r.Donation.BloodGroupDesc,
            r.Volume,
            ExpirationDate = r.ExpirationDate.ToStringVN_Hour(),
            Expired        = r.ExpirationDate.Value.Expired() ? "X" : "",
            ExpiredInDays  = r.ExpirationDate.Value.ExpiredInDays(ExpiredInDays) ? "X" : ""
        })
                   .OrderBy(r => r.DIN);
    }
Beispiel #56
0
        //public object GetTSIn(bool isLongRun)
        //{
        //    RedBloodDataContext db = new RedBloodDataContext();

        //    if (isLongRun)
        //    {
        //        var rs = from r in db.Campaigns
        //                 let total = (r.Packs.Count(p => p.Status == Pack.StatusX.CommitReceived))
        //                 where total > 0 && r.Type == Campaign.TypeX.Long_run
        //                 select new { r.ID, r.Name, SourceName = r.Source.Name, r.Note, total };
        //        return rs;
        //    }
        //    else
        //    {
        //        var rs = from r in db.Campaigns
        //                 let total = (r.Packs.Count(p => p.Status == Pack.StatusX.CommitReceived))
        //                 where r.Type == Campaign.TypeX.Short_run && r.Status == Campaign.StatusX.Assign
        //                 select new { r.ID, r.Name, SourceName = r.Source.Name, r.Date, r.Note, total };
        //        return rs;
        //    }
        //}

        static public void New(Campaign e)
        {
            RedBloodDataContext db = new RedBloodDataContext();

            if (e.Type == Campaign.TypeX.Long_run)
            {
                e.Status = Campaign.StatusX.Assign;
            }

            if (e.Type == Campaign.TypeX.Short_run)
            {
                e.Status = Campaign.StatusX.Init;
            }

            db.Campaigns.InsertOnSubmit(e);

            db.SubmitChanges();
        }
Beispiel #57
0
        private static bool Validate(DateTime date)
        {
            string err = "Process for day: " + date.Date.ToShortDateString() + ". ";

            if (date.Date > DateTime.Now.Date)
            {
                LogBLL.LogsFailAndThrow(MyMethodBase.Current.Caller, err + "Date is in future.");
            }

            RedBloodDataContext db = new RedBloodDataContext();

            if (db.PackRemainDailies.Where(r => r.Date.Value.Date > date.Date).Count() > 0)
            {
                LogBLL.LogsFailAndThrow(MyMethodBase.Current.Caller, err + "Existing newer data.");
            }

            return(true);
        }
Beispiel #58
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            //DropDownList1.DataSource =  PrintSetting.TypeX.

            RedBloodDataContext db = new RedBloodDataContext();

            DropDownList1.DataSource = db.PrintSettings.Select(r => r.Type).Distinct();
            DropDownList1.DataBind();

            //foreach (PrintSetting.TypeX r in Enum.GetValues(typeof(PrintSetting.TypeX)))
            //{
            //    ListItem item = new ListItem(Enum.GetName(typeof(PrintSetting.TypeX), r), ((int)r).ToString() );
            //    DropDownList1.Items.Add(item);
            //}
        }
    }
Beispiel #59
0
        public static void RemoveOriginalPack(string DIN)
        {
            RedBloodDataContext db = new RedBloodDataContext();

            Donation d = Get(db, DIN);

            if (d.CanRemoveOriginalPack)
            {
                Pack p = d.Pack;
                d.Pack = null;

                db.PackTransactions.DeleteAllOnSubmit(p.PackTransactions);
                db.PackRemainDailies.DeleteAllOnSubmit(p.PackRemainDailies);
                db.Packs.DeleteOnSubmit(p);

                db.SubmitChanges();
            }
        }
Beispiel #60
0
    protected void btnUpdate_Click(object sender, EventArgs e)
    {
        if (OrderID == 0)
        {
            RedBloodDataContext db = new RedBloodDataContext();
            Order p = new Order();
            p.Status = Order.StatusX.Init;
            p.Actor  = RedBloodSystem.CurrentActor;

            if (LoadFromGUI(p))
            {
                db.Orders.InsertOnSubmit(p);
                db.SubmitChanges();
                OrderID = p.ID;
            }
            else
            {
                return;
            }
        }
        else
        {
            RedBloodDataContext db = new RedBloodDataContext();

            Order p = OrderBLL.Get(OrderID, db);

            if (p == null)
            {
                return;
            }


            if (LoadFromGUI(p))
            {
                db.SubmitChanges();
                OrderID = p.ID;
            }
            else
            {
                return;
            }
        }
        this.Alert("Lưu thành công.");
    }