/// <summary> /// Createing a new Inventory /// </summary> /// <param name="inventory">Inventory</param> /// <returns>Result object</returns> public DBResult <Inventory> CreateInventory(Inventory inventory) { DBResult <Inventory> dbResult = new DBResult <Inventory>(); if (inventory == null) { dbResult.Message = "Invalid inventory"; return(dbResult); } try { using (SevenDaysContext db = new SevenDaysContext(Configuration)) { db.Inventory.Add(inventory); db.SaveChanges(); dbResult.Success = true; dbResult.Item = inventory; } } catch (Exception ex) { dbResult.Message = Common.GetMessageError(ex); } return(dbResult); }
/// <summary> /// Createing a new Sale /// </summary> /// <param name="sale">Sale object</param> /// <returns>Result object</returns> public DBResult <Sale> CreateSale(Sale sale) { DBResult <Sale> dbResult = new DBResult <Sale>(); if (sale == null) { dbResult.Message = "Invalid sale"; return(dbResult); } try { using (SevenDaysContext db = new SevenDaysContext(Configuration)) { db.Sale.Add(sale); db.SaveChanges(); dbResult.Success = true; dbResult.Item = sale; } } catch (Exception ex) { dbResult.Message = Common.GetMessageError(ex); } return(dbResult); }
/// <summary> /// Remove like /// </summary> /// <param name="liked">Liked object</param> /// <returns>Result object</returns> public DBResult <Liked> DeleteLiked(Liked liked) { DBResult <Liked> dbResult = new DBResult <Liked>(); // Validating input object if (liked == null) { dbResult.Message = "Invalid Like"; return(dbResult); } try { using (SevenDaysContext db = new SevenDaysContext(Configuration)) { liked = db.Liked.Where(l => l.IdUser == liked.IdUser && l.IdMovie == liked.IdMovie).FirstOrDefault(); // Remove like from database if (liked != null) { db.Liked.Remove(liked); db.SaveChanges(); dbResult.Message = "YES"; //Mark to decrement likes counter } dbResult.Success = true; dbResult.Item = liked; } } catch (Exception ex) { dbResult.Message = Common.GetMessageError(ex); } return(dbResult); }
/// <summary> /// Disable/Enable Inventory (for sale or rental) /// </summary> /// <param name="inventory">id Inventory</param> /// <returns>Result object</returns> public DBResult <Inventory> SetAvailability(int idInventory, bool status) { DBResult <Inventory> dbResult = new DBResult <Inventory>(); try { using (SevenDaysContext db = new SevenDaysContext(Configuration)) { var inventory = db.Inventory.Find(idInventory); if (inventory != null) { inventory.IsAvailable = status; db.Update(inventory); db.SaveChanges(); dbResult.Success = true; dbResult.Item = inventory; } } } catch (Exception ex) { dbResult.Message = Common.GetMessageError(ex); } return(dbResult); }
/// <summary> /// Createing a new like /// </summary> /// <param name="liked">Liked object</param> /// <returns>Result object</returns> public DBResult <Liked> CreateLiked(Liked liked) { DBResult <Liked> dbResult = new DBResult <Liked>(); if (liked == null) { dbResult.Message = "Invalid Like"; return(dbResult); } try { using (SevenDaysContext db = new SevenDaysContext(Configuration)) { db.Liked.Add(liked); db.SaveChanges(); dbResult.Success = true; dbResult.Item = liked; } } catch (Exception ex) { dbResult.Message = Common.GetMessageError(ex); } return(dbResult); }
/// <summary> /// Createing a new movie /// </summary> /// <param name="movie">Movie object</param> /// <returns>Result object</returns> public DBResult <Movie> CreateMovie(Movie movie) { DBResult <Movie> dbResult = new DBResult <Movie>(); if (movie == null) { dbResult.Message = "Invalid movie"; return(dbResult); } try { using (SevenDaysContext db = new SevenDaysContext(Configuration)) { db.Movie.Add(movie); db.SaveChanges(); dbResult.Success = true; dbResult.Item = movie; // Get movie with ID movie = db.Movie.Where(m => m.Image == movie.Image).FirstOrDefault(); } } catch (Exception ex) { dbResult.Message = Common.GetMessageError(ex); } return(dbResult); }
/// <summary> /// Creating a new rental /// </summary> /// <param name="rental">Rental object</param> /// <returns>Result object</returns> public DBResult <Rental> CreateRental(Rental rental) { DBResult <Rental> dbResult = new DBResult <Rental>(); if (rental == null) { dbResult.Message = "Invalid rental"; return(dbResult); } try { using (SevenDaysContext db = new SevenDaysContext(Configuration)) { db.Rental.Add(rental); db.SaveChanges(); dbResult.Success = true; dbResult.Item = rental; } } catch (Exception ex) { dbResult.Message = Common.GetMessageError(ex); } return(dbResult); }
/// <summary> /// Createing a new user /// </summary> /// <param name="user">User object</param> /// <returns>Result object</returns> public DBResult <User> CreateUser(User user) { DBResult <User> dbResult = new DBResult <User>(); if (user == null) { dbResult.Message = "Invalid user"; return(dbResult); } try { using (SevenDaysContext db = new SevenDaysContext(Configuration)) { db.User.Add(user); db.SaveChanges(); dbResult.Success = true; // Get user with ID user = db.User.Where(u => u.Email == user.Email).FirstOrDefault(); dbResult.Item = user; } } catch (Exception ex) { dbResult.Message = Common.GetMessageError(ex); } return(dbResult); }
/// <summary> /// Return rental /// </summary> /// <param name="id">Rental</param> /// <returns>Result object</returns> public DBResult <Rental> ReturnRental(int idRental) { DBResult <Rental> dbResult = new DBResult <Rental>(); try { using (SevenDaysContext db = new SevenDaysContext(Configuration)) { var rental = db.Rental.Find(idRental); if (rental == null) { dbResult.Message = "Rental not found"; } else { // Calculate penalty(if apply) DateTime today = DateTime.Now; // Difference in days, hours, and minutes. TimeSpan ts = today - (DateTime)rental.RentalDate; // Difference in days. int differenceInDays = ts.Days; if (differenceInDays > 7) { // 5 per day of penalty rental.Penalty = (decimal)(5.00m * ((decimal)differenceInDays - 7)); } else { rental.Penalty = 0.000m; } db.Rental.Update(rental); db.SaveChanges(); dbResult.Success = true; dbResult.Item = rental; } } } catch (Exception ex) { dbResult.Message = Common.GetMessageError(ex); } return(dbResult); }