Esempio n. 1
0
        public ActionResult Get()
        {
            var model  = externalUow.Query <BestellErfassung.DomainObjects.Kunden.Kundenstamm>();
            var model1 = new XPCollection <BestellErfassung.DomainObjects.Kunden.Kundenstamm>(externalUow, CriteriaOperator.Parse("kdauftrgesperrt == ?", false));

            return(Content(model1.Count().ToString()));
        }
Esempio n. 2
0
        public static ICollection <Inventory> GetLPNInventoryRecords(Session session, string fullLPNNumber, int customerID)
        {
            //Dim LPNNumber As Integer = Integer.Parse(fullLPNNumber.Replace(CustomersBLL.GetLPNPrefix(customerID), ""))

            ICollection <Inventory> result = new Collection <Inventory>();

            result = new XPCollection <Inventory>(session, new BinaryOperator(Inventory.Fields.InventoryItemID.ItemCustomerID.CustomerID.PropertyName, customerID, BinaryOperatorType.Equal) & new BinaryOperator("FullLPNNumber", fullLPNNumber, BinaryOperatorType.Equal));

            if (result.Count() == 0 && !fullLPNNumber.StartsWith(CustomersBLL.GetLPNPrefix(7)))
            {
                //If customerID = 7 Then
                //    Dim locationInventorys As XPCollection(Of LocationInventoryByLot) = New XPCollection(Of LocationInventoryByLot)(session,
                //                                                          New BinaryOperator(LocationInventoryByLot.Fields.LPNNumber.PropertyName, Integer.Parse(fullLPNNumber.Replace(CustomersBLL.GetLPNPrefix(customerID), "")), BinaryOperatorType.Equal))
                //    If locationInventorys.Count < 1 Then Return result
                //    Dim locationInventory As LocationInventoryByLot = locationInventorys(0)
                //    Dim convertToInventory As Inventory = New Inventory(session) With {.InventoryItemID = locationInventory.LocationInventoryItem, .InventoryQuantity = CInt(locationInventory.QuantityOnHand),
                //                                                                .Lot = locationInventory.LocationInventoryLot, .FullLPNNumber = fullLPNNumber, .ExpirationDate = locationInventory.ExpirationDate}
                //    result = New Collection(Of Inventory)
                //    result.Add(convertToInventory)
                //Else
                result = new XPCollection <Inventory>(session, new BinaryOperator(Inventory.Fields.InventoryItemID.ItemCustomerID.CustomerID.PropertyName, customerID, BinaryOperatorType.Equal) & new BinaryOperator("LPNNumber", int.Parse(fullLPNNumber.Replace(CustomersBLL.GetLPNPrefix(customerID), "")), BinaryOperatorType.Equal));
                //End If
            }

            return(result);
        }
