Example #1
0
        public async System.Threading.Tasks.Task Remove(ClaimsPrincipal claimsPrincipal, int listId, int idOfTaskToRemove)
        {
            try
            {
                var user = await GetUser(claimsPrincipal);

                var currentUser = await Context.Users.Include(s => s.Lists).ThenInclude(l => l.Tasks).SingleAsync(u => u.Id == user.Id);

                var tasks = currentUser.Lists.Single(l => l.Id == listId).Tasks;
                tasks.RemoveAll(r => r.Id == idOfTaskToRemove);
                await Context.SaveChangesAsync();
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                UiMessagingPipeline.AddUiMessageForUser(claimsPrincipal.FindFirstValue(ClaimTypes.NameIdentifier), new UiMessage("An error occured"));
            }
        }
Example #2
0
        public async Task <List <ShareeModel> > GetAvailableShareesForList(ClaimsPrincipal claimsPrincipal, int listId)
        {
            try
            {
                var user = await GetUser(claimsPrincipal);

                var idOfUsersAlreadySharedWith = await GetUsersAlreadyAddedAsShareesToThisList(listId, user);

                var allPossibleSharees = await GetUsersEligibleForShareeingEntities(user.Id, idOfUsersAlreadySharedWith);

                return(allPossibleSharees.Select(s => new ShareeModel(s)).ToList());
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                UiMessagingPipeline.AddUiMessageForUser(claimsPrincipal.FindFirstValue(ClaimTypes.NameIdentifier), new UiMessage("An error occured"));
                return(null);
            }
        }
Example #3
0
        public async System.Threading.Tasks.Task Add(ClaimsPrincipal claimsPrincipal, string name)
        {
            try
            {
                var user = await GetUser(claimsPrincipal);

                var currentUser = await Context.Users.Include(s => s.Lists).SingleAsync(u => u.Id == user.Id);

                var listToAdd = new TaskListEntity(name);
                currentUser.Lists.Add(listToAdd);

                await Context.SaveChangesAsync();
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                UiMessagingPipeline.AddUiMessageForUser(claimsPrincipal.FindFirstValue(ClaimTypes.NameIdentifier), new UiMessage("An error occured"));
            }
        }
Example #4
0
        public async Task <TaskListsForUserModel> GetListsSharedWithThisUser(ClaimsPrincipal claimsPrincipal)
        {
            try
            {
                var user = await GetUser(claimsPrincipal);

                var userAndRelatedEntities = await Context.Users.Include(u => u.ListsSharedWithThisUser).ThenInclude(l => l.List).ThenInclude(l => l.Tasks).SingleAsync(u => u.Id == user.Id);

                var listsForUseModel = new TaskListsForUserModel(userAndRelatedEntities);

                return(listsForUseModel);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                UiMessagingPipeline.AddUiMessageForUser(claimsPrincipal.FindFirstValue(ClaimTypes.NameIdentifier), new UiMessage("An error occured"));
                return(null);
            }
        }
Example #5
0
        public async System.Threading.Tasks.Task AddSharee(ClaimsPrincipal claimsPrincipal, int listId, string idOfShareeToAdd)
        {
            try
            {
                var user = await GetUser(claimsPrincipal);

                var currentUser = await Context.Users.Include(s => s.Lists).ThenInclude(l => l.Tasks).SingleAsync(u => u.Id == user.Id);

                var list = currentUser.Lists.Single(l => l.Id == listId);

                var shareeToAdd = await Context.Users.SingleAsync(u => u.Id == idOfShareeToAdd);

                var listShareeMappingToAdd = new ListShareeMappingEntity(shareeToAdd, list);
                list.Sharees.Add(listShareeMappingToAdd);
                await Context.SaveChangesAsync();
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                UiMessagingPipeline.AddUiMessageForUser(claimsPrincipal.FindFirstValue(ClaimTypes.NameIdentifier), new UiMessage("An error occured"));
            }
        }
Example #6
0
 public TaskListDataProvider(UserManager <UserEntity> userManager, ShameilstDbContext context, UiMessagingPipeline uiMessagingPipeline) : base(userManager, context, uiMessagingPipeline)
 {
 }
Example #7
0
 protected BaseDataProvider(UserManager <UserEntity> userManager, ShameilstDbContext context, UiMessagingPipeline uiMessagingPipeline)
 {
     _userManager        = userManager;
     Context             = context;
     UiMessagingPipeline = uiMessagingPipeline;
 }