////插入客户分配表 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); }
//成功:"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"); } }