public async Task <User> GetUserByLoginDataAsync(string login) { using (var db = new DietManagerDB()) { return(await db.Users. Where(u => u.UserName == login). SingleOrDefaultAsync()); } }
public async Task <bool> AddMealIngredientAsync(MealIngredient mealIngredient) { using (var db = new DietManagerDB()) { int result = await db.InsertAsync(mealIngredient); return(Convert.ToBoolean(result)); } }
public async Task <bool> IsUsernameUniqueAsync(string username) { using (var db = new DietManagerDB()) { return(!await db.Users. Where(u => u.UserName == username). AnyAsync()); } }
public async Task <bool> AddMealIngredientNutritionsAsync(Nutrition nutritions) { using (var db = new DietManagerDB()) { var result = await db.InsertAsync(nutritions); return(Convert.ToBoolean(result)); } }
public virtual async Task <bool> UpdateAsync(T model) { using (var db = new DietManagerDB()) { int rowsAffected = await db.UpdateAsync(model); return(rowsAffected == 1); } }
public async Task <int> CountAsync() { using (var db = new DietManagerDB()) { var count = await db.Images.CountAsync(); return(count); } }
private IQueryable <Guid> GetFriendsIdsQuery(DietManagerDB db, Guid userId) { return(db.Friends. LoadWith(f => f.InvitedUser). LoadWith(f => f.InvitingUser). Where(f => !f.InvitingUser.Deleted && !f.InvitedUser.Deleted). Where(f => f.InvitedUserId == userId || f.InvitingUserId == userId). Where(f => f.Status == FriendInvitationStatus.Accepted.ToString()). Select(f => f.InvitingUserId == userId ? f.InvitedUserId : f.InvitingUserId)); }
public async Task <bool> ContainsAsync(Guid userId, Guid mealId) { using (var db = new DietManagerDB()) { return(await db.Favourites. Where(f => f.UserId == userId). Where(f => f.MealId == mealId). AnyAsync()); } }
public async Task <IEnumerable <Meal> > GetAllMealsAsync() { using (var db = new DietManagerDB()) { var meals = await db.Meals. ToListAsync(); return(meals); } }
public async Task UpdateLastLoginDateAsync(Guid userId) { using (var db = new DietManagerDB()) { await db.Users. Where(u => u.Id == userId). Set(u => u.LastLoginDate, DateTimeOffset.Now). UpdateAsync(); } }
private async Task UpdateCreatedMealIngredientsCountAsync(Guid userId, int valueToAdd) { using (var db = new DietManagerDB()) { await db.Users. Where(u => u.Id == userId). Set(u => u.CreatedMealIngredientsCount, u => u.CreatedMealIngredientsCount + valueToAdd). UpdateAsync(); } }
public async Task <User> GetUserByIdAsync(Guid id) { using (var db = new DietManagerDB()) { return(await db.Users. Where(u => u.Id == id). Where(u => !u.Deleted). FirstOrDefaultAsync()); } }
public async Task <Image> GetImageByIdAsync(Guid id) { using (var db = new DietManagerDB()) { var image = await db.Images. FirstOrDefaultAsync(i => i.Id == id); return(image); } }
public async Task <bool> RemoveFriendAsync(Guid userId, Guid friendId) { using (var db = new DietManagerDB()) { var rowsAffected = await db.Friends. Where(f => (f.InvitingUserId == userId && f.InvitedUserId == friendId) || (f.InvitedUserId == userId && f.InvitingUserId == friendId)). DeleteAsync(); return(rowsAffected == 1); } }
public async Task <bool> UpdateUserAvatar(Guid userId, Guid?newAvatarId) { using (var db = new DietManagerDB()) { int rowsAffected = await db.Users. Where(u => u.Id == userId). Set(u => u.ImageId, newAvatarId). UpdateAsync(); return(rowsAffected == 1); } }
public async Task <bool> MarkAsSeenAsync(IEnumerable <int> activityIds) { using (var db = new DietManagerDB()) { int rowsAffected = await GetActivitiesQuery(db). Where(ua => activityIds.Contains(ua.Id)). Set(ua => ua.SeenByAdmin, true). UpdateAsync(); return(rowsAffected == activityIds.Count()); } }
public async Task <MealIngredient> GetMealIngredientByIdAsync(Guid id) { using (var db = new DietManagerDB()) { var mealIngredient = await db.MealIngredients. LoadWith(mi => mi.Nutrition). Where(m => !m.Deleted). FirstOrDefaultAsync(m => m.Id == id); return(mealIngredient); } }
public async Task <bool> AddMealIngredientsAsync(IEnumerable <MealIngredient> mealIngredients) { return(await Task.Run(() => { using (var db = new DietManagerDB()) { var result = db.BulkCopy(mealIngredients); return result.RowsCopied == mealIngredients.Count(); } })); }
public async Task <bool> MarkAsDeletedAsync(Guid mealIngredientId) { using (var db = new DietManagerDB()) { int rowsAffected = await db.MealIngredients. Where(m => m.Id == mealIngredientId). Set(m => m.Deleted, true). UpdateAsync(); return(rowsAffected == 1); } }
public async Task <Meal> GetMealByIdAsync(Guid id) { using (var db = new DietManagerDB()) { var meal = await db.Meals. LoadWith(m => m.Creator). Where(m => !m.Deleted). FirstOrDefaultAsync(m => m.Id == id); return(meal); } }
public async Task <IEnumerable <UserAchievement> > GetUsersAchievementsAsync(Guid userId) { using (var db = new DietManagerDB()) { return(await db.UserAchievements. LoadWith(ua => ua.Achievement). Where(ua => ua.UserId == userId). OrderBy(ua => ua.Achievement.Category). ThenBy(ua => ua.Achievement.Type). ThenBy(ua => ua.Achievement.Value). ToListAsync()); } }
public async Task <bool> MarkAsReadAsync(IEnumerable <Guid> achievementIds, Guid userId) { using (var db = new DietManagerDB()) { var rowsAffectedCount = await db.UserAchievements. Where(ua => achievementIds.Contains(ua.AchievementId)). Where(ua => ua.UserId == userId). Set(ua => ua.Seen, true). UpdateAsync(); return(achievementIds.Count() == rowsAffectedCount); } }
public async Task <int> GetNumberOfFriendsAsync(Guid userId) { using (var db = new DietManagerDB()) { return(await db.Friends. LoadWith(f => f.InvitingUser). LoadWith(f => f.InvitedUser). Where(f => !f.InvitingUser.Deleted && !f.InvitedUser.Deleted). Where(f => f.InvitingUserId == userId || f.InvitedUserId == userId). Where(f => f.Status == FriendInvitationStatus.Accepted.ToString()). CountAsync()); } }
public async Task <bool> SetFriendInvitationStatusAsync(Guid invitingUserId, Guid invitedUserId, FriendInvitationStatus status) { using (var db = new DietManagerDB()) { var updateResult = await db.Friends. Where(f => (f.InvitingUserId == invitingUserId && f.InvitedUserId == invitedUserId)). Where(f => f.Status != status.ToString()). Set(f => f.Status, status.ToString()). UpdateAsync(); return(Convert.ToBoolean(updateResult)); } }
public override async Task <bool> UpdateAsync(MealScheduleEntry model) { using (var db = new DietManagerDB()) { var result = await db.MealScheduleEntries. Where(m => m.Id == model.Id). Where(m => m.UserId == model.UserId). Set(m => m.Date, model.Date). UpdateAsync(); return(result == 1); } }
public async Task <ICollection <UserActivity> > GetUsersFriendsActivitiesAsync(Guid userId, int index, int takeAmount) { using (var db = new DietManagerDB()) { var activitiesQuery = GetActivitiesQuery(db). Where(ua => GetFriendsIdsQuery(db, userId).Contains(ua.UserId)). OrderByDescending(ua => ua.Id). Skip(index). Take(takeAmount); return(await activitiesQuery.ToListAsync()); } }
public async Task <ICollection <UserActivity> > GetAllActivitiesAsync(int index, int takeAmount) { using (var db = new DietManagerDB()) { var activitiesQuery = GetActivitiesQuery(db). Where(ua => !ua.SeenByAdmin). OrderByDescending(ua => ua.Id). Skip(index). Take(takeAmount); return(await activitiesQuery.ToListAsync()); } }
public async Task <bool> AddAchievementsAsync(IEnumerable <Achievement> achievements) { _achievmentsCacheContainer.Fill(achievements); return(await Task.Run(() => { using (var db = new DietManagerDB()) { var rowsCopied = db.BulkCopy(achievements); return achievements.Count() == (int)rowsCopied.RowsCopied; } })); }
public async Task <IEnumerable <Achievement> > GetAllAsync() { using (var db = new DietManagerDB()) { var achievements = await db.Achievements.ToListAsync(); if (achievements.Any()) { _achievmentsCacheContainer.Fill(achievements); } return(achievements); } }
public async Task <ICollection <UserActivity> > GetUserActivitiesAsync(Guid userId, int index, int takeAmount) { using (var db = new DietManagerDB()) { var activitiesQuery = GetActivitiesQuery(db). Where(ua => userId == ua.UserId). Where(ua => !ua.Meal.Deleted). OrderBy(ua => ua.Id). Skip(index). Take(takeAmount); return(await activitiesQuery.ToListAsync()); } }