public void UpdateMovieToAction(int movieId, WebModels.Enums.ActionsViewModel newAction, string userId, int useractionId) { //var oldActionModel = new UserActionsViewModel //{ // Action = currentAction //}; //var oldAction = _mapper.Map<UserActions>(oldActionModel); //var userAction = _userActionRepository.GetAll().FirstOrDefault(x => x.Action == oldAction.Action && x.UserId == userId); var userAction = _userActionRepository.GetAll().FirstOrDefault(x => x.Id == useractionId); var newActionModel = new UserActionsViewModel { Action = newAction }; var action = _mapper.Map <UserActions>(newActionModel); userAction.Action = action.Action; //var updateAction = new UserActionMovies //{ // MovieId = movieId, // UserActionId = useractionId, // Movie = _movieRepository.GetById(movieId), // UserActions = userAction //}; _userActionRepository.Update(userAction); }
public IEnumerable <UserAction> GetAllActionsWithCondition(UserActionsViewModel userActions) { if (userActions == null) { return(_context.UserActions.ToList()); } var timeSpan = new TimeSpan(23, 59, 0); userActions.DateTime2 = userActions.DateTime2 + timeSpan; var dateTimeForComparison = new DateTime(0002, 01, 01); if (userActions.DateTime2 < dateTimeForComparison) { userActions.DateTime2 = DateTime.Now; } if (userActions.UserName != null) { return(_context.UserActions .Where(t => t.DateTime >= userActions.DateTime1) .Where(t => t.DateTime <= userActions.DateTime2) .Where(c => c.UserName == userActions.UserName).ToList()); } else { return(_context.UserActions .Where(t => t.DateTime >= userActions.DateTime1) .Where(t => t.DateTime <= userActions.DateTime2) .ToList()); } }
public UserMovieRatingsTable GetUserMovieRatingsTable() { var users = _mapper.Map <IEnumerable <UserViewModel> >(_userRepository.GetAll()); var usersIdList = new List <string>(); foreach (var user in users) { usersIdList.Add(user.Id); } UserMovieRatingsTable table = new UserMovieRatingsTable(); table.UserIndexToId = usersIdList; var movies = _mapper.Map <IEnumerable <MovieViewModel> >(_movieRepository.GetAll()); var moviesIdList = new List <int>(); foreach (var movie in movies) { moviesIdList.Add(movie.Id); } table.MovieIndexToId = moviesIdList; foreach (var userId in table.UserIndexToId) { table.Users.Add(new UserMoviesRatings(userId, table.MovieIndexToId.Count)); } foreach (var user in _userRepository.GetAll()) { var userActions = _userActionRepo.GetAll().Where(x => x.UserId == user.Id); foreach (var movie in _movieRepository.GetAll()) { List <UserActionsViewModel> actionsForMovie = new List <UserActionsViewModel>(); foreach (var userAction in userActions) { var userActionsMovie = _userActionMovieRepo.GetAll().Where(x => x.MovieId == movie.Id && x.UserActionId == userAction.Id); foreach (var userActionMovie in userActionsMovie) { UserActionsViewModel userActionsViewModel = new UserActionsViewModel { Action = (ActionsViewModel)userActionMovie.UserActions.Action, }; actionsForMovie.Add(userActionsViewModel); } } int userIndex = table.UserIndexToId.IndexOf(user.Id); int movieIndex = table.MovieIndexToId.IndexOf(movie.Id); table.Users[userIndex].MovieRatings[movieIndex] = Rating(actionsForMovie); } } return(table); }
public void CreateAction(UserActionsViewModel model) { _userActionRepository.Insert(_mapper.Map <UserActions>(model)); }
public void CheckActionIfExist(int movieId, string userId) { var actionMovie = GetActionForMovie(movieId, userId); UserActionsViewModel userActions = GetCurrentAction(userId); var upVotes = 0; var downVotes = 0; var downloads = 0; var views = 0; foreach (var action in actionMovie) { if (action.Action == WebModels.Enums.ActionsViewModel.view) { views++; } else if (action.Action == WebModels.Enums.ActionsViewModel.upVote) { upVotes++; } else if (action.Action == WebModels.Enums.ActionsViewModel.downVote) { downVotes++; } else { downloads++; } } if (upVotes == 0 && userActions.Action == WebModels.Enums.ActionsViewModel.upVote && downVotes == 0) { AddMovieToAction(userActions.Id, movieId, userId); } else if (downVotes == 0 && userActions.Action == WebModels.Enums.ActionsViewModel.downVote && upVotes == 0) { AddMovieToAction(userActions.Id, movieId, userId); } else if (downloads == 0 && userActions.Action == WebModels.Enums.ActionsViewModel.download) { AddMovieToAction(userActions.Id, movieId, userId); } else if (views == 0 && userActions.Action == WebModels.Enums.ActionsViewModel.view) { AddMovieToAction(userActions.Id, movieId, userId); } if (upVotes >= 1 && userActions.Action == WebModels.Enums.ActionsViewModel.downVote) { foreach (var action in actionMovie) { if (action.Action == WebModels.Enums.ActionsViewModel.upVote) { UpdateMovieToAction(movieId, WebModels.Enums.ActionsViewModel.downVote, userId, action.Id); } } } if (downVotes >= 1 && userActions.Action == WebModels.Enums.ActionsViewModel.upVote) { foreach (var action in actionMovie) { if (action.Action == WebModels.Enums.ActionsViewModel.downVote) { UpdateMovieToAction(movieId, WebModels.Enums.ActionsViewModel.upVote, userId, action.Id); } } } }