public BikeModel(BikeModel m) { id = m.id; name = m.name; description = m.description; imageUrl = m.imageUrl; currentLenderId = m.currentLenderId; isActive = m.isActive; isInDangerousZone = m.isInDangerousZone; lastLendingDate = m.lastLendingDate; session = m.session; lastSession = m.lastSession; lender = m.lender; }
public ActionResult Create(BikeModel m, int MyLenders = -1, HttpPostedFileBase ImgFile = null) { try { if (!ModelState.IsValid) { throw new Exception(); } var bikeModelToInsert = new BikeModel(m); if (MyLenders > -1) { try { DataRepository.GetLendersOfUser((Guid)Membership.GetUser().ProviderUserKey).Single(l => l.id == MyLenders); bikeModelToInsert.currentLenderId = MyLenders; } catch { ModelState.AddModelError("", "A választott kölcsönző nincs Önhöz rendelve."); throw new Exception(); } } bikeModelToInsert = DataRepository.GetBike(DataRepository.InsertBike(bikeModelToInsert)); bikeModelToInsert.imageUrl = UploadImage(ImgFile, (int)bikeModelToInsert.id); DataRepository.UpdateBike(bikeModelToInsert); return RedirectToAction("Index"); } catch { ViewBag.active_menu_item_id = "menu-btn-bikes"; var favouriteLender = Request.Cookies.Get("favourite_lender"); try { CreateSelectableLenders(int.Parse(favouriteLender.Value)); } catch { CreateSelectableLenders(null); } return View(m); } }
/// <summary> /// Inserts a bike into the database /// </summary> /// <param name="m"></param> /// <returns></returns> public static int InsertBike(BikeModel m) { var db = new BicikliDataClassesDataContext(); var bike = new Bike() { description = m.description, is_active = m.isActive, name = m.name, current_lender_id = m.currentLenderId }; db.Bikes.InsertOnSubmit(bike); db.SubmitChanges(); return bike.id; }
/// <summary> /// Updates a bike in the database /// </summary> /// <param name="m"></param> public static void UpdateBike(BikeModel m) { var db = new BicikliDataClassesDataContext(); var bikeToUpdate = db.Bikes.Single(b => b.id == m.id); if (bikeToUpdate.name != m.name) { bikeToUpdate.name = m.name; } if (bikeToUpdate.description != m.description) { bikeToUpdate.description = m.description; } if (bikeToUpdate.is_active != m.isActive) { bikeToUpdate.is_active = m.isActive; } if (bikeToUpdate.current_lender_id != m.currentLenderId) { bikeToUpdate.current_lender_id = m.currentLenderId; } if (bikeToUpdate.image_url != m.imageUrl) { bikeToUpdate.image_url = m.imageUrl; } db.SubmitChanges(); }
public ActionResult Edit(BikeModel m, int MyLenders = -1, HttpPostedFileBase ImgFile = null) { var bike = DataRepository.GetBike((int)m.id); if (bike.currentLenderId != null) { try { DataRepository.GetLendersOfUser((Guid)Membership.GetUser().ProviderUserKey).Single(l => l.id == bike.currentLenderId); } catch { return new HttpStatusCodeResult(HttpStatusCode.Forbidden); } } try { if (!ModelState.IsValid) { throw new Exception(); } var bikeModelToUpdate = DataRepository.GetBike((int)m.id); bikeModelToUpdate.name = m.name; bikeModelToUpdate.description = m.description; bikeModelToUpdate.isActive = m.isActive; if (bikeModelToUpdate.session == null) { if (MyLenders < 0) { bikeModelToUpdate.currentLenderId = null; } else if (bikeModelToUpdate.currentLenderId != MyLenders) { try { DataRepository.GetLendersOfUser((Guid)Membership.GetUser().ProviderUserKey).Single(l => l.id == MyLenders); bikeModelToUpdate.currentLenderId = MyLenders; } catch { ModelState.AddModelError("", "A választott kölcsönző nincs Önhöz rendelve."); throw new Exception(); } } } bikeModelToUpdate.imageUrl = UploadImage(ImgFile, (int)m.id) ?? bikeModelToUpdate.imageUrl; DataRepository.UpdateBike(bikeModelToUpdate); return RedirectToAction("Index"); } catch { ViewBag.active_menu_item_id = "menu-btn-bikes"; CreateSelectableLenders(m.currentLenderId); return View(m); } }
public ActionResult Delete(BikeModel m) { BikeModel bikeToDelete = null; try { bikeToDelete = DataRepository.GetBike((int)m.id); if (bikeToDelete.currentLenderId != null) { try { DataRepository.GetLendersOfUser((Guid)Membership.GetUser().ProviderUserKey).Single(l => l.id == bikeToDelete.currentLenderId); } catch { return new HttpStatusCodeResult(HttpStatusCode.Forbidden); } } if (bikeToDelete.lastLendingDate != null) { ModelState.Clear(); ModelState.AddModelError("", "Nem törölhető olyan kerékpár, amely már ki volt kölcsönözve."); throw new Exception(); } DataRepository.DeleteBike((int)m.id); return RedirectToAction("Index"); } catch { ViewBag.active_menu_item_id = "menu-btn-bikes"; return View(bikeToDelete ?? m); } }