예제 #1
0
        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; }
        }
예제 #2
0
        /// <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);
        }
예제 #3
0
        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;
            }
        }