コード例 #1
0
        public ActionResult AddDrugItem(int drugId, int Quantity, int appointId)
        {
            DrugItem drugItemInDb = db.DrugItems.Where(r => r.ReferenceNumber == appointId)
                                    .Where(d => d.Drug.Id == drugId).FirstOrDefault();

            if (drugItemInDb != null)
            {
                drugItemInDb.OrderQuantity = drugItemInDb.OrderQuantity + Quantity;
                drugItemInDb.Total         = drugItemInDb.OrderQuantity * drugItemInDb.Price;
            }
            else
            {
                DrugItem drugItem = new DrugItem();
                drugItem.Drug            = db.Drugs.Find(drugId);
                drugItem.Price           = drugItem.Drug.RetailPrice;
                drugItem.OrderQuantity   = Quantity;
                drugItem.Total           = drugItem.Price * Quantity;
                drugItem.ReferenceNumber = appointId;
                db.DrugItems.Add(drugItem);
            }
            db.SaveChanges();

            Appointment           appointment = db.Appointments.Find(appointId);
            PrescriptionViewModel PresVM      = new PrescriptionViewModel();

            PresVM.AppointmentReference = appointId;
            PresVM.Drugs     = db.Drugs.Take(5).ToList();
            PresVM.DoctorId  = appointment.DoctorId;
            PresVM.PatientId = appointment.PatientId;

            PresVM.DrugItems = db.DrugItems.Where(x => x.ReferenceNumber == appointId).ToList();
            return(View("CreatePrescription", PresVM));
        }
コード例 #2
0
        public UseableDrugItem(BaseItem item)
        {
            //Generic copy
            UseableBaseItem.CopyItem(this, item);

            DrugItem drug = item as DrugItem;

            smokable = drug.smokable;
        }
コード例 #3
0
 /// <summary>
 /// 生成商品列表
 /// </summary>
 private void CreateAllCommodity()
 {
     for (int i = 0; i < 3; i++)
     {
         info = ObjectsInfo.instance.GetObjectInfoById(1001 + i);
         DrugItem go = Instantiate(DrugItem, DrugGrid).GetComponent <DrugItem>();
         go.Show(info.IconName, info.Name, info.Hp, info.Mp, info.PriceSell, info.Id);
         //这里本来应该是分别添加监听事件的,但是运行之后是点击按钮执行的是最后一次循环的结果。可能是我的理解有些问题。
         //go.BuyButton.onClick.AddListener(() =>
         //{
         //    DrugBuyPanel.SetActive(true);
         //    Debug.Log("我要买" + info.Name);
         //    drugBuyPanel.Show(info.IconName, info.Name, info.PriceSell, info.Id);
         //});
     }
 }
コード例 #4
0
        /// <summary>
        /// 获取国产药列表
        /// </summary>
        /// <param name="doc"></param>
        /// <returns></returns>
        public static IEnumerable <DrugItem> Parse(HtmlDocument doc)
        {
            var rowNodes = doc.DocumentNode.SelectNodes("//table[@class='msgtab' and @style='background:#eaeaea' and @width='100%' and @cellspacing='1' and @cellpadding='0' and @border='0']/tr");

            for (int i = 1; i < rowNodes.Count; i++)
            {
                var columns = rowNodes[i].SelectNodes("./td");

                var item = new DrugItem
                {
                    DrugName      = columns[1].InnerText,
                    PiZhunWenHao  = columns[2].InnerText,
                    Manufacturer  = columns[3].InnerText,
                    DosageForm    = columns[4].InnerText,
                    Specification = columns[5].InnerText,
                    CompanyUrl    = columns[3].SelectSingleNode("./a").GetAttributeValue("href", ""),
                    DrugUrl       = columns[1].SelectSingleNode("./a").GetAttributeValue("href", ""),
                    LSST          = DateTime.Now
                };
                yield return(item);
            }
        }
コード例 #5
0
 void init()
 {
     if (drug_class_itemList == null)
     {
         drug_class_itemList = new List <DrugItem>();
     }
     drug_class_itemList.Clear();
     if (json_data != null)
     {
         var _name   = json_data["name"];
         var drugs   = json_data["drugs"];
         var classes = json_data["classes"];
         if (_name != null)
         {
             name = _name.ToString();
         }
         if (drugs != null)
         {
             total_drug_count = drugs.Keys.Count;
             foreach (var key in drugs.Keys)
             {
                 var item = new DrugItem();
                 item.JsonData = drugs[key];
                 drug_class_itemList.Add(item);
             }
         }
         if (classes != null)
         {
             total_class_count = classes.Keys.Count;
             foreach (var key in classes.Keys)
             {
                 var item = new DrugItem();
                 item.JsonData = classes[key];
                 drug_class_itemList.Add(item);
             }
         }
     }
 }
