示例#1
0
        public async Task <IEnumerable <AssignTaskVM> > GetTasks()
        {
            var list = await _db.AssignTasks.Include(x => x.AssignTo).ToListAsync();

            var list2 = new List <AssignTaskVM>();

            list.ForEach(x =>
            {
                var assignToUserId   = x.AssignTo != null ? x.AssignTo.UserId : 0;
                var assignToUserName = x.AssignTo != null ? x.AssignTo.FirstName + ' ' + x.AssignTo.LastName : "";
                var o = new AssignTaskVM
                {
                    TaskId           = x.TaskId,
                    Name             = x.Name,
                    Description      = x.Description,
                    StartDate        = x.StartDate,
                    EndDate          = x.EndDate,
                    UserId           = assignToUserId,
                    AssignedUserName = assignToUserName
                };
                list2.Add(o);
            });

            return(list2);
        }
示例#2
0
        public async Task <IActionResult> GetAssignTask([FromRoute] int id)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var assignTask = await _taskService.GetTask(id);

            if (assignTask == null)
            {
                return(NotFound());
            }
            var assignTaskVM = new AssignTaskVM
            {
                TaskId      = assignTask.TaskId,
                Name        = assignTask.Name,
                Description = assignTask.Description,
                StartDate   = assignTask.StartDate,
                EndDate     = assignTask.EndDate,
                UserId      = assignTask.AssignTo.UserId
            };

            return(Ok(assignTaskVM));
        }
示例#3
0
        public IActionResult TaskList()
        {
            if (HttpContext.Session.GetString("UserRole") == "1" ||
                HttpContext.Session.GetString("UserRole") == "2" &&
                HttpContext.Session.GetString("UserRole") != "Expired")
            {
                var list = db.AssignTask.AsNoTracking().ToList();
                var i    = new List <AssignTaskVM>();

                foreach (var item in list)
                {
                    AssignTaskVM t = new AssignTaskVM()
                    {
                        TaskId      = item.TaskId,
                        TaskTitle   = item.TaskTitle,
                        Description = item.Description,
                        Date        = item.Date,
                        EmployeeId  = item.EmployeeId
                    };
                    i.Add(t);
                }
                return(View(i));
            }
            else
            {
                return(RedirectToAction("Index", "Home"));
            }
        }
示例#4
0
        public async Task <IActionResult> PostAssignTask([FromBody] AssignTaskVM assignTaskVM)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            await _taskService.AddTask(assignTaskVM);

            return(CreatedAtAction("GetAssignTask", new { id = assignTaskVM.TaskId }, assignTaskVM));
        }
示例#5
0
 public IActionResult DeleteTask(AssignTaskVM item)
 {
     if (HttpContext.Session.GetString("UserRole") == "1" && HttpContext.Session.GetString("UserRole") != "Expired")
     {
         var i = db.AssignTask.AsNoTracking().Where(a => a.TaskId == item.TaskId).FirstOrDefault();
         db.AssignTask.Remove(i);
         db.SaveChanges();
         return(RedirectToAction("TaskList"));
     }
     else
     {
         return(RedirectToAction("Index", "Home"));
     }
 }
示例#6
0
        public async Task <bool> EditTask(AssignTaskVM task)
        {
            var        user       = _db.Users.Find(task.UserId);
            AssignTask assignTask = new AssignTask
            {
                TaskId      = task.TaskId,
                Name        = task.Name,
                Description = task.Description,
                StartDate   = task.StartDate,
                EndDate     = task.EndDate,
                AssignTo    = user
            };

            _db.Entry(assignTask).State = EntityState.Modified;
            return(await _db.SaveChangesAsync() > 0);
        }
示例#7
0
        public async Task <AssignTaskVM> AddTask(AssignTaskVM task)
        {
            var        user       = _db.Users.Find(task.UserId);
            AssignTask assignTask = new AssignTask
            {
                TaskId      = 0,
                Name        = task.Name,
                Description = task.Description,
                StartDate   = task.StartDate,
                EndDate     = task.EndDate,
                AssignTo    = user
            };

            _db.AssignTasks.Add(assignTask);
            await _db.SaveChangesAsync();

            task.TaskId = assignTask.TaskId;
            return(task);
        }
示例#8
0
 public IActionResult DeleteTask(int id)
 {
     if (HttpContext.Session.GetString("UserRole") == "1" && HttpContext.Session.GetString("UserRole") != "Expired")
     {
         var          item = db.AssignTask.AsNoTracking().Where(s => s.TaskId == id).FirstOrDefault();
         AssignTaskVM t    = new AssignTaskVM()
         {
             TaskId      = item.TaskId,
             TaskTitle   = item.TaskTitle,
             Description = item.Description,
             Date        = item.Date,
             EmployeeId  = item.EmployeeId
         };
         return(View(t));
     }
     else
     {
         return(RedirectToAction("Index", "Home"));
     }
 }
示例#9
0
        public async Task <IActionResult> PutAssignTask([FromRoute] int id, [FromBody] AssignTaskVM assignTaskVM)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != assignTaskVM.TaskId)
            {
                return(BadRequest());
            }

            try
            {
                await _taskService.EditTask(assignTaskVM);
            }
            catch (DbUpdateConcurrencyException)
            {
                throw;
            }

            return(NoContent());
        }