public ActionResult TrackLogAdd(CustomerTrackingModel customerTrackingModel)
        {
            if (Session["method"].ToString() == "Y")
            {
                string str = string.Format("<script>alert('重复操作!');parent.location.href='TrackLogIndex';</script>");
                return(Content(str));
            }
            try
            {
                销售_意向追踪日志 trackLog = new 销售_意向追踪日志();


                trackLog.店铺ID    = storeBLL.GetModel(P => P.称 == customerTrackingModel.店铺).ID;
                trackLog.备注      = customerTrackingModel.备注;
                trackLog.店长审核    = customerTrackingModel.店长审核;
                trackLog.接待记录ID  = customerInfoBLL.GetModel(p => p.接待序号 == customerTrackingModel.接待序号).ID;
                trackLog.是否申请设计师 = customerTrackingModel.是否申请设计师;
                trackLog.跟进人     = storeEmployeesBLL.GetModel(p => p.姓名 == customerTrackingModel.跟进人).ID;
                trackLog.跟进内容    = customerTrackingModel.跟进内容;
                trackLog.跟进方式    = customerTrackingModel.跟进方式;
                trackLog.跟进时间    = customerTrackingModel.跟进时间;



                trackLog.跟进结果 = Enum.GetName(typeof(CustomerTrackResult), customerTrackingModel.跟进结果).ToString();
                if (ModelState.IsValid)
                {
                    customerTrackingBLL.Add(trackLog);
                    Session["method"] = "Y";
                }

                else
                {
                    List <string> sb = new List <string>();
                    //获取所有错误的Key
                    List <string> Keys = ModelState.Keys.ToList();
                    //获取每一个key对应的ModelStateDictionary
                    foreach (var key in Keys)
                    {
                        var errors = ModelState[key].Errors.ToList();
                        //将错误描述添加到sb中
                        foreach (var error in errors)
                        {
                            sb.Add(error.ErrorMessage);
                        }
                    }
                    string s = "添加日志出错:";
                    foreach (var item in sb)
                    {
                        s += item.ToString() + "<br/>";
                    }
                    return(Content("<script>alert('" + s + "');window.history.go(-1);</script>"));
                }
            }
            catch (Exception ex)
            {
                return(Content("添加跟进日志时错误:" + ex.ToString()));
            }
            return(RedirectToAction("TrackLogIndex", new { id = customerTrackingModel.接待ID }));
        }
        /// <summary>
        /// 添加跟进日志
        /// </summary>
        /// <param name="reception">接待序号</param>
        /// <param name="trackingPeopleName">跟进人姓名</param>

        /// <returns></returns>
        public ActionResult AddTrackLogView(string reception)
        {
            Session["method"] = "N";
            SetEmployee();
            ViewBag.Store      = store;
            ViewBag.Employee   = employeeName;
            ViewBag.IsManager  = storeEmployeesBLL.GetModel(p => p.ID == employeeID).是否店长;
            ViewBag.IsDesigner = storeEmployeesBLL.GetModel(p => p.ID == employeeID).是否设计师;
            ViewBag.IsEmployee = storeEmployeesBLL.GetModel(p => p.ID == employeeID).是否销售;
            CustomerTrackingModel customerTrackingModel = new CustomerTrackingModel
            {
                店铺  = store,
                跟进人 = employeeName
            };

            if (reception != null)
            {
                customerTrackingModel.接待序号 = reception;
                customerTrackingModel.接待ID = customerInfoBLL.GetModel(p => p.接待序号 == reception).ID;
            }
            var trackingPeopleId = storeEmployeesBLL.GetModel(p => p.姓名 == employeeName).ID;
            var customerModels   = customerInfoBLL.GetModels(p => p.跟进人ID == trackingPeopleId);

            if (customerModels.Count() == 0)//如果没有查到匹配的跟进信息
            {
                string str = string.Format("<script>alert('当前没有匹配到任何您可以进行跟进的客户,请让店长为您添加!');parent.location.href='TrackLogIndex';</script>");
                return(Content(str));
            }

            ViewBag.ReceptionSer = customerTrackingModel.接待序号;



            return(View(customerTrackingModel));
        }
        public ActionResult TrackLogEdit(CustomerTrackingModel customerTrackingModel)
        {
            if (Session["method"].ToString() == "Y")
            {
                string str = string.Format("<script>alert('重复操作!');parent.location.href='TrackLogIndex';</script>");
                return(Content(str));
            }
            try
            {
                销售_意向追踪日志 trackLog = new 销售_意向追踪日志
                {
                    id      = customerTrackingModel.Id,
                    店铺ID    = storeBLL.GetModel(P => P.称 == customerTrackingModel.店铺).ID,
                    备注      = customerTrackingModel.备注,
                    店长审核    = customerTrackingModel.店长审核,
                    接待记录ID  = customerInfoBLL.GetModel(p => p.接待序号 == customerTrackingModel.接待序号).ID,
                    是否申请设计师 = customerTrackingModel.是否申请设计师,
                    跟进人     = storeEmployeesBLL.GetModel(p => p.姓名 == customerTrackingModel.跟进人).ID,
                    跟进内容    = customerTrackingModel.跟进内容,
                    跟进方式    = customerTrackingModel.跟进方式,
                    跟进时间    = customerTrackingModel.跟进时间,
                    跟进结果    = customerTrackingModel.跟进结果.ToString()
                };
                if (ModelState.IsValid)
                {
                    customerTrackingBLL.Modify(trackLog);
                    Session["method"] = "Y";
                }

                else
                {
                    List <string> sb = new List <string>();
                    //获取所有错误的Key
                    List <string> Keys = ModelState.Keys.ToList();
                    //获取每一个key对应的ModelStateDictionary
                    foreach (var key in Keys)
                    {
                        var errors = ModelState[key].Errors.ToList();
                        //将错误描述添加到sb中
                        foreach (var error in errors)
                        {
                            sb.Add(error.ErrorMessage);
                        }
                    }
                    string s = "修改日志出错:";
                    foreach (var item in sb)
                    {
                        s += item.ToString() + "<br/>";
                    }
                    return(Content("<script>alert('" + s + "');window.history.go(-1);</script>"));
                }
            }
            catch (Exception e)
            {
                return(Content("<script>alert('修改日志异常:" + e + "');window.history.go(-1);</script>"));
            }
            return(RedirectToAction("TrackLogIndex"));
        }
        /// <summary>
        /// 根据当前操作人员或职位或接待id查找跟进信息
        /// </summary>
        /// <param name="id">接待id</param>

        /// <returns>跟进信息</returns>s
        private List <CustomerTrackingModel> BuildTrackingInfo(int?id)
        {
            List <销售_意向追踪日志> mt = new List <销售_意向追踪日志>();
            var e = storeEmployeesBLL.GetModel(p => p.ID == employeeID);

            if (id != 0)
            {
                mt = customerTrackingBLL.GetModels(p => p.接待记录ID == id).ToList();//查看当前客户的跟进信息
            }
            else if (e.职务ID == 3)
            {
                mt = customerTrackingBLL.GetModels(p => p.店铺ID == e.店铺ID).ToList();//店长查看(只有自己店铺的)
            }

            else
            {
                mt = customerTrackingBLL.GetModels(p => p.跟进人 == employeeID).ToList();//店员查看(只有自己跟进的)
            }


            List <CustomerTrackingModel> customerTrackingModels = new List <CustomerTrackingModel>();

            foreach (var item in mt)
            {
                CustomerTrackingModel customerTrackingModel = new CustomerTrackingModel
                {
                    Id      = item.id,
                    备注      = item.备注,
                    店长审核    = item.店长审核,
                    接待序号    = customerInfoBLL.GetModel(p => p.ID == item.接待记录ID).接待序号,
                    客户姓名    = customerInfoBLL.GetModel(p => p.ID == item.接待记录ID).客户姓名,
                    客户电话    = customerInfoBLL.GetModel(p => p.ID == item.接待记录ID).客户电话,
                    接待ID    = item.接待记录ID,
                    是否申请设计师 = item.是否申请设计师,
                    跟进人     = storeEmployeesBLL.GetModel(p => p.ID == item.跟进人).姓名,
                    跟进内容    = item.跟进内容,
                    跟进方式    = item.跟进方式,
                    跟进时间    = item.跟进时间,

                    店铺 = storeBLL.GetModel(p => p.ID == item.店铺ID).称
                };
                customerTrackingModels.Add(customerTrackingModel);
                switch (item.跟进结果)
                {
                case "成交":
                    customerTrackingModel.跟进结果 = CustomerTrackResult.成交;
                    break;

                case "申请设计":
                    customerTrackingModel.跟进结果 = CustomerTrackResult.申请设计;
                    break;

                case "观察":
                    customerTrackingModel.跟进结果 = CustomerTrackResult.观察;
                    break;

                case "放弃":
                    customerTrackingModel.跟进结果 = CustomerTrackResult.放弃;
                    break;

                case "继续跟进":
                    customerTrackingModel.跟进结果 = CustomerTrackResult.继续跟进;
                    break;

                default:
                    break;
                }
            }

            return(customerTrackingModels);
        }
        /// <summary>
        /// 修改跟进日志
        /// </summary>
        /// <returns></returns>
        public ActionResult EditTrackLogView(int id)
        {
            Session["method"] = "N";
            SetEmployee();
            ViewBag.Store      = store;
            ViewBag.Employee   = employeeName;
            ViewBag.IsManager  = storeEmployeesBLL.GetModel(p => p.ID == employeeID).是否店长;
            ViewBag.IsDesigner = storeEmployeesBLL.GetModel(p => p.ID == employeeID).是否设计师;
            ViewBag.IsEmployee = storeEmployeesBLL.GetModel(p => p.ID == employeeID).是否销售;
            var model = customerTrackingBLL.GetModel(p => p.id == id);

            if (model == null)
            {
                string str = string.Format("<script>alert('数据已更改,未查到跟进日志信息!');parent.location.href='TrackLogIndex';</script>");
                return(Content(str));
            }

            CustomerTrackingModel customerTrackingModel = new CustomerTrackingModel
            {
                Id      = model.id,
                备注      = model.备注,
                店铺      = storeBLL.GetModel(p => p.ID == model.店铺ID).称,
                店长审核    = model.店长审核,
                接待序号    = customerInfoBLL.GetModel(p => p.ID == model.接待记录ID).接待序号,
                接待ID    = model.接待记录ID,
                是否申请设计师 = model.是否申请设计师,
                跟进人     = storeEmployeesBLL.GetModel(p => p.ID == model.跟进人).姓名,
                跟进内容    = model.跟进内容,
                跟进方式    = model.跟进方式,
                跟进时间    = model.跟进时间,

                客户电话 = customerInfoBLL.GetModel(p => p.ID == model.接待记录ID).客户电话
            };

            switch (model.跟进结果)
            {
            case "成交":
                customerTrackingModel.跟进结果 = CustomerTrackResult.成交;
                break;

            case "申请设计":
                customerTrackingModel.跟进结果 = CustomerTrackResult.申请设计;
                break;

            case "观察":
                customerTrackingModel.跟进结果 = CustomerTrackResult.观察;
                break;

            case "放弃":
                customerTrackingModel.跟进结果 = CustomerTrackResult.放弃;
                break;

            case "继续跟进":
                customerTrackingModel.跟进结果 = CustomerTrackResult.继续跟进;
                break;

            default:
                break;
            }

            return(View(customerTrackingModel));
        }