コード例 #6
0
    // 匹配操作
    IEnumerator handleMatch_plus(string _Regex, DrugItem item, MatchResult.Type type)
    {
        yield return(new WaitForEndOfFrame());

        var r = new System.Text.RegularExpressions.Regex(_Regex);

        System.Text.RegularExpressions.Match m = null;
        string matchstring = string.Empty;
        string contentText = string.Empty;

        switch (type)
        {
        case MatchResult.Type.Class:
        case MatchResult.Type.Drug:
        {
            matchstring = item.Name;
            if (matchstring != string.Empty)
            {
                m = r.Match(matchstring);
            }
            if (item.JsonData != null && item.JsonData.IsObject)
            {
            }
        }
        break;

        case MatchResult.Type.Extract_Class:
        case MatchResult.Type.Extract_Drug:
        {
            JsonData jd = null;
            if (type == MatchResult.Type.Extract_Drug)
            {
                jd = item.JsonData["知识点"];
            }
            else
            {
                jd = item.JsonData["信息详情"];
            }
            if (jd != null)
            {
                var zishenjiegou  = jd["自身结构"];
                var shiyingzheng  = jd["适应症"];
                var zhuyishixiang = jd["注意事项"];
                var other1        = jd["其他1"];
                var other2        = jd["其他2"];
                if (zishenjiegou != null)
                {
                    foreach (var v in zishenjiegou)
                    {
                        matchstring += v.ToString();
                    }
                }
                if (shiyingzheng != null)
                {
                    foreach (var v in shiyingzheng)
                    {
                        matchstring += v.ToString();
                    }
                }
                if (zhuyishixiang != null)
                {
                    foreach (var v in zhuyishixiang)
                    {
                        matchstring += v.ToString();
                    }
                }
                if (other1 != null)
                {
                    matchstring += other1.ToString();
                }
                if (other2 != null)
                {
                    matchstring += other2.ToString();
                }
                if (matchstring != string.Empty)
                {
                    m = r.Match(matchstring);
                }
            }
        }
        break;
        }
        while (matchstring != string.Empty && m != null && m.Success)
        {
            if (_Regex.Length - 3 > m.Length)
            {
                m = m.NextMatch();
                continue;
            }
            Debug.Log(" 成功匹配到内容:name=" + item.Name + " type=" + type + " matchString=" + (matchstring.Length > 4 ? matchstring.Substring(0, 3) + "..." : matchstring) + " regex=" + _Regex + " index=" + m.Index + " length=" + m.Length + " value=" + m.Value);

            // 添加匹配数据
            var im = new MatchResult.MatchItem.Item();
            im.Index  = m.Index;
            im.Length = m.Length;
            im.Value  = m.Value;

            var mr = MainJsonData.MatchResultList.Find((mresult) => { return(mresult.Name == item.Name); });
            if (mr == null)
            {
                mr      = new MatchResult();
                mr.Name = item.Name;
                foreach (var str in item.InfoTextList)
                {
                    mr.ContentText += str;
                }
                MainJsonData.MatchResultList.Add(mr);
            }
            var mItem = mr.MatchItemList.Find((mi) => { return(mi.MatchString == matchstring && mi.MResultType == type); });
            if (mItem == null)
            {
                mItem             = new MatchResult.MatchItem();
                mItem.MatchString = matchstring;
                mItem.MResultType = type;
                mr.MatchItemList.Add(mItem);
            }
            mItem.ItemList.Add(im);

            m = m.NextMatch();
        }

        // 检查是否匹配完成
        if (index < MainJsonData.Total_Drug_And_Class_Count * 2)
        {
            lock (asynclockobj)
            {
                if (index < MainJsonData.Total_Drug_And_Class_Count * 2)
                {
                    ++index;
                    if (index == MainJsonData.Total_Drug_And_Class_Count * 2)
                    {
                        Debug.Log(" 匹配操作已经完成! 一共执行" + index + "次匹配!");
                        Debug.Log(" 匹配结果总数=" + MainJsonData.MatchResultList.Count);

                        matchSort();

                        UpdateMatchUI();
                        index = 0;
                    }
                    else
                    {
                        // Debug.Log(" 匹配操作中... 正在执行第" + index + "次匹配!");
                    }
                }
            }
        }
    }