public void init() { var userList = DB.tbUser.ToList(); for (int i = 1; i <= 50; i++) { tbTask t = new tbTask() { content = "T" + i, name = "N" + i, startTime = DateTime.Now.AddHours(i*5), endTime = DateTime.Now.AddDays(i*10), status = i % 5, kind = i % (i>20 ? 1:4), rating = i % 4, addTime = DateTime.Now, type = i % 2, points = i * 100, creatorId = userList[i % (userList.Count>2 ?2:userList.Count)].id }; DB.tbTask.Add(t); if (t.type == 1) { for (int k = 1; k <= 2; k++) { tbTaskAssign ta = new tbTaskAssign { taskId = t.id, userId = userList[(i + k) % (userList.Count > 2 ? 2 : userList.Count)].id, assignTime = DateTime.Now.AddDays(i+k) }; DB.tbTaskAssign.Add(ta); } } DB.SaveChanges(); } }
public string SaveTask(string jsonTask) { try { tbTask task = (tbTask)JsonUtil.fromJson(jsonTask, typeof(tbTask)); if (task.id < 1) { tbTask t = new tbTask() { content = task.content, name = task.name, startTime = task.startTime, endTime = task.endTime, status = task.status, kind = task.kind, rating = task.rating, addTime = DateTime.Now, type = task.type, points = task.points, creatorId = task.creatorId }; DB.tbTask.Add(t); foreach (var ta in task.tbTaskAssign) { ta.taskId = task.id; DB.tbTaskAssign.Add(new tbTaskAssign() { taskId = t.id, userId = ta.userId, assignTime = DateTime.Now }); } DB.SaveChanges(); return JsonUtil.ToJson(new { success = true, content = t.id }); } else { var t = DB.tbTask.FirstOrDefault(m => m.id == task.id); t.name = task.name; t.kind = task.kind; t.points = task.points; t.rating = task.rating; t.result = task.result; t.startTime = task.startTime; t.endTime = task.endTime; t.condition = task.condition; t.content = task.content; t.creatorId = task.creatorId; t.status = task.status; t.type = task.type; //选择原来安排的用户 var oldUserIds = t.tbTaskAssign.Select(m => m.userId).ToList(); //要安排的新用户 var newUserIds = task.tbTaskAssign.Select(m => m.userId).ToList(); //要删除的用户 var delUserIds = oldUserIds.Where(m => !newUserIds.Contains(m)); foreach (var uid in delUserIds) { var ta = t.tbTaskAssign.FirstOrDefault(m => m.userId == uid); DB.tbTaskAssign.Remove(ta); } //要新加的用户 var addUserIds = newUserIds.Where(m => !oldUserIds.Contains(m)); foreach (var uid in addUserIds) { var ta = new tbTaskAssign() { userId = uid, taskId = t.id, assignTime = DateTime.Now }; DB.tbTaskAssign.Add(ta); } DB.SaveChanges(); return JsonUtil.ToJson(new { success = true, content = t.id }); } } catch (Exception ex) { return JsonUtil.ToJson(new { success = false, content = ex.Message }); } }