public bool ConnectionItemCheck(GetConnectionPathsModel model) { var connectionPaths = Entities .Where(x => x.BaseActorId == model.BaseActorId && x.DestinationActorId == model.DestinationActorId && x.Status == Status.Active).ToList(); var actorList = connectionPaths.SelectMany(x => x.ActorPath.Replace(" ", "").Split(',')).ToList(); var movieList = connectionPaths.SelectMany(x => x.MoviePath.Replace(" ", "").Split(',')).ToList(); var result = false; for (int index = 0; index < model.ConnectionPathItems.Count; index++) { result = model.ConnectionPathItems[index].MovieId == Int32.Parse(movieList[index]); if (!result) { break; } result = model.ConnectionPathItems[index].ActorId == Int32.Parse(actorList[index]); if (!result) { break; } } return(result); }
public async Task <IHttpActionResult> CheckConnectionPath(GetConnectionPathsModel model) { var result = _connectionPathService.ConnectionItemCheck(model); if (result) { //add popcorn points var userId = 0; var userIdString = User.Identity.GetUserId(); Int32.TryParse(userIdString, out userId); var claims = _applicationUserManager.GetClaimsAsync(userId); var popcorn = claims.Result.FirstOrDefault(x => x.Type == "popcorn"); var popcornPoint = popcorn?.Value; _applicationUserManager.RemoveClaim(userId, popcorn); await _applicationUserManager.AddClaimAsync(userId, new Claim("popcorn", popcornPoint + 10)); } return(Ok(result)); }