Esempio n. 1
0
 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();
     }
 }
Esempio n. 2
0
        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 });
            }
        }