Esempio n. 1
0
 public async System.Threading.Tasks.Task RemoveAsync(Objects.Task task)
 {
     if (task != null)
     {
         try
         {
             if (CurrentUser.Instance.User.FullName.Equals(CurrentProject.Instance.Project.ProjectManager) ||
                 CurrentUser.Instance.User.FullName.Equals(task.AssignedTo))
             {
                 using (var context = new AsanaDbContext())
                 {
                     var t = context.Tasks.FirstOrDefault(x => x.Id == task.Id);
                     if (t != null)
                     {
                         context.Tasks.Remove(t);
                     }
                     await context.SaveChangesAsync();
                 }
             }
             else
             {
                 throw new Exception("You are not permitted to delete task.");
             }
         }
         catch (Exception ex)
         {
             MessageBox.Show(ex.Message, "Warning", MessageBoxButton.OK, MessageBoxImage.Warning);
         }
     }
 }
Esempio n. 2
0
 public async System.Threading.Tasks.Task CreateAsync(Objects.Task task)
 {
     if (task != null)
     {
         try
         {
             if (CurrentUser.Instance.User.FullName.Equals(CurrentProject.Instance.Project.ProjectManager))
             {
                 using (var context = new AsanaDbContext())
                 {
                     int maxPosition = 0;
                     task.IsTaskAdded = true;
                     task.CreatedAt   = DateTime.Now;
                     if (context.Tasks.Count() > 0)
                     {
                         maxPosition = context.Tasks.Max(x => x.Position) + 1;
                     }
                     task.Position           = maxPosition;
                     task.CurrentKanbanState = context.KanbanState.FirstOrDefault(z => z.Name.Equals("In Progress")).Name;
                     context.Tasks.Add(task);
                     await context.SaveChangesAsync();
                 }
             }
             else
             {
                 throw new Exception("You are not permitted to create task");
             }
         }
         catch (Exception ex)
         {
             MessageBox.Show(ex.Message, "Warning", MessageBoxButton.OK, MessageBoxImage.Warning);
         }
     }
 }
Esempio n. 3
0
        public async System.Threading.Tasks.Task UpdateColumnId(Guid columnId, Objects.Task task)
        {
            if (task != null)
            {
                try
                {
                    if (CurrentUser.Instance.User.FullName.Equals(CurrentProject.Instance.Project.ProjectManager) ||
                        CurrentUser.Instance.User.FullName.Equals(task.AssignedTo))
                    {
                        using (var context = new AsanaDbContext())
                        {
                            var t = context.Tasks.Include("Column").Include("TaskLogs").FirstOrDefault(x => x.Id == task.Id);

                            if (t != null)
                            {
                                var c = context.Columns.FirstOrDefault(x => x.Id == task.ColumnId);
                                if (c != null)
                                {
                                    context.Tasks.FirstOrDefault(x => x.Id == t.Id).ColumnId = columnId;
                                }
                                await context.SaveChangesAsync();
                            }
                        }
                    }
                    else
                    {
                        throw new Exception("You are not permitted to edit the task.");
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Warning", MessageBoxButton.OK, MessageBoxImage.Warning);
                }
            }
        }
Esempio n. 4
0
        public async System.Threading.Tasks.Task UpdateAsync(Objects.Task task)
        {
            if (task != null)
            {
                try
                {
                    if (CurrentUser.Instance.User.FullName.Equals(CurrentProject.Instance.Project.ProjectManager) ||
                        CurrentUser.Instance.User.FullName.Equals(task.AssignedTo))
                    {
                        using (var context = new AsanaDbContext())
                        {
                            context.Tasks.First(x => x.Id == task.Id).IsStarred          = task.IsStarred;
                            context.Tasks.First(x => x.Id == task.Id).StarPath           = task.StarPath;
                            context.Tasks.First(x => x.Id == task.Id).CurrentKanbanState = task.CurrentKanbanState;

                            context.Tasks.First(x => x.Id == task.Id).AssignedTo = task.AssignedTo;

                            context.Tasks.First(x => x.Id == task.Id).ColumnId    = task.ColumnId;
                            context.Tasks.First(x => x.Id == task.Id).Deadline    = task.Deadline;
                            context.Tasks.First(x => x.Id == task.Id).Image       = task.Image;
                            context.Tasks.First(x => x.Id == task.Id).Description = task.Description;
                            context.Tasks.First(x => x.Id == task.Id).Title       = task.Title;
                            await context.SaveChangesAsync();
                        }
                    }
                    else
                    {
                        throw new Exception("You are not permitted to edit the task.");
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }