コード例 #1
0
        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);
        }
コード例 #2
0
ファイル: MovieController.cs プロジェクト: mrtcn/mpapi12x
        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));
        }