public ActionResult Add(int year = 0, int make = 0, int model = 0, int style = 0) { ViewBag.year = year; ViewBag.make = make; ViewBag.model = model; ViewBag.style = style; List<string> error_messages = new List<string>(); if (year > 0 && make > 0 && model > 0 && style > 0) { try { CurtDevDataContext db = new CurtDevDataContext(); // Make sure we don't already have this vehicle int vCount = (from v in db.Vehicles where v.yearID.Equals(year) && v.makeID.Equals(make) && v.modelID.Equals(model) && v.styleID.Equals(style) select v).Count<Vehicles>(); try { YearMake ym = db.YearMakes.Where(x => x.yearID.Equals(year)).Where(x => x.makeID.Equals(make)).First<YearMake>(); } catch { YearMake ym = new YearMake { yearID = year, makeID = make }; db.YearMakes.InsertOnSubmit(ym); db.SubmitChanges(); } try { MakeModel mm = db.MakeModels.Where(x => x.makeID.Equals(make)).Where(x => x.modelID.Equals(model)).First<MakeModel>(); } catch { MakeModel mm = new MakeModel { makeID = make, modelID = model }; db.MakeModels.InsertOnSubmit(mm); db.SubmitChanges(); } try { ModelStyle ms = db.ModelStyles.Where(x => x.modelID.Equals(model)).Where(x => x.styleID.Equals(style)).First<ModelStyle>(); } catch { ModelStyle ms = new ModelStyle { modelID = model, styleID = style }; db.ModelStyles.InsertOnSubmit(ms); db.SubmitChanges(); } if (vCount == 0) { Vehicles new_vehicle = new Vehicles { yearID = year, makeID = make, modelID = model, styleID = style, dateAdded = DateTime.Now }; db.Vehicles.InsertOnSubmit(new_vehicle); db.SubmitChanges(); return RedirectToAction("Index"); } else { error_messages.Add("We already have this vehicle in the database."); } } catch (Exception e) { error_messages.Add(e.Message); } } ViewBag.error_messages = error_messages; // Get Years List<Year> years = Models.Vehicle.GetYears(); ViewBag.years = years; // Get Makes List<Make> makes = Models.Vehicle.GetMakes(); ViewBag.makes = makes; // Get Models List<Model> models = Models.Vehicle.GetModels(); ViewBag.models = models; // Get Styles List<Style> styles = Models.Vehicle.GetStyles(); ViewBag.styles = styles; // Get the modules for the logged in user List<module> modules = new List<module>(); modules = Users.GetUserModules(Convert.ToInt32(Session["userID"])); ViewBag.Modules = modules; return View(); }
public static FullVehicle CarryOverPart(int vehicleID = 0, int partID = 0) { try { CurtDevDataContext db = new CurtDevDataContext(); CarryOverInfo latest = GetLatestVehiclePart(vehicleID, partID); VehiclePart latestvp = db.VehicleParts.Where(x => x.vehicleID == vehicleID).Where(x => x.partID == partID).First<VehiclePart>(); List<VehiclePartAttribute> vpas = db.VehiclePartAttributes.Where(x => x.vPartID == latestvp.vPartID).ToList<VehiclePartAttribute>(); List<VehiclePartAttribute> newvpas = new List<VehiclePartAttribute>(); double year = latest.year + 1; int yearID = 0; try { yearID = db.Years.Where(x => x.year1 == year).Select(x => x.yearID).First(); } catch { Year y = new Year { year1 = year }; db.Years.InsertOnSubmit(y); db.SubmitChanges(); yearID = y.yearID; }; try { YearMake ym = db.YearMakes.Where(x => x.yearID.Equals(yearID)).Where(x => x.makeID.Equals(latest.makeID)).First<YearMake>(); } catch { YearMake ym = new YearMake { yearID = yearID, makeID = latest.makeID }; db.YearMakes.InsertOnSubmit(ym); db.SubmitChanges(); } int vID = Vehicle.GetVehicleID(yearID, latest.makeID, latest.modelID, latest.styleID); if (vID == 0) { Vehicles v = new Vehicles { yearID = yearID, makeID = latest.makeID, modelID = latest.modelID, styleID = latest.styleID, dateAdded = DateTime.Now }; db.Vehicles.InsertOnSubmit(v); db.SubmitChanges(); vID = v.vehicleID; } List<VehiclePart> parts = new List<VehiclePart>(); foreach (int partnum in latest.partids) { if (db.VehicleParts.Where(x => x.partID.Equals(partnum)).Where(x => x.vehicleID.Equals(vID)).Count() == 0) { VehiclePart vp = new VehiclePart { vehicleID = vID, partID = partnum, drilling = latestvp.drilling, exposed = latestvp.exposed, installTime = latestvp.installTime }; parts.Add(vp); } } db.VehicleParts.InsertAllOnSubmit(parts); db.SubmitChanges(); foreach (VehiclePart part in parts) { newvpas = new List<VehiclePartAttribute>(); foreach (VehiclePartAttribute vpa in vpas) { VehiclePartAttribute newvpa = new VehiclePartAttribute { vPartID = part.vPartID, field = vpa.field, value = vpa.value }; newvpas.Add(newvpa); }; db.VehiclePartAttributes.InsertAllOnSubmit(newvpas); db.SubmitChanges(); }; UpdatePart(partID); return Vehicle.GetFullVehicle(vID); } catch (Exception e) { throw new Exception(e.Message); } }
public string AddMake(string make, int yearID) { string response = ""; make = Uri.UnescapeDataString(make); CurtDevDataContext db = new CurtDevDataContext(); YearMake ym = new YearMake(); if (make.Length > 0 && yearID > 0) { // Make sure this make / year combo doesn't exist int mCount = (from m in db.Makes join y in db.YearMakes on m.makeID equals ym.makeID where m.make1.Equals(make) && y.yearID.Equals(yearID) select m).Count<Make>(); if(mCount == 0) { Make new_make = new Make(); try { new_make = db.Makes.Where(x => x.make1.Equals(make)).First<Make>(); } catch { new_make = new Make { make1 = make.Trim() }; db.Makes.InsertOnSubmit(new_make); db.SubmitChanges(); } try { ym = new YearMake { makeID = new_make.makeID, yearID = yearID }; db.YearMakes.InsertOnSubmit(ym); db.SubmitChanges(); JavaScriptSerializer ser = new JavaScriptSerializer(); response = ser.Serialize(new_make); } catch (Exception e) { response = "[{\"error\":\""+e.Message+"\"}]"; } } else { response = "[{\"error\":\"This make already exists for this model year.\"}]"; } } return response; }