public ActionResult Edit(int id = 0)
        {
            ViewBag.ID = id;
            Mpr_Organization Model = OrganizetionService.GetModel(s => s.ID == id);

            if (Model == null)
            {
                Model = new Mpr_Organization();
            }
            return(View(Model));
        }
        public string GetOrganization()
        {
            //首先获取第一层关系.数据库内ParentID等于0的数据有且只有一个,表示公司最高位
            Mpr_Organization OneList    = OrganizetionService.GetModel(s => s.ParentID == 0);
            OrgData          OneOrgList = new OrgData();

            if (OneList != null)
            {
                //加入第一层关系人
                OneOrgList.id       = OneList.ID;
                OneOrgList.name     = OneList.Name;
                OneOrgList.title    = OneList.Title;
                OneOrgList.photo    = OneList.Photo;
                OneOrgList.workcard = OneList.WorkNo;
                OneOrgList.children = GetOrgList(OneList);
            }
            return(Newtonsoft.Json.JsonConvert.SerializeObject(OneOrgList));
        }
        public string Save(string data)
        {
            Mpr_Organization Mod        = Newtonsoft.Json.JsonConvert.DeserializeObject <Mpr_Organization>(data);
            ReturnJson       ReturnJson = new ReturnJson();
            Mpr_Organization Model      = OrganizetionService.GetModel(s => s.ID == Mod.ID);

            if (Model == null)
            {
                Mod.Title = Mod.Dep + "-" + Mod.Position;
                //直接添加
                Mod.Adduser = currentadminUser.ID;
                Mod.Addtime = DateTime.Now;
                Mod.Status  = 1;
                Mod         = OrganizetionService.Insert(Mod);
                if (Mod.ID != 0)
                {
                    ReturnJson.Code   = "0";
                    ReturnJson.Errmsg = "保存成功";
                }
                else
                {
                    ReturnJson.Code   = "1";
                    ReturnJson.Errmsg = "保存失败";
                }
            }
            else
            {
                Mod.Title = Mod.Dep + "-" + Mod.Position;
                EntityToEntity <Mpr_Organization>(Mod, ref Model);
                Model.Status = 1;
                Model        = OrganizetionService.Update(Model);
                if (Model.ID != 0)
                {
                    ReturnJson.Code   = "0";
                    ReturnJson.Errmsg = "保存成功";
                }
                else
                {
                    ReturnJson.Code   = "1";
                    ReturnJson.Errmsg = "保存失败";
                }
            }
            return(ToJson(ReturnJson));
        }
        public string DelRow(int RowID)
        {
            ReturnJson Rejson = new ReturnJson();

            Mpr_Organization Model = OrganizetionService.GetModel(s => s.ID == RowID);

            Model.Status = 5;
            Model        = OrganizetionService.Update(Model);
            if (Model.ID > 0)
            {
                Rejson.Code   = "0";
                Rejson.Errmsg = "删除成功";
            }
            else
            {
                Rejson.Code   = "1";
                Rejson.Errmsg = "删除失败";
            }
            return(ToJson(Rejson));
        }
 /// <summary>
 ///  获取所有上级列表
 /// </summary>
 /// <returns></returns>
 public List <Mpr_Organization> GetParentsList(Mpr_Organization KidMod)
 {
     if (KidMod.ParentID != null && KidMod.ParentID != 0)
     {
         //向上递归获取所有上级线
         List <Mpr_Organization> ParentList = new List <Mpr_Organization>();
         ParentList.Add(KidMod);
         while (KidMod.ParentID != 0)
         {
             KidMod = OrganizationService.GetModel(s => s.ID == KidMod.ParentID);
             if (KidMod != null)
             {
                 if (Position.Contains(KidMod.Position))
                 {
                     //判断是否已经存在对应职位数据 如果存在则不再添加
                     if (ParentList.Where(s => s.Position == KidMod.Position).Count() == 0)
                     {
                         ParentList.Add(KidMod);
                     }
                 }
                 else
                 {
                     ParentList.Add(KidMod);
                 }
             }
             else
             {
                 //出现上级为空,直接终止循环
                 break;
             }
         }
         return(ParentList);
     }
     else
     {
         return(null);
     }
 }
        public List <OrgData> GetOrgList(Mpr_Organization ParentMod)
        {
            List <OrgData> Orglist = new List <OrgData>();
            //根据当前Mod获取当前最上级下所有夏季列表
            List <Mpr_Organization> dbList = OrganizetionService.FindByParam(s => s.ParentID == ParentMod.ID && s.Status == 1, s => s.Sort);

            if (dbList.Count > 0)
            {
                foreach (var item in dbList)
                {
                    OrgData OneOrgList = new OrgData();
                    //加入第一层关系人
                    OneOrgList.id       = item.ID;
                    OneOrgList.name     = item.Name;
                    OneOrgList.title    = item.Title;
                    OneOrgList.photo    = item.Photo;
                    OneOrgList.workcard = item.WorkNo;
                    OneOrgList.children = GetOrgList(item);
                    Orglist.Add(OneOrgList);
                }
            }
            return(Orglist);
        }
        public string Save(string data)
        {
            ReturnJson Result = new ReturnJson();

            try
            {
                Mpr_Customer CustomerMod = Newtonsoft.Json.JsonConvert.DeserializeObject <Mpr_Customer>(data);
                #region  开始逐条验证
                if (string.IsNullOrEmpty(CustomerMod.ID_Card) || (CustomerMod.ID_Card.Length != 15 && CustomerMod.ID_Card.Length != 18))
                {
                    Result.Code   = "1";
                    Result.Errmsg = "身份证号输入不正确";
                    return(ToJson(Result));
                }
                if (string.IsNullOrEmpty(CustomerMod.Name))
                {
                    Result.Code   = "1";
                    Result.Errmsg = "姓名不能为空";
                    return(ToJson(Result));
                }
                if (string.IsNullOrEmpty(CustomerMod.Phone) || !Tools.IsMobilePhone(CustomerMod.Phone))
                {
                    Result.Code   = "1";
                    Result.Errmsg = "电话号码输入不正确";
                    return(ToJson(Result));
                }
                if (CustomerMod.Province == "省份")
                {
                    Result.Code   = "1";
                    Result.Errmsg = "省份不能为空";
                    return(ToJson(Result));
                }
                if (CustomerMod.Province == "地级市")
                {
                    Result.Code   = "1";
                    Result.Errmsg = "地级市不能为空";
                    return(ToJson(Result));
                }
                if (CustomerMod.Province == "市、县级市")
                {
                    Result.Code   = "1";
                    Result.Errmsg = "市、县级市不能为空";
                    return(ToJson(Result));
                }
                if (string.IsNullOrEmpty(CustomerMod.Address))
                {
                    Result.Code   = "1";
                    Result.Errmsg = "详细地址不能为空";
                    return(ToJson(Result));
                }
                if (string.IsNullOrEmpty(CustomerMod.Sale))
                {
                    Result.Code   = "1";
                    Result.Errmsg = "销售人员不能为空";
                    return(ToJson(Result));
                }
                //检测销售人员是否存在
                Mpr_Organization OrgModel = OrganizationService.GetModel(s => s.ID == CustomerMod.SaleID);
                if (OrgModel == null)
                {
                    Result.Code   = "1";
                    Result.Errmsg = "销售人员不存在";
                    return(ToJson(Result));
                }
                #endregion
                #region 验证通过开始处理
                int    Sex      = -1;
                string birthday = "";
                Tools.GetBirthdayAndSex(CustomerMod.ID_Card, ref Sex, ref birthday);
                CustomerMod.Sex      = Sex;
                CustomerMod.Birthday = birthday;
                //赋值部门以及上级信息.
                CustomerMod.SaleDep = OrgModel.Dep;
                List <Mpr_Organization> Parlist = GetParentsList(OrgModel);
                Mpr_Organization        ModDir  = Parlist.Where(s => s.Position == "主管").FirstOrDefault();
                if (ModDir != null)
                {
                    CustomerMod.SaleDirectorID = ModDir.ID;
                    CustomerMod.SaleDirector   = ModDir.Name;
                }
                Mpr_Organization ModManager = Parlist.Where(s => s.Position == "经理").FirstOrDefault();
                if (ModManager != null)
                {
                    CustomerMod.SaleManagerID = ModManager.ID;
                    CustomerMod.SaleManager   = ModManager.Name;
                }
                Mpr_Organization ModChief = Parlist.Where(s => s.Position == "总监").FirstOrDefault();
                if (ModChief != null)
                {
                    CustomerMod.SaleChiefID = ModChief.ID;
                    CustomerMod.SaleChief   = ModChief.Name;
                }
                #endregion
                Mpr_Customer OldMod = CustomerService.GetModel(s => s.ID == CustomerMod.ID);
                if (OldMod == null)
                {
                    //当前没有搜到对应数据,直接开始添加
                    CustomerMod.ID      = Guid.NewGuid().ToString("N");
                    CustomerMod.AddUser = currentadminUser.ID;
                    CustomerMod.Addtime = DateTime.Now;
                    //开始添加数据
                    CustomerMod = CustomerService.Insert(CustomerMod);
                }
                else
                {
                    //当前存在对应数据
                    EntityToEntity(CustomerMod, ref OldMod, new string[] { "AddUser", "Addtime" });
                    OldMod.ChangeUser = currentadminUser.ID;
                    OldMod.Changetime = DateTime.Now;
                    OldMod            = CustomerService.Update(OldMod);
                }
                Result.Code   = "0";
                Result.Errmsg = "保存成功";
            }
            catch (Exception ex)
            {
                Result.Code   = "1";
                Result.Errmsg = "保存异常";
            }
            return(ToJson(Result));
        }