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)); }
public UseableDrugItem(BaseItem item) { //Generic copy UseableBaseItem.CopyItem(this, item); DrugItem drug = item as DrugItem; smokable = drug.smokable; }
/// <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); //}); } }
/// <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); } }
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); } } } }
// 匹配操作 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 + "次匹配!"); } } } } }