コード例 #1
0
        /// <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);
            }
        }
コード例 #2
0
 /// <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));
        }
コード例 #4
0
 /// <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));
        }
コード例 #8
0
 /// <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);
     }
 }
コード例 #9
0
        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"));
            }
        }
コード例 #10
0
        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"));
            }
        }
コード例 #11
0
        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"));
            }
        }