public void AllAgent(int agengtid, int Value)
        {
            SysAgent tempAgent = Entity.SysAgent.FirstOrNew(o => o.Id == Value);    //调入商户
            SysAgent Agengt    = Entity.SysAgent.FirstOrNew(o => o.Id == agengtid); //调出商户

            if (tempAgent == null || Agengt == null)
            {
                Response.Write(0);
            }
            int Ret = 0;
            IList <SysAgent> SysAgentList = Entity.SysAgent.Where(o => o.AgentID == agengtid && o.Id != agengtid).ToList();

            //调入记录
            foreach (var info in SysAgentList)
            {
                UsersMoveLog UsersMoveLog = new UsersMoveLog()
                {
                    AddTime   = DateTime.Now,
                    ToSAId    = tempAgent.Id,
                    ToName    = tempAgent.Name,
                    FromName  = Agengt.Name,
                    FromSAId  = Agengt.Id,
                    UId       = info.Id,
                    UTrueName = info.Name,
                    OpName    = AdminUser.TrueName,
                    Type      = 2,
                    Tel       = info.LinkMobile,
                };
                info.AgentID = Value;
                this.Entity.UsersMoveLog.AddObject(UsersMoveLog);
            }
            Entity.SaveChanges();
            Response.Write(Ret);
        }
        public ActionResult Index(UsersMoveLog UsersMoveLog, EFPagingInfo <UsersMoveLog> p)
        {
            p.SqlWhere.Add(o => o.FromSAId == this.BasicAgent.Id || o.ToSAId == this.BasicAgent.Id);
            p.OrderByList.Add("AddTime", "DESC");
            IPageOfItems <UsersMoveLog> UsersMoveLogList = Entity.Selects <UsersMoveLog>(p);

            this.ViewBag.UsersMoveLogList = UsersMoveLogList;
            this.ViewBag.UsersMoveLog     = UsersMoveLog;
            return(View());
        }
Пример #3
0
        public void Batch(int agengtid, string InfoList, int Value)
        {
            SysAgent tempAgent = Entity.SysAgent.FirstOrNew(o => o.Id == Value);    //调入商户
            SysAgent Agengt    = Entity.SysAgent.FirstOrNew(o => o.Id == agengtid); //调出商户

            if (tempAgent == null || Agengt == null)
            {
                Response.Write(0);
            }
            int Ret = 0;

            //string SQL = "update SysAgent set agentid='" + Value + "' where id in("+InfoList+")";
            //Ret = Entity.ExecuteStoreCommand(SQL);
            string[] users = InfoList.Split(',');

            //调入记录
            foreach (var info in users)
            {
                int   temp  = int.Parse(info);
                Users Users = Entity.Users.FirstOrDefault(o => o.Id == temp);
                if (Users != null)
                {
                    UsersMoveLog UsersMoveLog = new UsersMoveLog()
                    {
                        AddTime   = DateTime.Now,
                        ToSAId    = tempAgent.Id,
                        ToName    = tempAgent.Name,
                        FromName  = Agengt.Name,
                        FromSAId  = Agengt.Id,
                        UId       = Users.Id,
                        UTrueName = Users.TrueName.IsNullOrEmpty()?"":Users.TrueName,
                        OpName    = AdminUser.TrueName,
                        Type      = 1,
                        Tel       = Users.UserName,
                    };
                    if (!Users.MyPId.IsNullOrEmpty())
                    {
                        ShareTotal ShareTotal = Entity.ShareTotal.FirstOrDefault(o => o.UId == Users.MyPId && o.Tier == 1);
                        if (ShareTotal != null)
                        {
                            ShareTotal.ShareNum = ShareTotal.ShareNum - 1;
                        }
                    }
                    Users.MyPId = 0;
                    Users.Agent = Value;
                    this.Entity.UsersMoveLog.AddObject(UsersMoveLog);
                }
            }

            Entity.SaveChanges();
            Response.Write(Ret);
        }
        public void Batch(int agengtid, string InfoList, int Value)
        {
            SysAgent tempAgent = Entity.SysAgent.FirstOrNew(o => o.Id == Value);    //调入商户
            SysAgent Agengt    = Entity.SysAgent.FirstOrNew(o => o.Id == agengtid); //调出商户

            if (tempAgent == null || Agengt == null)
            {
                Response.Write(0);
            }
            int Ret = 0;

            //string SQL = "update SysAgent set agentid='" + Value + "' where id in("+InfoList+")";
            //Ret = Entity.ExecuteStoreCommand(SQL);
            string[] agents = InfoList.Split(',');

            //调入记录
            foreach (var info in agents)
            {
                int      temp     = int.Parse(info);
                SysAgent SysAgent = Entity.SysAgent.FirstOrDefault(o => o.Id == temp);
                if (SysAgent != null)
                {
                    UsersMoveLog UsersMoveLog = new UsersMoveLog()
                    {
                        AddTime   = DateTime.Now,
                        ToSAId    = tempAgent.Id,
                        ToName    = tempAgent.Name,
                        FromName  = Agengt.Name,
                        FromSAId  = Agengt.Id,
                        UId       = SysAgent.Id,
                        UTrueName = SysAgent.Name,
                        OpName    = AdminUser.TrueName,
                        Type      = 2,
                        Tel       = SysAgent.LinkMobile,
                    };
                    SysAgent.AgentID = Value;
                    this.Entity.UsersMoveLog.AddObject(UsersMoveLog);
                }
            }

            Entity.SaveChanges();
            Response.Write(Ret);
        }
Пример #5
0
        public void AllUsers(int agengtid, int Value)
        {
            SysAgent tempAgent = Entity.SysAgent.FirstOrNew(o => o.Id == Value);    //调入商户
            SysAgent Agengt    = Entity.SysAgent.FirstOrNew(o => o.Id == agengtid); //调出商户

            if (tempAgent == null || Agengt == null)
            {
                Response.Write(0);
            }
            int           Ret       = 0;
            IList <Users> UsersList = Entity.Users.Where(o => o.Agent == agengtid && o.UserName != Agengt.LinkMobile).ToList();

            //调入记录
            foreach (var info in UsersList)
            {
                UsersMoveLog UsersMoveLog = new UsersMoveLog()
                {
                    AddTime   = DateTime.Now,
                    ToSAId    = tempAgent.Id,
                    ToName    = tempAgent.Name,
                    FromName  = Agengt.Name,
                    FromSAId  = Agengt.Id,
                    UId       = info.Id,
                    UTrueName = info.TrueName.IsNullOrEmpty() ? "" : info.TrueName,
                    OpName    = AdminUser.TrueName,
                    Type      = 1,
                    Tel       = info.UserName,
                };
                if (!info.MyPId.IsNullOrEmpty())
                {
                    ShareTotal ShareTotal = Entity.ShareTotal.FirstOrDefault(o => o.UId == info.MyPId && o.Tier == 1);
                    if (ShareTotal != null)
                    {
                        ShareTotal.ShareNum = ShareTotal.ShareNum - 1;
                    }
                }
                info.MyPId = 0;
                info.Agent = Value;
                this.Entity.UsersMoveLog.AddObject(UsersMoveLog);
            }
            Entity.SaveChanges();
            Response.Write(Ret);
        }
        public ActionResult Index(UsersMoveLog UsersMoveLog, EFPagingInfo <UsersMoveLog> p, int IsFirst = 0)
        {
            if (IsFirst == 0)
            {
                PageOfItems <UsersMoveLog> UsersMoveLogList1 = new PageOfItems <UsersMoveLog>(new List <UsersMoveLog>(), 0, 10, 0, new Hashtable());
                ViewBag.UsersMoveLogList = UsersMoveLogList1;
                ViewBag.UsersMoveLog     = UsersMoveLog;
                return(View());
            }
            if (!UsersMoveLog.UTrueName.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.UTrueName.Contains(UsersMoveLog.UTrueName));
            }
            p.OrderByList.Add("AddTime", "DESC");
            IPageOfItems <UsersMoveLog> UsersMoveLogList = Entity.Selects <UsersMoveLog>(p);

            ViewBag.UsersMoveLogList = UsersMoveLogList;
            ViewBag.UsersMoveLog     = UsersMoveLog;
            return(View());
        }
        public ActionResult UsersMove(Users users)
        {
            #region 校验
            Users Users = this.Entity.Users.Where(o => o.UserName == users.UserName.Trim() && o.TrueName == users.TrueName.Trim() && o.CardId == users.CardId.Trim()).FirstOrDefault();
            if (Users == null)
            {
                ViewBag.ErrorMsg = "用户不存在";
                return(View("Error"));
            }
            if (Users.CardStae != 2)
            {
                ViewBag.ErrorMsg = "用户未实名认证";
                return(View("Error"));
            }
            if (Users.SAId != 0)
            {
                ViewBag.ErrorMsg = "此商户不可调入";
                return(View("Error"));
            }
            if (Users.Agent == this.BasicAgent.Id)
            {
                ViewBag.ErrorMsg = "用户:" + Users.UserName + " ,已经是你的商户,无需调入";
                return(View("Error"));
            }
            UserCard UserCard = this.Entity.UserCard.FirstOrDefault(o => o.UId == Users.Id && o.Card == users.CardNum.Trim() && o.Type == 1 && o.State == 1);
            if (UserCard == null)
            {
                ViewBag.ErrorMsg = "借记卡卡号不正确";
                return(View("Error"));
            }

            var FSysAgent = this.Entity.SysAgent.FirstOrDefault(o => o.Id == Users.Agent);
            if (FSysAgent == null)
            {
                ViewBag.ErrorMsg = "所属代理不存在";
                return(View("Error"));
            }
            #endregion
            //处理下级用户
            var sonUsers = this.Entity.Users.Where(o => o.MyPId == Users.Id).ToList();
            foreach (var item in sonUsers)
            {
                //新增分享记录减少
                if (!item.MyPId.IsNullOrEmpty())
                {
                    ShareTotal ShareTotal = Entity.ShareTotal.FirstOrDefault(o => o.UId == item.MyPId && o.Tier == 1);
                    if (ShareTotal != null)
                    {
                        ShareTotal.ShareNum = ShareTotal.ShareNum - 1;
                    }
                }
                item.MyPId = 0;
            }

            int Agent = 0;

            //处理调入用户
            Agent = Users.Agent;
            if (!Users.MyPId.IsNullOrEmpty())
            {
                ShareTotal ShareTotal = Entity.ShareTotal.FirstOrDefault(o => o.UId == Users.MyPId && o.Tier == 1);
                if (ShareTotal != null)
                {
                    ShareTotal.ShareNum = ShareTotal.ShareNum - 1;
                }
            }
            Users.MyPId = 0;
            Users.Agent = this.BasicAgent.Id;
            Users.AId   = this.AdminUser.Id;

            //调入记录
            UsersMoveLog UsersMoveLog = new UsersMoveLog()
            {
                AddTime   = DateTime.Now,
                ToSAId    = this.BasicAgent.Id,
                ToName    = this.BasicAgent.Name,
                FromName  = FSysAgent.Name,
                FromSAId  = Agent,
                UId       = Users.Id,
                UTrueName = users.TrueName ?? users.UserName,
                OpName    = this.BasicAgent.Name,
                Type      = 1,
                Tel       = users.UserName,
            };
            this.Entity.UsersMoveLog.AddObject(UsersMoveLog);

            this.Entity.SaveChanges();
            ViewBag.Title = "操作成功";
            ViewBag.Msg   = string.Format("商户:{0},已经成功调入!!", Users.UserName);
            return(View("Succeed"));
        }
        public void Save(SysAgent SysAgent, List <string> PId, List <Attach> Contract, Attach IDCard_Front, Attach IDCard_Reverse, Attach IDCard_Hand, List <Attach> Certificate, List <int> DelIds, string PassWord, int?AnsyCash0, int?AnsyNext0, int?AnsyCash1, int?AnsyNext1, int sameid)
        {
            SysAgent.PayGet  = SysAgent.PayGet.IsNullOrEmpty() ? 0 : SysAgent.PayGet / 100;
            SysAgent.CashGet = 0;//SysAgent.CashGet.IsNullOrEmpty() ? 0 : SysAgent.CashGet / 100;
            SysAgent.LoanGet = SysAgent.LoanGet.IsNullOrEmpty() ? 0 : SysAgent.LoanGet / 100;
            SysAgent.Credit  = SysAgent.Credit.IsNullOrEmpty() ? 0 : SysAgent.Credit / 100;
            //已绑定,手机不能改
            SysAgent baseSysAgent = Entity.SysAgent.FirstOrDefault(n => n.Id == SysAgent.Id);

            if (!baseSysAgent.MyUId.IsNullOrEmpty())
            {
                SysAgent.LinkMobile = baseSysAgent.LinkMobile;
            }
            bool IsLock = false;

            if (baseSysAgent.State == 1 && SysAgent.State == 0)
            {
                IsLock = true;
            }
            //保存销售记录为了取得id
            var salesLog = new SalesLog()
            {
                AddTime    = DateTime.Now,
                AgentFee   = SysAgent.AgentFee,
                ExpireTime = SysAgent.ExpireTime,
                State      = 1,
                AgentId    = SysAgent.Id,
                Salesman   = SysAgent.Salesman,
            };

            Entity.SalesLog.AddObject(salesLog);
            Entity.SaveChanges();

            SysAgent.Cash0 = SysAgent.Cash0 / 1000;
            SysAgent.Cash1 = SysAgent.Cash1 / 1000;

            //判断是否更新级数
            bool IsUpMaxTier = false;

            if (SysAgent.AgentLevelMax > baseSysAgent.AgentLevelMax)
            {
                IsUpMaxTier = true;
            }
            else
            {
                SysAgent.AgentLevelMax = baseSysAgent.AgentLevelMax;//不大于的情况下不能修改
            }
            baseSysAgent = Request.ConvertRequestToModel <SysAgent>(baseSysAgent, SysAgent);
            //处理推广代理佣金
            if (baseSysAgent.DaiLiGetType == 1)
            {
                baseSysAgent.DaiLiGet = baseSysAgent.DaiLiGet / 100;
            }

            //默认代理不能被关闭
            if (baseSysAgent.State == 0 && baseSysAgent.Id == 1)
            {
                baseSysAgent.State = 1;
            }

            //处理设置
            if (SysAgent.IsTeiPai != 1)
            {
                SysAgent.Set3 = 0;
                SysAgent.Set4 = 0;
            }

            //权限
            string Str = string.Empty;

            if (PId != null)
            {
                foreach (var p in PId)
                {
                    if (p != string.Empty)
                    {
                        Str += "," + p;
                    }
                }
                Str += ",";
            }
            string           AgentIds  = baseSysAgent.Id.ToString();//用户下方批量更新下级代理
            IList <SysAgent> AgentList = null;
            //取得之前的权限
            string powerChar = Entity.SysAdmin.FirstOrDefault(s => s.Id == baseSysAgent.AdminId).PowerID;

            //取得之前的权限跟修改后的权限不同的权限
            string[] strSpile   = Str.Split(',');
            string[] powerSpile = powerChar.Split(',');
            strSpile   = strSpile.Where(s => !string.IsNullOrEmpty(s)).ToArray();
            powerSpile = powerSpile.Where(x => !string.IsNullOrEmpty(x)).ToArray();
            //只有减少权限的时候才执行
            if (strSpile.Length < powerSpile.Length)
            {
                string retChar = "";

                for (int i = 0; i < powerSpile.Length; i++)
                {
                    if (!string.IsNullOrWhiteSpace(powerSpile[i]))
                    {
                        if (!strSpile.Contains(powerSpile[i]))
                        {
                            retChar += powerSpile[i] + ",";
                        }
                    }
                }

                //取得代理商所有的下级
                AgentList = SysAgent.GetSupAgent(Entity);

                foreach (var agentItem in AgentList)
                {
                    //根据商户Id获取管理员信息
                    IList <SysAdmin> SysAdminList = Entity.SysAdmin.Where(x => x.AgentId == agentItem.Id).ToList();
                    string[]         retSplit     = retChar.Split(',');
                    foreach (var modelAdmin in SysAdminList)
                    {
                        foreach (var item in retSplit)
                        {
                            string formatChar = string.Format(",{0},", item);
                            if (modelAdmin.PowerID.Contains(formatChar))
                            {
                                modelAdmin.PowerID = modelAdmin.PowerID.Replace(formatChar, ",");
                            }
                        }
                        if (!string.IsNullOrWhiteSpace(modelAdmin.PowerID) && !modelAdmin.PowerID.StartsWith(","))
                        {
                            modelAdmin.PowerID = "," + modelAdmin.PowerID;
                        }
                        string SQL = "Update SysAdmin set PowerID = '" + modelAdmin.PowerID + "' where Id=" + modelAdmin.Id;
                        Entity.ExecuteStoreCommand(SQL);
                    }
                }
            }

            SysAdmin SysAdmin = Entity.SysAdmin.FirstOrDefault(n => n.Id == baseSysAgent.AdminId);

            if (SysAdmin != null)
            {
                SysAdmin.PowerID = Str;
                if (!PassWord.IsNullOrEmpty())
                {
                    SysAdmin.PassWord = PassWord.GetAdminMD5();
                }
                SysAdmin.State = SysAgent.State;
            }
            this.ProcessAttach(SysAgent, salesLog, Contract, IDCard_Front, IDCard_Reverse, IDCard_Hand, Certificate, DelIds);
            Entity.SaveChanges();
            //如果是修改的话这个应该不会执行
            OpenOrBindUser(SysAgent.Id, Str);
            if (IsLock)
            {
                //锁定其下级所有代理 2016-07-05 Lin
                this.LockAllAgent(baseSysAgent);
            }
            Entity.SaveChanges();

            //if (SysAgent)

            if (!AnsyCash0.IsNullOrEmpty() || !AnsyCash1.IsNullOrEmpty() || !AnsyNext0.IsNullOrEmpty() || !AnsyNext1.IsNullOrEmpty() || IsUpMaxTier)
            {
                if (AgentList == null)
                {
                    //取得代理商所有的下级
                    AgentList = SysAgent.GetSupAgent(Entity, true);
                }
                foreach (var p in AgentList)
                {
                    AgentIds = AgentIds + "," + p.Id;
                }
            }
            if (IsUpMaxTier)
            {
                string SQL = "Update SysAgent Set AgentLevelMax=" + baseSysAgent.AgentLevelMax + " where Id in(" + AgentIds + ")";
                Entity.ExecuteStoreCommand(SQL);
            }
            if (AnsyCash0 == 1)//同步到用户
            {
                string SQL = "Update Users Set ECash0=" + baseSysAgent.ECash0 + ",Cash0=" + baseSysAgent.Cash0 + " where Agent in(" + AgentIds + ")";
                Entity.ExecuteStoreCommand(SQL);
            }
            if (AnsyCash1 == 1)//同步到用户
            {
                string SQL = "Update Users Set ECash1=" + baseSysAgent.ECash1 + ",Cash1=" + baseSysAgent.Cash1 + " where Agent in(" + AgentIds + ")";
                Entity.ExecuteStoreCommand(SQL);
            }
            if (AnsyNext0 == 1)//同步到代理
            {
                string SQL = "Update SysAgent Set ECash0=" + baseSysAgent.ECash0 + ",Cash0=" + baseSysAgent.Cash0 + ",Cash0Times=" + baseSysAgent.Cash0Times + " where Id in(" + AgentIds + ")";
                Entity.ExecuteStoreCommand(SQL);
            }
            if (AnsyNext0 == 1)//同步到代理
            {
                string SQL = "Update SysAgent Set ECash1=" + baseSysAgent.ECash1 + ",Cash1=" + baseSysAgent.Cash1 + ",Cash1Times=" + baseSysAgent.Cash1Times + " where Id in(" + AgentIds + ")";
                Entity.ExecuteStoreCommand(SQL);
            }
            if (sameid != SysAgent.SameAgent)
            {
                SysAgent     tempAgent    = Entity.SysAgent.FirstOrNew(o => o.Id == SysAgent.SameAgent); //调入商户
                SysAgent     Agengt       = Entity.SysAgent.FirstOrNew(o => o.Id == sameid);             //调出商户
                UsersMoveLog UsersMoveLog = new UsersMoveLog()
                {
                    AddTime   = DateTime.Now,
                    ToSAId    = tempAgent.Id,
                    ToName    = tempAgent.Name.IsNullOrEmpty()?"":tempAgent.Name,
                    FromName  = Agengt.Name.IsNullOrEmpty()?"":Agengt.Name,
                    FromSAId  = Agengt.Id,
                    UId       = baseSysAgent.Id,
                    UTrueName = baseSysAgent.Name.IsNullOrEmpty() ? "" : baseSysAgent.Name,
                    OpName    = AdminUser.TrueName,
                    Type      = 3,
                    Tel       = baseSysAgent.LinkMobile,
                };
                this.Entity.UsersMoveLog.AddObject(UsersMoveLog);
                Entity.SaveChanges();
            }

            BaseRedirect();
        }