public void SaveNewModel(Models.ViewModels.Code_DrugViewModel model, Models.CHIS_Code_Drug_Main_Apply applyModel, int opId, string opMan) { _db.BeginTransaction(); try { model.CHIS_Code_Drug_Main.sysOpId = opId; model.CHIS_Code_Drug_Main.sysOpMan = opMan; model.CHIS_Code_Drug_Main.sysOpTime = DateTime.Now; if (applyModel != null) { model.CHIS_Code_Drug_Main.SourceFrom = (int)DrugSourceFrom.Local; model.CHIS_Code_Drug_Main.SupplierId = 0; model.CHIS_Code_Drug_Main.ThreePartDrugId = null; model.CHIS_Code_Drug_Main.IsEnable = false; } if (string.IsNullOrWhiteSpace(model.CHIS_Code_Drug_Main.PyCode)) { model.CHIS_Code_Drug_Main.PyCode = Ass.Utils.GetPinYinCode(model.CHIS_Code_Drug_Main.DrugName); } if (string.IsNullOrWhiteSpace(model.CHIS_Code_Drug_Main.WBCode)) { model.CHIS_Code_Drug_Main.WBCode = Ass.Utils.Get5BiCode(model.CHIS_Code_Drug_Main.DrugName); } if (string.IsNullOrWhiteSpace(model.CHIS_Code_Drug_Main.QPCode)) { model.CHIS_Code_Drug_Main.QPCode = Ass.Utils.GetQuanPinCode(model.CHIS_Code_Drug_Main.DrugName); } if (model.CHIS_Code_Drug_Main.ManufacturerOrigin.IsNotEmpty()) { model.CHIS_Code_Drug_Main.ManufacturerOriginPinYin = getManufacturerOriginPinYin(model.CHIS_Code_Drug_Main.ManufacturerOrigin, model.CHIS_Code_Drug_Main.Trademark); } model.CHIS_Code_Drug_Main.DrugCompleteScore = getDrugCompleteScore(model); var rlt0 = _db.Add <Models.CHIS_Code_Drug_Main>(model.CHIS_Code_Drug_Main).Entity; _db.SaveChanges(); model.CHIS_Code_Drug_Storage.DrugId = rlt0.DrugId; _db.Add <Models.CHIS_Code_Drug_Storage>(model.CHIS_Code_Drug_Storage); model.CHIS_Code_Drug_Outpatient.DrugId = rlt0.DrugId; _db.Add <Models.CHIS_Code_Drug_Outpatient>(model.CHIS_Code_Drug_Outpatient); _db.SaveChanges(); //如果是申请 if (applyModel != null) { applyModel.DrugId = rlt0.DrugId; _db.CHIS_Code_Drug_Main_Apply.Add(applyModel); _db.SaveChanges(); } _db.CommitTran(); } catch (Exception ex) { _db.RollbackTran(); throw ex; } }
/// <summary> /// 获取一个空白新Model /// </summary> /// <param name="parentid">父级Id</param> public Models.ViewModels.Code_DrugViewModel GetNewModel(int opId, string opMan) { var modelNew = new Models.ViewModels.Code_DrugViewModel() { CHIS_Code_Drug_Main = new CHIS_Code_Drug_Main(), CHIS_Code_Drug_Storage = new CHIS_Code_Drug_Storage(), CHIS_Code_Drug_Outpatient = new CHIS_Code_Drug_Outpatient(), DrugApply = new CHIS_Code_Drug_Main_Apply() }; modelNew.CHIS_Code_Drug_Main.IsEnable = true; modelNew.CHIS_Code_Drug_Main.IsSkinTest = false; modelNew.CHIS_Code_Drug_Main.sysOpId = opId; modelNew.CHIS_Code_Drug_Main.sysOpMan = opMan; modelNew.CHIS_Code_Drug_Main.sysOpTime = DateTime.Now; return(modelNew); }
public void SaveModifyModel(Models.ViewModels.Code_DrugViewModel model, int opId, string opMan) { //采用事务提交 _db.BeginTransaction(); try { model.CHIS_Code_Drug_Main.sysOpId = opId; model.CHIS_Code_Drug_Main.sysOpMan = opMan; model.CHIS_Code_Drug_Main.sysOpTime = DateTime.Now; if (model.CHIS_Code_Drug_Main.PyCode.IsEmpty()) { model.CHIS_Code_Drug_Main.PyCode = Ass.Utils.GetPinYinCode(model.CHIS_Code_Drug_Main.DrugName); } if (model.CHIS_Code_Drug_Main.WBCode.IsEmpty()) { model.CHIS_Code_Drug_Main.WBCode = Ass.Utils.Get5BiCode(model.CHIS_Code_Drug_Main.DrugName); } if (model.CHIS_Code_Drug_Main.QPCode.IsEmpty()) { model.CHIS_Code_Drug_Main.QPCode = Ass.Utils.GetQuanPinCode(model.CHIS_Code_Drug_Main.DrugName); } if (model.CHIS_Code_Drug_Main.ManufacturerOrigin.IsNotEmpty()) { model.CHIS_Code_Drug_Main.ManufacturerOriginPinYin = getManufacturerOriginPinYin(model.CHIS_Code_Drug_Main.ManufacturerOrigin, model.CHIS_Code_Drug_Main.Trademark); } model.CHIS_Code_Drug_Main.DrugCompleteScore = getDrugCompleteScore(model); var rlt0 = _db.Update <Models.CHIS_Code_Drug_Main>(model.CHIS_Code_Drug_Main).Entity; _db.SaveChanges(); model.CHIS_Code_Drug_Storage.DrugId = rlt0.DrugId; if (_db.CHIS_Code_Drug_Storage.AsNoTracking().FirstOrDefault(m => m.DrugId == rlt0.DrugId) == null) { _db.Add(model.CHIS_Code_Drug_Storage); } else { _db.Update <Models.CHIS_Code_Drug_Storage>(model.CHIS_Code_Drug_Storage); } model.CHIS_Code_Drug_Outpatient.DrugId = model.CHIS_Code_Drug_Main.DrugId; if (_db.CHIS_Code_Drug_Outpatient.AsNoTracking().FirstOrDefault(m => m.DrugId == rlt0.DrugId) == null) { _db.Add(model.CHIS_Code_Drug_Outpatient); } else { _db.Update <Models.CHIS_Code_Drug_Outpatient>(model.CHIS_Code_Drug_Outpatient); } _db.SaveChanges(); _db.CommitTran(); } catch (Exception ex) { _db.RollbackTran(); if (ex.InnerException != null) { throw ex.InnerException; } throw ex; } }