Esempio n. 3
0
        public BusinessObject GetOldestUnprocessedObject(Session session, Guid jobId, List <int> ObjectType)
        {
            BusinessObject oldestObject = null;

            try
            {
                ETLJob etlJob = session.GetObjectByKey <ETLJob>(jobId);
                if (etlJob == null)
                {
                    return(null);
                }

                ETLLogBO etlLogBO = new ETLLogBO();
                XPCollection <ETLBusinessObject> etlBusinessObjectCollection = etlLogBO.GetChangedIssuedDateETLBusinessObject(session, jobId);
                if (etlBusinessObjectCollection != null && etlBusinessObjectCollection.Count() != 0)
                {
                    etlBusinessObjectCollection.Sorting.Add(new SortProperty("BusinessObject.IssuedDateTimeStamp", SortingDirection.Ascending));
                    ETLBusinessObject oldestETLBusinessObject = etlBusinessObjectCollection.FirstOrDefault();
                    etlBusinessObjectCollection = etlLogBO.GetNewerETLBusinessObject(session, jobId, oldestETLBusinessObject.BusinessObjectIssuedDateTimeStamp);
                    foreach (ETLBusinessObject EBO in etlBusinessObjectCollection)
                    {
                        EBO.RowStatus = -2;
                        EBO.Save();
                    }
                    oldestETLBusinessObject.RowStatus = -2;
                    oldestETLBusinessObject.Save();
                }

                CriteriaOperator criteria_0 = new InOperator("ObjectType", ObjectType);
                CriteriaOperator criteria_1 = new BinaryOperator("RowStatus", 0, BinaryOperatorType.Greater);
                CriteriaOperator criteria   = new GroupOperator(GroupOperatorType.And, criteria_0, criteria_1);
                XPCollection <BusinessObject> businessObjectCollection = new XPCollection <BusinessObject>(session, criteria);
                businessObjectCollection.Sorting.Add(new SortProperty("ObjectIssueDate", SortingDirection.Ascending));
                businessObjectCollection.Sorting.Add(new SortProperty("IssuedDateTimeStamp", SortingDirection.Ascending));
                foreach (BusinessObject bo in businessObjectCollection)
                {
                    if (NeedToBeProcessed(session, bo.BusinessObjectId, jobId))
                    {
                        return(bo);
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(oldestObject);
        }
Esempio n. 4
0
        public void ProsesPerhitunganKedekatan()
        {
            XPCollection <DataKasus>         querykasus         = new XPCollection <DataKasus>(Session);
            XPCollection <DataGejala>        querygejala        = new XPCollection <DataGejala>(Session);
            XPCollection <DataKasusDetail>   querykasusdetail   = new XPCollection <DataKasusDetail>(Session);
            XPCollection <DataKeluhanDetail> querykeluhandetail = new XPCollection <DataKeluhanDetail>(Session);
            CriteriaOperator     criteriakasus;
            CriteriaOperator     criteriagejala;
            SortingCollection    sortkasus  = new SortingCollection();
            SortingCollection    sortgejala = new SortingCollection();
            CriteriaOperator     criteriakasusdetail;
            CriteriaOperator     criteriakeluhandetail;
            PerhitunganKedekatan newdataperhitungan;
            Kedekatan            newdatakedekatan;

            criteriakasus = BinaryOperator.Parse("aktif = true");
            sortkasus.Add(new SortProperty("kodekasus", SortingDirection.Ascending));
            querykasus.Sorting  = sortkasus;
            querykasus.Criteria = criteriakasus;
            criteriagejala      = BinaryOperator.Parse("aktif = true");
            sortgejala.Add(new SortProperty("kodegejala", SortingDirection.Ascending));
            querygejala.Sorting  = sortgejala;
            querygejala.Criteria = criteriagejala;

            Debug.WriteLine("querykasus  : " + querykasus);
            List <PerhitunganKedekatan> listperhitungan = new List <PerhitunganKedekatan>();
            List <PerhitunganKedekatan> theDatax        = new List <PerhitunganKedekatan>();

            newdatakedekatan             = new Kedekatan(Session);
            newdatakedekatan.datakeluhan = this;
            newdatakedekatan.datapasien  = this.datapasien;
            foreach (DataKasus thedatakasus in querykasus)
            {
                string perhitunganatas    = "= ";
                double intperhitunganatas = 0;
                string pembagi            = "/";
                double intpembagi         = 0;
                int    temp = 0;
                //Debug.WriteLine("kode kasus : " + thedatakasus.kodekasus);
                newdataperhitungan           = new PerhitunganKedekatan(Session);
                newdataperhitungan.datakasus = thedatakasus;
                //Debug.WriteLine("kode kasus2 : " + newdataperhitungan.datakasus.kodekasus);
                foreach (DataGejala thedatagejala in querygejala)
                {
                    criteriakasusdetail         = BinaryOperator.Parse("datakasus = '" + thedatakasus.Oid + "' and datagejala = '" + thedatagejala.Oid + "'");
                    querykasusdetail.Criteria   = criteriakasusdetail;
                    criteriakeluhandetail       = BinaryOperator.Parse("datakeluhan = '" + this.Oid + "' and datagejala = '" + thedatagejala.Oid + "'");
                    querykeluhandetail.Criteria = criteriakeluhandetail;
                    intpembagi = intpembagi + thedatagejala.bobot;
                    temp       = temp + 1;
                    //  Debug.WriteLine("xxx temp xxx : xxx " + temp);
                    if (temp == 1)
                    {
                        pembagi = pembagi + thedatagejala.bobot;
                    }
                    else
                    {
                        pembagi = pembagi + "+" + thedatagejala.bobot;
                    }

                    if (querykasusdetail.Count() == 0 && querykeluhandetail.Count() == 0)
                    {
                        if (temp == 1)
                        {
                            perhitunganatas = perhitunganatas + "(1x" + thedatagejala.bobot + ")";

                            temp = temp + 1;
                        }
                        else
                        {
                            perhitunganatas = perhitunganatas + "+(1x" + thedatagejala.bobot + ")";
                        }
                        intperhitunganatas = intperhitunganatas + 1 * thedatagejala.bobot;
                    }
                    else if (querykasusdetail.Count() != 0 && querykeluhandetail.Count() != 0)
                    {
                        foreach (DataKeluhanDetail abc in querykeluhandetail)
                        {
                            if (temp == 1)
                            {
                                perhitunganatas = perhitunganatas + "(1x" + thedatagejala.bobot + ")";

                                temp = temp + 1;
                            }
                            else
                            {
                                perhitunganatas = perhitunganatas + "+(1x" + thedatagejala.bobot + ")";
                            }
                            intperhitunganatas = intperhitunganatas + 1 * thedatagejala.bobot;
                        }
                    }
                    else
                    {
                        if (temp == 1)
                        {
                            perhitunganatas = perhitunganatas + "(0x" + thedatagejala.bobot + ")";
                        }
                        else
                        {
                            perhitunganatas = perhitunganatas + "+(0x" + thedatagejala.bobot + ")";
                        }
                        intperhitunganatas = intperhitunganatas + 0 * thedatagejala.bobot;
                    }
                    newdataperhitungan.perhitungan = perhitunganatas + pembagi + " \r\n = " + intperhitunganatas + "/" + intpembagi + " \r\n = " + (intperhitunganatas / intpembagi) * 100 + "%";
                    newdataperhitungan.total       = intperhitunganatas / intpembagi;
                }
                newdataperhitungan.kedekatan = newdatakedekatan;
                newdatakedekatan.PerhitunganKedekatan.Add(newdataperhitungan);
                listperhitungan.Add(newdataperhitungan);
            }

            PerhitunganKedekatan xxx = listperhitungan.OrderByDescending(obj => obj.total).First();

            DataKasus                newdatakasus;
            DataKasusDetail          newdatakasusdetail;
            DataSolusi               newdatasolusi;
            List <DataKasusDetail>   listdatakasusdetail = new List <DataKasusDetail>();
            List <DataSolusi>        listdatasolusi      = new List <DataSolusi>();
            XPCollection <DataKasus> quergetdatakasus    = new XPCollection <DataKasus>(Session);
            CriteriaOperator         criteiagetdatakasus;

            criteiagetdatakasus       = BinaryOperator.Parse("Oid = '" + xxx.datakasus.Oid.ToString() + "'");
            quergetdatakasus.Criteria = criteiagetdatakasus;
            foreach (DataKasus dk in quergetdatakasus)
            {
                newdatakasus = new DataKasus(Session);
                newdatakasus.namapenyakit = dk.namapenyakit;
                newdatakasus.datapasien   = this.datapasien;
                newdatakasus.tanggalkasus = this.tanggalkeluhan;
                newdatakasus.statuskasus  = DataKasusStatus.Percobaan;
                newdatakasus.kodekasus    = dk.kodekasusauto();
                XPCollection <DataKeluhanDetail> querydkdetail = new XPCollection <DataKeluhanDetail>(Session);
                CriteriaOperator criteiadkdetail;
                criteiadkdetail        = BinaryOperator.Parse("datakeluhan = '" + this.Oid.ToString() + "'");
                querydkdetail.Criteria = criteiadkdetail;
                foreach (DataKeluhanDetail dkdetail in querydkdetail)
                {
                    newdatakasusdetail            = new DataKasusDetail(Session);
                    newdatakasusdetail.datakasus  = newdatakasus;
                    newdatakasusdetail.datagejala = dkdetail.datagejala;
                    newdatakasusdetail.deskripsi  = dkdetail.deskripsi;
                    newdatakasus.DataKasusDetail.Add(newdatakasusdetail);
                }

                XPCollection <DataSolusi> querysolusi = new XPCollection <DataSolusi>(Session);
                CriteriaOperator          criteiasolusi;
                criteiasolusi        = BinaryOperator.Parse("datakasus = '" + xxx.datakasus.Oid.ToString() + "'");
                querysolusi.Criteria = criteiasolusi;
                foreach (DataSolusi datasolusii in querysolusi)
                {
                    newdatasolusi            = new DataSolusi(Session);
                    newdatasolusi.datakasus  = newdatakasus;
                    newdatasolusi.pengobatan = datasolusii.pengobatan;
                    newdatasolusi.kodesolusi = datasolusii.kosulauto();
                    newdatakasus.DataSolusi.Add(newdatasolusi);
                }


                newdatakedekatan.datakasus    = xxx.datakasus;
                newdatakedekatan.datakasus2   = newdatakasus;
                newdatakedekatan.maxkedekatan = xxx.total;
                newdatakedekatan.Save();
                newdatakasus.Save();
            }
        }
Esempio n. 5
0
        // 开始扫描页面
        private void BeginWebDownload()
        {
            // 如果正在扫描,就不扫描了。
            if (!CheckTask()) return;

            this.Cursor = Cursors.WaitCursor;   // 设置忙光标

            // 取得对应的Web
            int web_id = int.Parse(treeList1.FocusedNode[treeOid].ToString());
            XPCollection<Web> webs = new XPCollection<Web>(XpoDefault.Session,
                CriteriaOperator.Parse("Oid = ?", web_id));
            Debug.Assert(webs.Count() == 1);
            Web current_web = webs[0];

            // 取得对应的规则
            BaseRule br = current_web.Rule;

            // 如果规则没有取到,就提示尚未完成,不再继续
            if (br == null)
            {
                MessageBox.Show("该扫描规则还没有完成,暂不能使用!", "注意", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            else
            {
                //开始一个线程进行工作
                //m_web_thread = new Thread(new ParameterizedThreadStart(StartSingleScan)) { IsBackground = true };
                //m_web_thread.Start(m_rule);
                m_task = Task.Factory.StartNew(() => StartSingleScan(br));
            }

            this.Cursor = Cursors.Default;      // 光标恢复正常
        }
Esempio n. 6
0
        private void ProjectLineGetPreviousAction_Execute(object sender, SimpleActionExecuteEventArgs e)
        {
            try
            {
                GlobalFunction _globFunc    = new GlobalFunction();
                IObjectSpace   _objectSpace = View is ListView?Application.CreateObjectSpace() : View.ObjectSpace;

                ArrayList     _objectsToProcess = new ArrayList(e.SelectedObjects);
                DateTime      now                   = DateTime.Now;
                Session       _currSession          = null;
                string        _currObjectId         = null;
                ProjectHeader _locProjectHeaderXPO  = null;
                string        _locProjectHeaderCode = null;

                if (this.ObjectSpace != null)
                {
                    _currSession = ((XPObjectSpace)this.ObjectSpace).Session;
                }

                if (_objectsToProcess != null)
                {
                    foreach (Object obj in _objectsToProcess)
                    {
                        ProjectLine _locProjectLineOS = (ProjectLine)_objectSpace.GetObject(obj);


                        if (_locProjectLineOS != null)
                        {
                            if (_locProjectLineOS.ProjectHeader != null)
                            {
                                if (_locProjectLineOS.ProjectHeader.Code != null)
                                {
                                    _locProjectHeaderCode = _locProjectLineOS.ProjectHeader.Code;
                                }
                            }

                            if (_locProjectLineOS.Code != null)
                            {
                                _currObjectId = _locProjectLineOS.Code;

                                ProjectLine _locProjectLineXPO = _currSession.FindObject <ProjectLine>
                                                                     (new GroupOperator(GroupOperatorType.And,
                                                                                        new BinaryOperator("Code", _currObjectId)));

                                if (_locProjectLineXPO == null)
                                {
                                    if (_locProjectHeaderCode != null)
                                    {
                                        _locProjectHeaderXPO = _currSession.FindObject <ProjectHeader>
                                                                   (new GroupOperator(GroupOperatorType.And,
                                                                                      new BinaryOperator("Code", _locProjectHeaderCode)));
                                    }

                                    if (_locProjectHeaderXPO != null)
                                    {
                                        XPCollection <ProjectLine> _numLines = new XPCollection <ProjectLine>
                                                                                   (_currSession, new GroupOperator(GroupOperatorType.And,
                                                                                                                    new BinaryOperator("ProjectHeader", _locProjectHeaderXPO)),
                                                                                   new SortProperty("No", DevExpress.Xpo.DB.SortingDirection.Ascending));

                                        if (_numLines != null && _numLines.Count > 0)
                                        {
                                            foreach (ProjectLine _numLine in _numLines)
                                            {
                                                if (_numLine.No == _numLines.Count())
                                                {
                                                    _locProjectLineOS.Title  = _numLine.Title;
                                                    _locProjectLineOS.Title2 = _numLine.Title2;
                                                    _locProjectLineOS.Title3 = _numLine.Title3;
                                                }
                                            }
                                        }
                                    }
                                }
                                else
                                {
                                    ErrorMessageShow("Data Project Line Not Available");
                                }
                            }
                            else
                            {
                                ErrorMessageShow("Data Project Line Not Available");
                            }
                        }
                    }
                }

                if (View is DetailView && ((DetailView)View).ViewEditMode == ViewEditMode.View)
                {
                    _objectSpace.CommitChanges();
                    _objectSpace.Refresh();
                }
                if (View is ListView)
                {
                    _objectSpace.CommitChanges();
                    View.ObjectSpace.Refresh();
                }
            }
            catch (Exception ex)
            {
                Tracing.Tracer.LogError(" BusinessObject = ProjectLine " + ex.ToString());
            }
        }
Esempio n. 7
0
        ///// <summary>
        ///// 下载指定的联接
        ///// </summary>
        ///// <param name="web_oid"></param>
        ///// <returns></returns>
        //public List<Page> DownloadPageFromURL(int web_oid, bool update_all = false)
        //{
        //    var webs = from w in Session.DefaultSession.Query<Web>()
        //               where w.Oid == web_oid
        //               select w;
        //    foreach (Web web in webs)
        //    {
        //        ListHelper.PageList = new List<Page>();
        //        ListHelper.GetAndSavePagesOnList(web, web.URL, update_all);
        //        SetUnreadCount(web, ListHelper.PageList.Count);
        //        //PageHelper.GetAllContentWithSave();
        //        return ListHelper.PageList;
        //    }
        //    return new List<Page>();
        //}
        ///// <summary>
        ///// 设置当前结点未读的数量
        ///// </summary>
        ///// <param name="web"></param>
        ///// <param name="unread"></param>
        //private void SetUnreadCount(Web web, int unread)
        //{
        //    web.Unread += unread;
        //    web.Save();
        //}
        /// <summary>
        /// 设置ID的页面为已读
        /// </summary>
        /// <param name="oid"></param>
        public void SetPageHasRead(int oid)
        {
            // 先检查参数是否正确
            Session session = XpoDefault.Session;
            Page current_page = session.GetObjectByKey<Page>(oid);
            if(current_page == null || current_page.ParentWeb == null)
                return;

            // 同一时间只能一个线程保存数据
            System.Threading.Mutex m = new System.Threading.Mutex(false, "SaveDB");
            m.WaitOne();

            // 开始事务
            using (UnitOfWork uow = new UnitOfWork(XpoDefault.DataLayer))
            {

                // 设置页面已读
                current_page.Is_Read = true;
                current_page.Save();

                // 再更新web的未读数量
                XPCollection<Page> list = new XPCollection<Page>(XpoDefault.Session,
                    CriteriaOperator.Parse("Parent_ID = ? and Is_Read = ?", current_page.Parent_ID, false));
                Web web = session.GetObjectByKey<Web>(current_page.Parent_ID);
                web.Unread = list.Count();
                web.Save();

                uow.CommitChanges();
            }

            m.ReleaseMutex();       // 释放锁
        }
Esempio n. 8
0
        /// 判断新取得的页面是否在新页面列表里存在
        /// <summary>
        /// 判断新取得的页面是否在新页面列表里存在
        /// </summary>
        /// <returns>存在,返回真,不存在,返回假</returns>
        private bool NewPageInExistPages(List<Page> list)
        {
            if (list.Count() <= 0)
                return false;

            List<string> filter = new List<string>();

            // 生成过滤条件
            foreach (Page page in list)
            {
                filter.Add(page.URL);
            }

            XPCollection<Page> pages = new XPCollection<Page>(XpoDefault.Session,
                new InOperator("URL", filter.ToArray()));
            if(pages.Count() > 0)
                return true;
            else
                return false;
        }
Esempio n. 9
0
        // 保存所有扫描出来的页面到数据库里面
        protected void SaveScanResult(object sender, BaseRule.ScanCompleteEventArgs e)
        {
            // 同一时间只能一个线程保存数据
            System.Threading.Mutex m = new System.Threading.Mutex(false, "SaveDB");
            m.WaitOne();
            using (UnitOfWork uow = new UnitOfWork(XpoDefault.DataLayer))       // 开始事务
            {
                uow.BeginTransaction();
                //  对于每个取得的新页面,判断是否已经存在,如果不存在就保存
                foreach (Page page in e.pages)
                {
                    XPCollection<Page> pages = new XPCollection<Page>(uow,
                        CriteriaOperator.Parse("URL = ?", page.URL));
                    if (pages.Count() == 0)
                    {
                        Page newPage = new Page(uow) { Parent_ID = CurrentWeb.Oid, Title = page.Title, URL = page.URL };
                        newPage.Save();
                    }
                }
                uow.CommitChanges();
            }

            m.ReleaseMutex();
        }