public async Task <JsonResult> AddCostumer(Costumer data) { if (ModelState.IsValid) { HashSet <string> hs = (HashSet <string>)Session["Costumers"]; if (hs.Contains(data.Id)) // checking if costumer is already exist. { return(await Task.Run(() => Json(1, JsonRequestBehavior.AllowGet))); } using (var db = new FleetMSEntities()) { try { db.Costumer.Add(data); await db.SaveChangesAsync(); //updating sessions hs.Add(data.Id); Session["Costumers"] = hs; List <Costumer> list = (List <Costumer>)Session["CostumersArray"]; list.Add(data); Session["CostumersArray"] = list; return(await Task.Run(() => Json(0, JsonRequestBehavior.AllowGet))); } catch (Exception e) { Console.WriteLine(e.Source); } } } return(await Task.Run(() => Json(1, JsonRequestBehavior.AllowGet))); }
public async Task <JsonResult> RentCar(string ln, string id) { if (ModelState.IsValid) { HashSet <string> hs1 = (HashSet <string>)Session["Veichles"]; HashSet <string> hs2 = (HashSet <string>)Session["Costumers"]; Dictionary <string, string> d = (Dictionary <string, string>)Session["RentedCars"]; if (!hs1.Contains(ln) || !hs2.Contains(id) || (d.ContainsKey(id) && d[id].Equals(ln))) // checking if car and costumer are exist. { return(await Task.Run(() => Json(1, JsonRequestBehavior.AllowGet))); } using (var db = new FleetMSEntities()) { try { var rc = new RentedCars(); //List<Costumer> costumerList = (List<Costumer>)Session["CostumersArray"]; //List<Veichle> veichleList = (List<Veichle>)Session["VeichlesArray"]; //rc.Costumer = Costumer.searchCostumer(costumers, id); //rc.Veichle = Veichle.searchVeichles(veichles, ln); Costumer[] costumers = await db.Costumer.ToArrayAsync(); Veichle[] veichles = await db.Veichle.ToArrayAsync(); rc.Costumer = Costumer.searchCostumer(costumers.ToList(), id); //find costumer rc.Veichle = Veichle.searchVeichles(veichles.ToList(), ln); //find veichle if (d.ContainsKey(rc.Costumer.Id)) { return(await Task.Run(() => Json(2, JsonRequestBehavior.AllowGet))); } db.RentedCars.Add(rc); await db.SaveChangesAsync(); //updating sessions d.Add(rc.Costumer.Id, rc.Veichle.LicenseNumber); Session["RentedCars"] = d; return(await Task.Run(() => Json(0, JsonRequestBehavior.AllowGet))); } catch (Exception e) { Console.WriteLine(e.Source); } } } return(await Task.Run(() => Json(1, JsonRequestBehavior.AllowGet))); }
public async Task <JsonResult> RemoveCostumer(Costumer data) { if (ModelState.IsValid) { HashSet <string> hs = (HashSet <string>)Session["Costumers"]; if (!hs.Contains(data.Id)) // checking if costumer is already exist. { return(await Task.Run(() => Json(1, JsonRequestBehavior.AllowGet))); } using (var db = new FleetMSEntities()) { try { List <Costumer> list = (List <Costumer>)Session["CostumersArray"]; //remove costumer from list Costumer toRemove = Costumer.searchCostumer(list, data.Id); Dictionary <string, string> d = (Dictionary <string, string>)Session["RentedCars"]; var RemoveRentCars = await db.RentedCars.ToArrayAsync(); foreach (var item in RemoveRentCars) { if (item.Costumer.Id.Equals(data.Id)) // Check if the costumer rented car. { return(await Task.Run(() => Json(2, JsonRequestBehavior.AllowGet))); } } db.Costumer.Attach(toRemove); db.Costumer.Remove(toRemove); // Remove costumer. await db.SaveChangesAsync(); //updating sessions hs.Remove(data.Id); Session["Costumers"] = hs; list.Remove(toRemove); Session["CostumersArray"] = list; d.Remove(data.Id); Session["RentedCars"] = d; return(await Task.Run(() => Json(0, JsonRequestBehavior.AllowGet))); } catch (Exception e) { Console.WriteLine(e.Source); } } } return(await Task.Run(() => Json(1, JsonRequestBehavior.AllowGet))); }
public async Task <JsonResult> RemoveCar(string data) { if (ModelState.IsValid) { HashSet <string> hs = (HashSet <string>)Session["Veichles"]; if (!hs.Contains(data)) // checking if car exist. { return(await Task.Run(() => Json(1, JsonRequestBehavior.AllowGet))); } Dictionary <string, string> d = (Dictionary <string, string>)Session["RentedCars"]; if (d.ContainsValue(data)) // check if the car is rented. { return(await Task.Run(() => Json(2, JsonRequestBehavior.AllowGet))); } using (var db = new FleetMSEntities()) { try { List <Veichle> list = (List <Veichle>)Session["VeichlesArray"]; //remove car from list Veichle toRemove = Veichle.searchVeichles(list, data); db.Veichle.Attach(toRemove); db.Veichle.Remove(toRemove); await db.SaveChangesAsync(); //updating sessions list.Remove(toRemove); Session["VeichlesArray"] = list; hs.Remove(data); Session["Veichles"] = hs; return(await Task.Run(() => Json(0, JsonRequestBehavior.AllowGet))); } catch (Exception e) { Console.WriteLine(e.Source); } } } return(await Task.Run(() => Json(1, JsonRequestBehavior.AllowGet))); }
public async Task <bool> AddVeichle(Veichle v) { HashSet <string> hs = (HashSet <string>)Session["Veichles"]; if (hs.Contains(v.LicenseNumber)) // check if the license number already exist. { return(false); } using (var db = new FleetMSEntities()) { hs.Add(v.LicenseNumber); Session["Veichles"] = hs; List <Veichle> list = (List <Veichle>)Session["VeichlesArray"]; list.Add(v); Session["VeichlesArray"] = list; db.Veichle.Add(v); await db.SaveChangesAsync(); } return(true); }
private async Task <bool> initSessions() { using (FleetMSEntities db = new FleetMSEntities()) { //Add costumer list to session Costumer[] c = await db.Costumer.ToArrayAsync(); HashSet <string> hs = new HashSet <string>(); foreach (Costumer cost in c) { hs.Add(cost.Id); } Session["Costumers"] = hs; Session["CostumersArray"] = c.ToList(); //Add veichle list to session Veichle[] v = await db.Veichle.ToArrayAsync(); hs = new HashSet <string>(); foreach (Veichle car in v) { hs.Add(car.LicenseNumber); } Session["Veichles"] = hs; Session["VeichlesArray"] = v.ToList(); //Add Rented cars to session Dictionary <string, string> d = new Dictionary <string, string>(); RentedCars[] rc = await db.RentedCars.ToArrayAsync(); foreach (RentedCars cars in rc) { d.Add(cars.Costumer.Id, cars.Veichle.LicenseNumber); } Session["RentedCars"] = d; } return(true); }
public async Task <JsonResult> RemoveRentCar(string ln, string id) { if (ModelState.IsValid) { Dictionary <string, string> d = (Dictionary <string, string>)Session["RentedCars"]; if (!(d.ContainsKey(id) && d[id].Equals(ln))) // checking if car or costumer are exist. { return(await Task.Run(() => Json(1, JsonRequestBehavior.AllowGet))); } using (var db = new FleetMSEntities()) { try { RentedCars[] rentcar = await db.RentedCars.ToArrayAsync(); var rc = RentedCars.searchRentedCar(rentcar.ToList(), id, ln); db.RentedCars.Attach(rc); db.RentedCars.Remove(rc); await db.SaveChangesAsync(); //updating sessions d.Remove(id); Session["RentedCars"] = d; return(await Task.Run(() => Json(0, JsonRequestBehavior.AllowGet))); } catch (Exception e) { Console.WriteLine(e.Source); } } } return(await Task.Run(() => Json(1, JsonRequestBehavior.AllowGet))); }
public async Task <JsonResult> EditCar(string name, string ln, int model, int price, int seatsNumber, string company, string hook, string box, string trucktype, string awning, string volume) { bool HookParam = false, AwningParam = false, BoxParam = false; if (hook.Equals("true")) { HookParam = true; } if (awning.Equals("true")) { AwningParam = true; } if (box.Equals("true")) { BoxParam = true; } if (ModelState.IsValid) { using (var db = new FleetMSEntities()) { Veichle car; if (((string)Session["EditType"]).Equals("Truck")) //check if type is truck { car = new Truck(name, ln, model, price, seatsNumber, company, HookParam, trucktype); } else if (((string)Session["EditType"]).Equals("Van")) //check if type is Van { car = new Van(name, ln, model, price, seatsNumber, company, int.Parse(volume), AwningParam); } else if (((string)Session["EditType"]).Equals("Tender")) //check if type is Tender { car = new Tender(name, ln, model, price, seatsNumber, company, HookParam, BoxParam); } else { car = new PrivateCar(name, ln, model, price, seatsNumber, company); } try { List <Veichle> v = (List <Veichle>)Session["VeichlesArray"]; Veichle toRemove = Veichle.searchVeichles(v, ln); db.Veichle.Attach(toRemove); db.Veichle.Remove(toRemove); //remove from db if (car is Truck) { db.Veichle.Add(((Truck)car)); } else if (car is Tender) { db.Veichle.Add(((Tender)car)); } else if (car is Van) { db.Veichle.Add(((Van)car)); } else if (car is PrivateCar) { db.Veichle.Add(((PrivateCar)car)); } await db.SaveChangesAsync(); //updating sessions v.Remove(toRemove); v.Add(car); Session["VeichlesArray"] = v; return(await Task.Run(() => Json(0, JsonRequestBehavior.AllowGet))); } catch (Exception e) { Console.WriteLine(e.Source); } } } return(await Task.Run(() => Json(1, JsonRequestBehavior.AllowGet))); }