/// <summary> /// set a new rent to the DB /// </summary> /// <param name="newrentparam">a rent model object</param> /// <returns>true if the actions secseed false if it didnt</returns> public static bool AddNewRent(RentModel newrentparam) { try { using (CarRentalDbV2Entities db = new CarRentalDbV2Entities()) { UsersTable dbUser = db.UsersTables.FirstOrDefault(a => a.UserName == newrentparam.UserInfo.UserName); CarsTable dbCar = db.CarsTables.FirstOrDefault(a => a.CarlicenseNumber == newrentparam.CarInfo.CarlicenseNumber); if (dbUser == null || dbCar == null) { return(false); } RentTable NewRent = new RentTable { StartDate = newrentparam.StartDate, EndDate = newrentparam.EndDate, ReturnDate = newrentparam.ReturnDate, UserID = dbUser.ID, CarID = dbCar.ID }; db.RentTables.Add(NewRent); db.SaveChanges(); return(true); } } catch { return(false); } }
/// <summary> /// get a spesific rent acording to a Id from the client /// </summary> /// <param name="RentId">the rent id-sent from the client</param> /// <returns>A single Rent model object</returns> public static RentModel GetSpesificRent(int RentId) { try { using (CarRentalDbV2Entities db = new CarRentalDbV2Entities()) { RentTable dbrent = db.RentTables.SingleOrDefault(a => a.ID == RentId); if (dbrent == null) { return(null); } return(new RentModel { RentID = dbrent.ID, ReturnDate = dbrent.ReturnDate, StartDate = dbrent.StartDate, EndDate = dbrent.EndDate, CarInfo = new CarModel { CarImg = dbrent.CarsTable.CarImg, CarLocation = new BrancheModel { Adress = dbrent.CarsTable.BranchesTable.Adress, PositionX = dbrent.CarsTable.BranchesTable.PositionX, PositionY = dbrent.CarsTable.BranchesTable.PositionY, BranceName = dbrent.CarsTable.BranchesTable.BranceName }, CarKilometer = dbrent.CarsTable.CarKilometer, CarlicenseNumber = dbrent.CarsTable.CarlicenseNumber, CarStatus = dbrent.CarsTable.CarStatus, CarType = new CarTypeModel { CostPerDay = dbrent.CarsTable.CarsTypesTable.CostPerDay, FinePrice = dbrent.CarsTable.CarsTypesTable.FinePrice, IsAutomatic = dbrent.CarsTable.CarsTypesTable.IsAutomatic, Manufacturer = dbrent.CarsTable.CarsTypesTable.Manufacturer, Model = dbrent.CarsTable.CarsTypesTable.Model, Year = dbrent.CarsTable.CarsTypesTable.Year } }, UserInfo = new UserModel { UserAuthorization = dbrent.UsersTable.UserAuthorization, FullName = dbrent.UsersTable.FullName, UserBirthDate = dbrent.UsersTable.UserBirthDate, UserEmail = dbrent.UsersTable.UserEmail, UserIdNumber = dbrent.UsersTable.UserIdNumber, UserName = dbrent.UsersTable.UserName, UserPassword = dbrent.UsersTable.UserPassword, UserSex = dbrent.UsersTable.UserSex, UserImg = dbrent.UsersTable.UserImg } }); } } catch (Exception x) { return(null); } }
public async Task <IHttpActionResult> PutRentTable(int id, RentTable rentTable) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != rentTable.Id) { return(BadRequest()); } db.Entry(rentTable).State = EntityState.Modified; try { await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!RentTableExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
/// <summary> /// edit a rent acording to a rent id sent by the cient /// </summary> /// <param name="RentId">the rent id sent by the client</param> /// <param name="rentparam">a rent model contains all the rent data</param> /// <returns>true if the actions secseed false if it didnt</returns> public static bool EditRent(int RentId, RentModel rentparam) { try { using (CarRentalDbV2Entities db = new CarRentalDbV2Entities()) { RentTable dbrent = db.RentTables.SingleOrDefault(a => a.ID == RentId); UsersTable dbuser = db.UsersTables.SingleOrDefault(a => a.UserName == rentparam.UserInfo.UserName); CarsTable dbcar = db.CarsTables.SingleOrDefault(a => a.CarlicenseNumber == rentparam.CarInfo.CarlicenseNumber); if (dbrent == null || dbuser == null || dbcar == null) { return(false); } dbrent.CarID = dbcar.ID; dbrent.UserID = dbuser.ID; dbrent.EndDate = rentparam.EndDate; dbrent.ReturnDate = rentparam.ReturnDate; dbrent.StartDate = rentparam.StartDate; db.SaveChanges(); return(true); } } catch { return(false); } }
public async Task <IHttpActionResult> GetRentTable(int id) { RentTable rentTable = await db.RentTables.FindAsync(id); if (rentTable == null) { return(NotFound()); } return(Ok(rentTable)); }
public async Task <IHttpActionResult> PostRentTable(RentTable rentTable) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.RentTables.Add(rentTable); await db.SaveChangesAsync(); return(CreatedAtRoute("DefaultApi", new { id = rentTable.Id }, rentTable)); }
public async Task <IHttpActionResult> DeleteRentTable(int id) { RentTable rentTable = await db.RentTables.FindAsync(id); if (rentTable == null) { return(NotFound()); } db.RentTables.Remove(rentTable); await db.SaveChangesAsync(); return(Ok(rentTable)); }
/// <summary> /// delete a rent acording to a rent id sent by the client /// </summary> /// <param name="RentId">the rent id sent by the client</param> /// <returns>true if the actions secseed false if it didnt</returns> public static bool DeleteRent(int RentId) { try { using (CarRentalDbV2Entities db = new CarRentalDbV2Entities()) { RentTable dbrent = db.RentTables.SingleOrDefault(a => a.ID == RentId); if (dbrent == null) { return(false); } db.RentTables.Remove(dbrent); db.SaveChanges(); return(true); } } catch { return(false); } }
public ActionResult EditRent(int?id) { if (Convert.ToBoolean(Session["IsAdmin"]) == true) { RentViewModel viewModel = new RentViewModel(); viewModel.UserID1 = Convert.ToInt32(Session["UserID"]); BookDetailTable bookDetail = db.BookDetailTables.Find(id); BookTable book = db.BookTables.Find(id); RentDetailTable rentDetail = db.RentDetailTables.Find(id); RentTable rent = db.RentTables.Find(id); viewModel.RentTable = rent; viewModel.RentDetailTable = rentDetail; viewModel.BookDetailTable = bookDetail; viewModel.BookTable = book; return(View(viewModel)); } else { return(RedirectToAction("Index", "Home")); } }
public ActionResult Rent(int id, RentViewModel viewModel) { if (ModelState.IsValid) { BookDetailTable book = db.BookDetailTables.Find(id); BookTable book1 = db.BookTables.Find(id); RentDetailTable rentDetail = new RentDetailTable(); rentDetail.BookID = book1.BookID; rentDetail.UserID = Convert.ToInt32(Session["UserID"]); rentDetail.ISBN = book1.ISBN; rentDetail.RentDate = DateTime.Now; rentDetail.DueDate = DateTime.Now.AddDays(7); rentDetail.Deposit = 100000; rentDetail.Cost = 3000; rentDetail.Paid = 7 * rentDetail.Cost; rentDetail.Note = viewModel.Note1; RentTable rent = new RentTable(); rent.BookID = rentDetail.BookID; rent.ISBN = rentDetail.ISBN; rent.UserID = Convert.ToInt32(Session["UserID"]); rent.RentDate = rentDetail.RentDate; rent.DueDate = rentDetail.DueDate; book1.BookStatus = true; db.RentDetailTables.Add(rentDetail); db.RentTables.Add(rent); db.SaveChanges(); return(RedirectToAction("Index", "Home")); } else { return(RedirectToAction("About", "Home")); } }
public ActionResult EditRent(int id, RentViewModel viewModel) { if (ModelState.IsValid) { RentDetailTable rentDetail = db.RentDetailTables.Find(id); RentTable rent = db.RentTables.Find(id); rentDetail.BookID = viewModel.BookID1; rentDetail.UserID = viewModel.UserID1; rentDetail.ISBN = viewModel.ISBN1; rentDetail.RentDate = viewModel.RentDate1; rentDetail.DueDate = viewModel.DueDate1; rentDetail.ReturnDate = viewModel.ReturnDate1; rentDetail.Deposit = viewModel.Deposit1; rentDetail.Cost = viewModel.Cost1; rentDetail.Paid = viewModel.Paid1; rentDetail.Note = viewModel.Note1; rent.BookID = viewModel.BookID1; rent.ISBN = viewModel.ISBN1; rent.UserID = viewModel.UserID1; rent.RentDate = viewModel.RentDate1; rent.DueDate = viewModel.DueDate1; db.Entry(rentDetail).State = System.Data.Entity.EntityState.Modified; db.Entry(rent).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index", "Home")); } else { return(RedirectToAction("Index", "Home")); } }