Exemplo n.º 1
0
        //第2步:医生基础信息
        public IActionResult DoctorSets_DoctorBase(int?doctorId, int?customerId, string op)
        {
            if (!(doctorId > 0 || customerId > 0))
            {
                throw new Exception("没有传入医生Id或者用户Id");
            }
            var model = new Models.DataModel.Doctor();

            if (doctorId > 0)
            {
                var d = _db.CHIS_Code_Doctor.Find(doctorId);
                var c = _db.CHIS_Code_Customer.First(m => m.CustomerID == d.CustomerId);
                model.BaseInfo   = c;
                model.DoctorInfo = d;
            }
            else
            {
                model.BaseInfo            = _db.CHIS_Code_Customer.First(m => m.CustomerID == customerId.Value);
                model.DoctorInfo          = new Models.CHIS_Code_Doctor();
                model.DoctorInfo.TreatFee = 10.00m;
            }
            ViewBag.op         = op;
            ViewBag.doctorId   = doctorId;
            ViewBag.customerId = customerId;
            return(View(model));
        }
Exemplo n.º 2
0
        //编辑的页面操作 op=NEWF/NEW/MODIFYF/MODIFY/DELETE
        public IActionResult CHIS_Code_Doctor_Edit(string op, Models.DataModel.Doctor model, int recId)
        {
            //todo
            try
            {
                string editViewName = nameof(CHIS_Code_Doctor_Edit);
                //   var sysUser = base.GetCurrentUserInfo();
                ViewBag.OP = op;// 初始化操作类别
                switch (op.ToUpper())
                {
                case "NEWF":     //新增页面 空白的数据页面
                    var modelnew = new Models.DataModel.Doctor()
                    {
                    };
                    ViewBag.OP = "NEW";
                    return(View(editViewName, modelnew));

                case "NEW":     // 更新新增的数据
                    _db.BeginTransaction();
                    try
                    {
                        if (model.BaseInfo.CustomerID <= 0)
                        {
                            throw new Exception("该用户不存在,不能添加医生信息");
                        }
                        var docList = _db.CHIS_Code_Doctor.Where(m => m.CustomerId == model.BaseInfo.CustomerID);
                        if (docList.Count() > 0)
                        {
                            throw new Exception("该医生已存在,不能重复添加");
                        }
                        model.DoctorInfo.CustomerId = model.BaseInfo.CustomerID;
                        _db.CHIS_Code_Doctor.Add(model.DoctorInfo);
                        _db.SaveChanges();
                        _db.CommitTran();
                        return(Json(new { state = "success" }));
                    }
                    catch (Exception ex)
                    {
                        _db.RollbackTran();
                        return(Json(new { state = "error", msg = "添加失败" + ex.Message }));
                    }

                case "MODIFYF":     //修改 查找出修改的原始实体数据
                    var d           = _db.CHIS_Code_Doctor.Find(recId);
                    var c           = _db.CHIS_Code_Customer.First(m => m.CustomerID == d.CustomerId);
                    var modelmodify = new Models.DataModel.Doctor();
                    modelmodify.BaseInfo   = c;
                    modelmodify.DoctorInfo = d;
                    ViewBag.OP             = "MODIFY";
                    return(View(editViewName, modelmodify));

                case "MODIFY":     //修改后的数据
                    _db.BeginTransaction();

                    try
                    {
                        var a = _db.CHIS_Code_Customer.FirstOrDefault(m => m.CustomerID == model.BaseInfo.CustomerID);
                        if (a == null)
                        {
                            throw new Exception("没有医生的基本信息");
                        }
                        a.CustomerName = model.BaseInfo.CustomerName;
                        a.Gender       = model.BaseInfo.Gender;
                        a.Email        = model.BaseInfo.Email;
                        a.Birthday     = model.BaseInfo.Birthday;
                        a.IDcard       = model.BaseInfo.IDcard;
                        a.EduLevel     = model.BaseInfo.EduLevel;
                        a.Telephone    = model.BaseInfo.Telephone;
                        a.Address      = model.BaseInfo.Address;

                        var b = _db.CHIS_Code_Doctor.FirstOrDefault(m => m.DoctorId == model.DoctorInfo.DoctorId);
                        b.CustomerId   = a.CustomerID;
                        b.EmployeeCode = model.DoctorInfo.EmployeeCode;
                        b.DutyState    = model.DoctorInfo.DutyState;
                        b.IsEnable     = model.DoctorInfo.IsEnable;
                        b.OnDutyDate   = model.DoctorInfo.OnDutyDate;
                        b.StopDate     = model.DoctorInfo.StopDate;
                        b.Remark       = model.DoctorInfo.Remark;


                        _db.SaveChanges();
                        _db.CommitTran();
                        return(Json(new { state = "success" }));
                    }
                    catch (Exception ex) { _db.RollbackTran(); return(Json(new { state = "error", msg = "修改失败" + ex.Message })); }

                case "DELETE":     //删除,返回json
                    //var del = MainDbContext.CHIS..Find(recId);
                    var dc = _db.CHIS_Code_Doctor.FirstOrDefault(m => m.DoctorId == recId);
                    _db.Remove(dc);
                    var rlt = _db.SaveChanges() > 0;
                    return(Json(rlt));

                case "VIEW":
                    var d2 = _db.CHIS_Code_Doctor.Find(recId);
                    var c2 = _db.CHIS_Code_Customer.First(m => m.CustomerID == d2.CustomerId);
                    if (c2.CustomerID <= 0)
                    {
                        throw new Exception("不存在该医生基本信息,不能进行修改!");
                    }
                    var viewDoc = new Models.DataModel.Doctor();
                    viewDoc.BaseInfo   = c2;
                    viewDoc.DoctorInfo = d2;
                    return(View(editViewName, viewDoc));

                default:
                    throw new Exception("错误的命令");
                }
            }
            catch (Exception ex)
            {
                // Loger.WriteError("Code", "CHIS_Code_EmployeeMsg_Edit", ex);
                return(View("Error", ex));
            }
        }