public bool DeleteList(int listId) { List list = new List(); if (listId > 0) { using (var scope = new TransactionScope()) { var cachedList = ApplicationCache <ListDescriptionTO> .GetCacheItem(d => d.Id == listId); if (cachedList != null) { ApplicationCache <ListDescriptionTO> .RemoveCacheItem(cachedList); } var cachedRating = ApplicationCache <ListFilmRating> .GetCacheItem(d => d.ListId == listId); if (cachedRating != null) { ApplicationCache <ListFilmRating> .RemoveCacheItem(cachedRating); } bool result = _listRepository.Delete(listId); if (result == true) { scope.Complete(); return(true); } } } return(false); }
public bool ChangeEmail(ChangeEmailTO emailDetails) { using (var scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled)) { var result = _authRepository.ChangeEmail(emailDetails.OldEmail, emailDetails.NewEmail); if (result) { scope.Complete(); var cacheItem = ApplicationCache <UserInfoTO> .GetCacheItem(d => d.Email == emailDetails.OldEmail); if (cacheItem != null) { var newCacheItem = new UserInfoTO() { Id = cacheItem.Id, Email = emailDetails.NewEmail, UserName = cacheItem.UserName, Roles = cacheItem.Roles }; ApplicationCache <UserInfoTO> .RemoveCacheItem(cacheItem); ApplicationCache <UserInfoTO> .AddCacheItem(newCacheItem); } return(true); } return(false); } }
public UserInfoTO GetUserInfo(string userName) { var cacheItem = ApplicationCache <UserInfoTO> .GetCacheItem(d => d.UserName == userName); if (cacheItem != null) { return(cacheItem); } var user = _authRepository.FindUserByUserName(userName); if (user != null) { var userRoles = _authRepository.GetUserRoles(user.UserName); UserInfoTO userInfo = new UserInfoTO { Id = user.Id, UserName = user.UserName, Email = user.Email, Roles = userRoles }; ApplicationCache <UserInfoTO> .AddCacheItem(userInfo); return(userInfo); } return(null); }
public FilmEntityTO GetFilmById(int filmId) { var film = new Film(); var cacheItem = ApplicationCache <Film> .GetCacheItem(d => d.Id == filmId); if (cacheItem != null) { film = cacheItem; } else { film = _filmRepository.GetSingleFilm(filmId); } if (film.Id != 0) { var actors = _filmRepository.GetFilmActors(filmId); var directors = _filmRepository.GetFilmDirectors(filmId); film.Actors = actors; film.Directors = directors; Mapper.CreateMap <Actor, ActorEntityTO>(); Mapper.CreateMap <Director, DirectorEntityTO>(); Mapper.CreateMap <Film, FilmEntityTO>(); var filmModel = Mapper.Map <Film, FilmEntityTO>(film); return(filmModel); } return(null); }
public bool RemoveUserFavourite(int listId, string userName) { bool status = _authRepository.RemoveUserFavourite(listId, userName); if (status == true) { var cache = ApplicationCache <UserFavouriteListIdsTO> .GetCache(); if (cache.Count > 0) { var cacheItem = ApplicationCache <UserFavouriteListIdsTO> .GetCacheItem(d => d.UserName == userName); if (cacheItem != null) { int cacheItemIndex = cache.FindIndex(d => d.UserName == userName); cacheItem.ListIds.Remove(listId); cache[cacheItemIndex] = cacheItem; ApplicationCache <UserFavouriteListIdsTO> .FillCache(cache); } } return(true); } return(false); }
public List <ListFavouriteTO> GetUserFavourites(string userName) { var listIds = new List <int>(); var cacheItem = ApplicationCache <UserFavouriteListIdsTO> .GetCacheItem(d => d.UserName == userName); if (cacheItem != null) { listIds = cacheItem.ListIds; } else { listIds = _authRepository.GetUserFavourites(userName); ApplicationCache <UserFavouriteListIdsTO> .AddCacheItem(new UserFavouriteListIdsTO() { UserName = userName, ListIds = listIds }); } List <ListFavouriteTO> listsModel = new List <ListFavouriteTO>(); if (listIds.Count > 0) { var lists = _listRepository.GetMany(listIds); if (lists != null) { Mapper.CreateMap <List, ListFavouriteTO>(); listsModel = Mapper.Map <List <List>, List <ListFavouriteTO> >(lists); } } return(listsModel); }
public bool CheckIfEmailExists(string email) { var cacheItem = ApplicationCache <UserInfoTO> .GetCacheItem(d => d.Email == email); if (cacheItem != null) { return(true); } return(_authRepository.CheckIfEmailExists(email)); }
public ListDescriptionTO GetListById(string userName, int listId) { ListDescriptionTO result = new ListDescriptionTO(); var cacheItem = ApplicationCache <ListDescriptionTO> .GetCacheItem(d => d.Id == listId); if (cacheItem != null) { result = cacheItem; } else { result = getListDetails(userName, listId); } if (userName != "") { string userId = ""; //get user id userId = _authRepository.GetUserId(userName); List <int> votedFilmsIds = new List <int>(); if (userId != "") { //check if user already voted for films votedFilmsIds = _listRepository.CheckIfFilmsAreVoted(result.Id, userId); // check if user already liked/dislikes list result.Voted = _listRepository.CheckIfListIsVoted(result.Id, userId); // check if user already added list to favourites result.IsFavourite = _authRepository.CheckIfFavouriteExists(result.Id, userId); foreach (var film in result.Films) { if (votedFilmsIds.Contains(film.Id)) { film.isVoted = true; } else { film.isVoted = false; } } } } else { foreach (var film in result.Films) { film.isVoted = false; } result.Voted = 0; } return(result); }
public bool CheckIfFilmExists(int filmId) { var cacheItem = ApplicationCache <Film> .GetCacheItem(d => d.Id == filmId); if (cacheItem != null) { return(true); } return(_filmRepository.CheckIfFilmExists(filmId)); }
public string GetUserEmail(string userName) { var cacheItem = ApplicationCache <UserInfoTO> .GetCacheItem(d => d.UserName == userName); if (cacheItem != null) { return(cacheItem.Email); } return(_authRepository.GetUserEmail(userName)); }
public async Task <bool> CheckIfUserExists(string userName) { var cacheItem = ApplicationCache <UserInfoTO> .GetCacheItem(d => d.UserName == userName); if (cacheItem != null) { return(true); } var result = await _authRepository.CheckIfUserExists(userName); return((result) ? true : false); }
public bool CheckIfListFilmRatingExists(int listId, int filmId, string userId) { var cacheItem = ApplicationCache <ListFilmRating> .GetCacheItem(d => d.ListId == listId && d.FilmId == filmId && d.UserId == userId); if (cacheItem != null) { return(true); } else { return(checkIfListFilmRatingExists(listId, filmId, userId)); } }
public string GetListCreator(int listId) { string result = ""; var cacheItem = ApplicationCache <ListDescriptionTO> .GetCacheItem(d => d.Id == listId); if (cacheItem != null) { result = cacheItem.User.UserName; } else { result = _listRepository.GetListCreator(listId); } return(result); }
public bool DeleteUser(string userName) { var result = _authRepository.DeleteUser(userName); if (result) { var cacheItem = ApplicationCache <UserInfoTO> .GetCacheItem(d => d.UserName == userName); if (cacheItem != null) { ApplicationCache <UserInfoTO> .RemoveCacheItem(cacheItem); } return(true); } return(false); }
public bool AddListToFavourites(string userName, int listId) { using (var scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled)) { if (userName != "") { var result = _authRepository.AddListToFavourites(userName, listId); if (result) { scope.Complete(); var cache = ApplicationCache <UserFavouriteListIdsTO> .GetCache(); if (cache != null) { var cacheItem = ApplicationCache <UserFavouriteListIdsTO> .GetCacheItem(d => d.UserName == userName); if (cacheItem != null) { var cacheItemIndex = cache.FindIndex(d => d.UserName == userName); cacheItem.ListIds.Add(listId); cache[cacheItemIndex] = cacheItem; ApplicationCache <UserFavouriteListIdsTO> .FillCache(cache); } else { var newUserFavs = new UserFavouriteListIdsTO() { UserName = userName, ListIds = new List <int>() }; newUserFavs.ListIds.Add(listId); ApplicationCache <UserFavouriteListIdsTO> .AddCacheItem(newUserFavs); } } return(true); } return(false); } return(false); } }
public RatingShortDescriptionTO GetRating(int listId, string userName) { var result = new RatingShortDescriptionTO(); var cacheItem = ApplicationCache <Rating> .GetCacheItem(d => d.Id == listId && d.User.UserName == userName); if (cacheItem != null) { Mapper.CreateMap <Rating, RatingShortDescriptionTO>(); result = Mapper.Map <Rating, RatingShortDescriptionTO>(cacheItem); } else { result = getRating(listId, userName); } return(result); }
public bool CheckIfListExists(int listId) { var cacheItem = ApplicationCache <ListDescriptionTO> .GetCacheItem(d => d.Id == listId); if (cacheItem != null) { return(true); } else { var list = _listRepository.GetSingle(listId); if (list != null) { return(true); } } return(false); }
public bool CheckIfFavouriteExists(int listId, string userName) { var cacheItem = ApplicationCache <UserFavouriteListIdsTO> .GetCacheItem(d => d.UserName == userName); if (cacheItem != null) { bool listExists = cacheItem.ListIds.Contains(listId); if (listExists == true) { return(true); } else { return(false); } } var userId = _authRepository.GetUserId(userName); return(_authRepository.CheckIfFavouriteExists(listId, userId)); }
public bool UpdateFilm(int filmId, FilmEntityTO filmEntity) { var success = false; // check post message if is not empty if (filmEntity != null) { using (var scope = new TransactionScope()) { // check if given film exists in database // zmienic na metode getbyId.... var film = _filmRepository.GetSingleFilm(filmId); if (film != null) { if ((film.Name != filmEntity.Name) && filmEntity.Name != null) { film.Name = filmEntity.Name; } if ((film.OriginalName != filmEntity.OriginalName) && filmEntity.OriginalName != null) { film.OriginalName = filmEntity.OriginalName; } if ((film.ReleaseDate != filmEntity.ReleaseDate) && filmEntity.ReleaseDate != null) { film.ReleaseDate = filmEntity.ReleaseDate; } if ((film.Genre != filmEntity.Genre) && filmEntity.Genre != null) { film.Genre = filmEntity.Genre; } if ((film.Description != filmEntity.Description) && filmEntity.Description != null) { film.Description = filmEntity.Description; } if ((film.Cover != filmEntity.Cover) && filmEntity.Cover != null) { film.Cover = filmEntity.Cover; } if ((film.FilmwebUrl != filmEntity.FilmwebUrl) && filmEntity.FilmwebUrl != null) { film.FilmwebUrl = filmEntity.FilmwebUrl; } _filmRepository.UpdateFilm(film); scope.Complete(); success = true; } // update cache var cache = ApplicationCache <Film> .GetCache(); if (cache.Count() > 0) { var cacheItem = ApplicationCache <Film> .GetCacheItem(d => d.Id == filmId); if (cacheItem != null) { int cacheItemIndex = cache.FindIndex(d => d.Id == filmId); #region update properties if ((film.Name != filmEntity.Name) && filmEntity.Name != null) { cacheItem.Name = filmEntity.Name; } if ((film.OriginalName != filmEntity.OriginalName) && filmEntity.OriginalName != null) { cacheItem.OriginalName = filmEntity.OriginalName; } if ((film.ReleaseDate != filmEntity.ReleaseDate) && filmEntity.ReleaseDate != null) { cacheItem.ReleaseDate = filmEntity.ReleaseDate; } if ((film.Genre != filmEntity.Genre) && filmEntity.Genre != null) { cacheItem.Genre = filmEntity.Genre; } if ((film.Description != filmEntity.Description) && filmEntity.Description != null) { cacheItem.Description = filmEntity.Description; } if ((film.Cover != filmEntity.Cover) && filmEntity.Cover != null) { cacheItem.Cover = filmEntity.Cover; } if ((film.FilmwebUrl != filmEntity.FilmwebUrl) && filmEntity.FilmwebUrl != null) { cacheItem.FilmwebUrl = filmEntity.FilmwebUrl; } #endregion cache[cacheItemIndex] = cacheItem; ApplicationCache <Film> .FillCache(cache); } } } } return(success); }