Пример #1
0
 public async Task <List <ToDoItem> > GetGroupItemsAsync(string name)
 {
     using (var db = new ListomatorContext())
     {
         return(await db.ToDoItems.Where(t => t.ToDoGroup.ToDoGroupName == name).ToListAsync());
     }
 }
Пример #2
0
 public async Task <List <ToDoGroup> > GetGroupsAsync()
 {
     using (var db = new ListomatorContext())
     {
         return(await db.ToDoGroups.OrderBy(t => t.ToDoGroupName).ToListAsync());
     }
 }
Пример #3
0
 public ListomatorRepository()
 {
     using (var db = new ListomatorContext())
     {
         //db.Database.Migrate();
         //db.Database.EnsureCreated();
     }
 }
Пример #4
0
        public async Task UpdateGroupNameAsync(string oldName, string newName)
        {
            using (var db = new ListomatorContext())
            {
                var group = await db.ToDoGroups.FirstOrDefaultAsync(t => t.ToDoGroupName == oldName);

                if (group != null)
                {
                    group.ToDoGroupName = newName;
                    await db.SaveChangesAsync();
                }
            }
        }
Пример #5
0
        public async Task AddItemToGroupAsync(string groupName, string itemName, bool isComplete, bool useDueDate, DateTime dueDate = default)
        {
            using (var db = new ListomatorContext())
            {
                var g = await db.ToDoGroups.FirstOrDefaultAsync(t => t.ToDoGroupName == groupName);

                if (g == null)
                {
                    throw new ArgumentOutOfRangeException($"Attempting to add {itemName} to a non-existant group name {groupName}");
                }

                if (!(await db.ToDoItems.AnyAsync(t => t.ToDoGroup.ToDoGroupName == groupName && t.ToDoItemName == itemName)))
                {
                    DateTime completionDate = isComplete ? DateTime.Now : default;
                    await db.ToDoItems.AddAsync(new ToDoItem { ToDoItemName = itemName, DueDate = dueDate, IsComplete = isComplete, CompletionDate = completionDate, UseDueDate = dueDate != default, ToDoGroup = g });
Пример #6
0
        public async Task AddGroupAsync(string name)
        {
            using (var db = new ListomatorContext())
            {
                if (!(await db.ToDoGroups.AnyAsync(t => t.ToDoGroupName == name)))
                {
                    await db.ToDoGroups.AddAsync(new ToDoGroup { ToDoGroupName = name });

                    await db.SaveChangesAsync();
                }
                else
                {
                    throw new ConstraintException($"Group {name} already exists");
                }
            }
        }
Пример #7
0
        public async Task RemoveGroupAsync(string name)
        {
            using (var db = new ListomatorContext())
            {
                try
                {
                    var group = await db.ToDoGroups.FirstOrDefaultAsync(t => t.ToDoGroupName == name);

                    if (group != null)
                    {
                        db.ToDoGroups.Remove(group);
                    }

                    await db.SaveChangesAsync();
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                    throw;
                }
            }
        }