Exemplo n.º 1
0
        ////插入客户分配表 B005
        //private void InsertIntoB005(DBMA1DataContext dbma1,string userSN)
        //{
        //    B005 b005 = new B005();
        //    b005.userSN = userSN;

        //    dbma1.B005s.InsertOnSubmit(b005);
        //}

        //自动分配客户经理(拥有客户数最少的客户经理分配给用户)
        private void AssignCM(DBMA1DataContext dbma1, string userSN)
        {
            bool ifCanAssign    = true;
            int? internalUserSN = null;

            var data1 = from c in dbma1.B003s.Where(c => c.roleTypeSN == "B01" && c.deleteDate == null)
                        join o in dbma1.B005s
                        on c.internalUserSN equals o.internalUserSN into p
                        from o in p.DefaultIfEmpty()
                        select new
            {
                c.internalUserSN,
                o.userSN
            };

            if (data1.Count() == 0)
            {
                ifCanAssign = false;
            }
            else
            {
                var data2 = (from c in data1
                             group c by c.internalUserSN into g
                             select new
                {
                    internalUserSN = g.Key,
                    count = g.Count()
                });

                var data3 = (from c in data2
                             where c.count == data2.Min(o => o.count)
                             select c).First();

                internalUserSN = data3.internalUserSN;
            }

            //添加记录
            B005 b005 = new B005();

            b005.userSN = userSN;
            if (ifCanAssign == true)
            {
                b005.internalUserSN = internalUserSN;
                b005.assignDate     = DateTime.Now;
            }

            dbma1.B005s.InsertOnSubmit(b005);
        }
Exemplo n.º 2
0
        //成功:"0"; 客户经理无效:"1"
        public string FM020504(string userSN, string workNum)
        {
            using (DBMA1DataContext dbma1 = new DBMA1DataContext())
            {
                int internalUserSN = dbma1.internal_users.Where(c => c.work_num == workNum).First().internal_user_id;

                //查看客户经理是否有效
                var data = (from c in dbma1.B003s
                            where c.deleteDate == null &&
                            c.internalUserSN == internalUserSN &&
                            c.roleTypeSN.Trim() == "B01"
                            select c).FirstOrDefault();
                if (data == null)
                {
                    return("1");
                }

                //修改客户经理
                B005 b005 = (from c in dbma1.B005s
                             where c.userSN == userSN
                             select c).First();
                b005.internalUserSN = internalUserSN;
                b005.assignDate     = DateTime.Now;

                //添加后台修改记录 B00
                B000 b000 = new B000();
                b000.bgOperateSN  = C101.FC10102("B000", 5, "B");
                b000.tableName    = "B005";
                b000.pkSN         = b005.userSN;
                b000.actionTypeSN = "B0D";
                int operatorSN = Convert.ToInt32(session["internalUserId"].ToString());
                //int operatorSN = 1032;
                b000.operatorSN  = operatorSN;
                b000.operateDate = DateTime.Now;
                dbma1.B000s.InsertOnSubmit(b000);

                dbma1.SubmitChanges();

                return("0");
            }
        }