예제 #1
0
        public override List <LabOrder> GetAllFilterd(Entities.Common.IFilter filter)
        {
            var laborders = Filter(o => o.LocationId == filter.LocationId && o.DeleteFlag == filter.DeleteFlag);

            LabOrderFilter _filter = (LabOrderFilter)filter;

            if (_filter.PatientId.HasValue)
            {
                laborders = laborders.Where(o => o.Client.Id == _filter.PatientId.Value);
            }
            if (!string.IsNullOrEmpty(_filter.ReferenceNumber))
            {
                laborders = laborders.Where(o => o.OrderNumber == _filter.ReferenceNumber);
            }
            if (_filter.DateFrom.HasValue && _filter.DateTo.HasValue)
            {
                laborders = laborders.Where(o => o.OrderDate >= _filter.DateFrom.Value && o.OrderDate <= _filter.DateTo.Value);
            }
            if (!string.IsNullOrEmpty(_filter.OrderStatus))
            {
                if (_filter.OrderStatus == "Pending")
                {
                    laborders = laborders.Where(o => o.OrderStatus == _filter.OrderStatus || o.OrderStatus == "Partially Completed");
                }
            }
            return(laborders.ToList());
        }
예제 #2
0
        private void PopulateData()
        {
            DateTime?       _dateFrom = null;
            DateTime?       _dateTo   = null;
            List <LabOrder> orders    = new List <LabOrder>();

            if (null == base.Session[SessionKey.LabClient])
            {
                if (ckbTodaysOrders.Checked)
                {
                    _dateFrom = DateTime.Today;
                    _dateTo   = DateTime.Today.AddDays(1).AddMilliseconds(-1);
                }
                string         orderStatus = rbtlst_findOrder.SelectedValue == "Pending" ? "Pending" : "";
                LabOrderFilter filter      = new LabOrderFilter()
                {
                    LocationId  = this.LocationId,
                    DeleteFlag  = false,
                    DateFrom    = _dateFrom,
                    DateTo      = _dateTo,
                    OrderStatus = orderStatus
                };
                ILabRepo repoMgr = (ILabRepo)ObjectFactory.CreateInstance("BusinessProcess.Laboratory.BLabRequest, BusinessProcess.Laboratory");
                orders = repoMgr.GetAll(filter);
            }
            else
            {
                List <KeyValuePair <string, object> > param = base.Session[SessionKey.LabClient] as List <KeyValuePair <string, object> >;
                int patientId = (int)param.Find(l => l.Key == "PatientID").Value;
                int location  = (int)param.Find(l => l.Key == "LocationID").Value;
                lblname.Text = string.Format("{0} {1} {2}", (string)(param.Find(l => l.Key == "FirstName").Value.ToString())
                                             , (string)(param.Find(l => l.Key == "MiddleName").Value.ToString())
                                             , (string)(param.Find(l => l.Key == "LastName").Value.ToString()));

                //calculate age
                DateTime now = DateTime.Today;
                int      age = now.Year - (Convert.ToDateTime(param.Find(l => l.Key == "DOB").Value).Year);


                lbldob.Text        = Convert.ToDateTime(param.Find(l => l.Key == "DOB").Value.ToString()).ToString("dd-MMM-yyyy");
                lbldob.Text        = lbldob.Text + "    Age: " + age.ToString();
                lblFacilityID.Text = param.Find(l => l.Key == "FacilityID").Value.ToString();
                lblsex.Text        = param.Find(l => l.Key == "Gender").Value.ToString();
                LabOrderFilter filter = new LabOrderFilter()
                {
                    LocationId = location,
                    DeleteFlag = false,
                    DateFrom   = null,
                    DateTo     = null,
                    PatientId  = patientId
                };
                ILabRepo repoMgr = (ILabRepo)ObjectFactory.CreateInstance("BusinessProcess.Laboratory.BLabRequest, BusinessProcess.Laboratory");
                orders = repoMgr.GetAll(filter);
            }
            grdPatienOrder.DataSource = orders;
            grdPatienOrder.DataBind();
        }