/// <summary> /// +1 or -1 Sotock /// </summary> /// <param name="IdMovie">Movie ID</param> /// <param name="increment">Increment like</param> /// <returns>Result object</returns> public DBResult <Movie> IncrementStockCounter(int IdMovie, int increment) { DBResult <Movie> dbResult = new DBResult <Movie>(); try { using (SevenDaysContext db = new SevenDaysContext(Configuration)) { var movie = db.Movie.Find(IdMovie); if (movie != null) { movie.Stock += increment; db.Movie.Update(movie); db.SaveChangesAsync(); dbResult.Success = true; dbResult.Item = movie; } else { dbResult.Message = "Movie not found"; } } } catch (Exception ex) { dbResult.Message = Common.GetMessageError(ex); } return(dbResult); }
/// <summary> /// Save audit log for Mavie Table /// </summary> /// <param name="movie">Movie object edited</param> /// <param name="idUser">User</param> /// <returns>Result</returns> public DBResult <AuditMovieLog> AddAuditLog(Movie movie, int idUser) { DBResult <AuditMovieLog> dbResult = new DBResult <AuditMovieLog>(); try { using (SevenDaysContext db = new SevenDaysContext(Configuration)) { AuditMovieLog audit = new AuditMovieLog() { IdMovie = movie.IdMovie, IdUser = idUser, Title = movie.Title, RentalPrice = movie.RentalPrice, SalePrice = movie.SalePrice, Action = "Update", }; db.AuditMovieLog.Add(audit); db.SaveChangesAsync(); dbResult.Item = audit; } } catch (Exception ex) { dbResult.Message = Common.GetMessageError(ex); } return(dbResult); }
/// <summary> /// Patch Movie /// </summary> /// <param name="patchMovie">patch document</param> /// <param name="idMovie">Id Movie</param> /// <returns>Result object</returns> public async Task <DBResult <Movie> > PatchMovie(JsonPatchDocument <Movie> patchMovie, int idMovie) { DBResult <Movie> dbResult = new DBResult <Movie>(); try { using (SevenDaysContext db = new SevenDaysContext(Configuration)) { // Get our original object from the database. var movie = await db.Movie.FindAsync(idMovie); if (movie == null) { dbResult.Message = "Movie not found"; return(dbResult); } // Applying Path to DB Object patchMovie.ApplyTo(movie); db.Movie.Update(movie); await db.SaveChangesAsync(); dbResult.Item = movie; dbResult.Success = true; } } catch (Exception ex) { dbResult.Message = Common.GetMessageError(ex); } return(dbResult); }