public IHttpActionResult Put(int id, FilmEntityTO FilmEntity) { if (ModelState.IsValid) { if (id > 0) { var success = _filmServices.UpdateFilm(id, FilmEntity); if (success == true) { logger.Log(LogLevel.Info, "Film with id: " + id + " was updated.\n"); return(StatusCode(HttpStatusCode.Created)); } } logger.Log(LogLevel.Error, "Unable update film - wrong film id.\n"); return(BadRequest(FilmENUM.INCORRECT_FILM_ID.ToString())); } return(BadRequest(FilmENUM.UNABLE_UPDATE_FILM.ToString())); }
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); }