public async Task UpdateStatus(long id, FollowStatus status) { var query = @"update users.follows set status = @status::users.followstatus where id = @id"; using (var con = _dbConnectionFactory.GetDbConnection()) { await con.ExecuteAsync(query, new { id = id, status = status.ToString() }); } }
public async Task <ApiResponse> GetDetailsForUser(long id, string userName) { try { CategoryDetailsForUser categoryDetailsForUser = new(); var entity = await _entityRepository.TableNoTracking .Include(x => x.Parent) .Include(x => x.CategoryFollowers).SingleOrDefaultAsync(x => x.Id == id); var user = _userCServices.GetCurrent(userName); var userId = user != null ? user.Id : 0; var categoryFollower = await _categoryFollowersRepository.TableNoTracking .Where(x => x.CategoryId == id && x.UserCId == userId).SingleOrDefaultAsync(); FollowStatus followStatus = categoryFollower != null ? categoryFollower.Status : FollowStatus.UnFollow; categoryDetailsForUser.Category = new CategoryForUser() { Category = entity, Status = followStatus }; var childCategories = await GetChildCategories(entity); foreach (var item in childCategories) { var childCategoryFollower = await _categoryFollowersRepository.TableNoTracking .Where(x => x.CategoryId == item.Id && x.UserCId == userId).SingleOrDefaultAsync(); FollowStatus childFollowStatus = childCategoryFollower != null ? childCategoryFollower.Status : FollowStatus.UnFollow; categoryDetailsForUser.ChildCategories.Add(new CategoryForUser() { Category = item, Status = childFollowStatus }); } return(ApiResponse.Create(HttpStatusCode.OK, categoryDetailsForUser)); } catch (Exception) { return(ApiResponse.Create(HttpStatusCode.InternalServerError, null, "InternalServerError_Error")); } }
public static FollowStatusView ConvertToFollowStatusView(this FollowStatus followStatus) { return(Mapper.Map <FollowStatus, FollowStatusView>(followStatus)); }