コード例 #1
0
 public string CreateTask(ELTask eLTask, string date, HttpPostedFileBase file)
 {
     if (ModelState.IsValid)
     {
         eLTask.DocumentPath = FileOperations.SaveFile(file, Server, pathToSave, extensions);
         eLTask.AuthorId     = GetUser(eLTask);
         if (string.IsNullOrEmpty(eLTask.Name))
         {
             eLTask.Name = "";
         }
         db.ELTask.Add(eLTask);
         UserELTask userTask = new UserELTask();
         DateTime   tempDate;
         try
         {
             tempDate = Convert.ToDateTime(date);
         }
         catch {
             tempDate = DateTime.Now.AddDays(7);
         }
         userTask.Date   = tempDate;
         userTask.ELTask = eLTask;
         var userIdentity = User.Identity.GetUserId();
         int userId       = db.User.Where(x => x.IdentityId == userIdentity).Select(x => x.UserId).First();
         userTask.UserId = userId;
         db.UserELTask.Add(userTask);
         db.SaveChanges();
     }
     return(eLTask.Name);
 }
コード例 #2
0
        public ActionResult EditUserTaskModal(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            UserELTask eLUserTask = db.UserELTask.Find(id);

            if (eLUserTask == null)
            {
                return(HttpNotFound());
            }
            return(PartialView(eLUserTask));
        }
コード例 #3
0
        private UserELTask AddNewTaskByGroup(string groupName, IQueryable <int> bannedTasks, int userId, string userLvl, bool withLowerLvl = false)
        {
            var ban = from ut in db.UserELTask.Include("ELTask")
                      where
                      ut.UserId == userId &&
                      ut.Done == true &&
                      ut.ELTask.AuthorId == 1 &&
                      ut.ELTask.Group == groupName
                      select ut.ELTask.TaskId;

            ban = bannedTasks.Concat(ban);

            var tasks = from t in db.ELTask
                        where !bannedTasks.Contains(t.TaskId) &&
                        t.AuthorId == 1 &&
                        t.Group == groupName
                        select t;
            var temp = tasks.Where(x => x.Difficult == userLvl);

            if (temp.Count() < 1 || withLowerLvl)
            {
                List <string> lvl = GetLessUserLvl(userLvl);
                if (withLowerLvl)
                {
                    temp = temp.Concat(tasks.Where(x => lvl.Contains(x.Difficult)));
                }
                else
                {
                    temp = tasks.Where(x => lvl.Contains(x.Difficult));
                }
            }
            temp = temp.OrderBy(x => Guid.NewGuid()).Take(1);
            UserELTask task = new UserELTask
            {
                Date   = DateTime.Now.AddDays(7),
                UserId = userId
            };

            try
            {
                task.TaskId = temp.Select(x => x.TaskId).First();//el;
            }
            catch {
                task = null;
            }
            return(task);
        }
コード例 #4
0
        public bool EditUserTask(UserELTask eLUserTask, HttpPostedFileBase result)
        {
            var path = FileOperations.SaveFile(result, Server, pathToSave, extensions);

            if (!string.IsNullOrWhiteSpace(path))
            {
                FileOperations.DeleteIfExist(Server, eLUserTask.ResultDocPath);
                eLUserTask.ResultDocPath = path;
            }
            db.Entry(eLUserTask).State = EntityState.Modified;
            db.SaveChanges();
            if (eLUserTask.Done)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }