public Car(string serialNumber, Fuel fuelType, MakeModel makemodel, int capacity, int doors) : base(serialNumber, fuelType, makemodel) { Capacity = capacity; Doors = doors; }
public static string[] SuggestFullModelsWithTargets(string prefixText, int count, string contextKey) { if (!HttpContext.Current.User.Identity.IsAuthenticated || String.IsNullOrEmpty(HttpContext.Current.User.Identity.Name)) { throw new MyFlightbookException("Unauthenticated call to add new aircraft"); } if (String.IsNullOrEmpty(prefixText)) { return(Array.Empty <string>()); } Dictionary <string, object> dictContextIn = contextKey == null ? new Dictionary <string, object>() : JsonConvert.DeserializeObject <Dictionary <string, object> >(contextKey); ModelQuery modelQuery = new ModelQuery() { FullText = prefixText.Replace("-", "*"), PreferModelNameMatch = true, Skip = 0, Limit = count }; List <string> lst = new List <string>(); foreach (MakeModel mm in MakeModel.MatchingMakes(modelQuery)) { Dictionary <string, object> d = new Dictionary <string, object>(dictContextIn); string modelID = mm.MakeModelID.ToString(CultureInfo.InvariantCulture); string modelDisplay = String.Format(CultureInfo.CurrentCulture, Resources.LocalizedText.LocalizedJoinWithDash, mm.ManufacturerDisplay, mm.ModelDisplayName); d["modelID"] = modelID; d["modelDisplay"] = modelDisplay; lst.Add(AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(modelDisplay, JsonConvert.SerializeObject(d))); } return(lst.ToArray()); }
static void Main(string[] args) { //declare an object reference (variable) MakeModel makemodel; //Instantiate a MakeModel object makemodel = new MakeModel("GMC", "Cobalt"); //declare/assign Car object (sub class of base class Vehicle) Car myCar = new Car("13GM9C89", Fuel.Unleaded, makemodel, 5, 4); Console.WriteLine(myCar.ToString()); //A Car is a Vehicle (a base class can hold a reference to a sub class) Vehicle myVehicle = new Car("13GM9C89", Fuel.Unleaded, makemodel, 5, 4); //to test for validation, replace the 4 with a 7 (in the line above) and re run Console.WriteLine(myVehicle.ToString()); //one can create a based class instance Vehicle mySlowCar = new Vehicle("13GM9C89", Fuel.Unleaded, makemodel); Console.WriteLine(mySlowCar.ToString()); //reassign a variable to an instance of a sub class mySlowCar = new Car("25FD4TR654", Fuel.Unleaded, makemodel, 6, 4); Console.WriteLine(mySlowCar.ToString()); Service myServiceVehicle = new Service("4678TY768", Fuel.Diesel, new MakeModel("GMC", "3500"), 10000, "lbs"); Console.WriteLine(myServiceVehicle.ToString()); Console.ReadLine(); }
public List <MakeModel> GetAllMakesModels() { List <MakeModel> makeModels = new List <MakeModel>(); using (SqlConnection conn = new SqlConnection()) { conn.ConnectionString = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString; SqlCommand cmd = new SqlCommand(); cmd.Connection = conn; cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "GetAllMakesModels"; conn.Open(); using (SqlDataReader dr = cmd.ExecuteReader()) { while (dr.Read()) { MakeModel currentRow = new MakeModel(); currentRow.make = dr["make"].ToString(); currentRow.model = dr["model"].ToString(); currentRow.dateAdded = (DateTime)dr["dateAdded"]; currentRow.addedBy = dr["addedBy"].ToString(); makeModels.Add(currentRow); } } } return(makeModels); }
protected void gvAircraftCandidates_RowCommand(object sender, CommandEventArgs e) { if (e == null) { throw new ArgumentException("null gridviewcommandeventargs for new aircraft to import", "e"); } int idRow = Convert.ToInt32(e.CommandArgument, CultureInfo.InvariantCulture); if (e.CommandName.CompareOrdinalIgnoreCase("AddNew") == 0) { UserAircraft ua = new UserAircraft(Page.User.Identity.Name); AircraftImportMatchRow mr = CandidatesForImport.FirstOrDefault <AircraftImportMatchRow>(mr2 => mr2.ID == idRow); mr.BestMatchAircraft.Commit(Page.User.Identity.Name); ModelMapping[mr.ModelGiven] = MakeModel.GetModel(mr.BestMatchAircraft.ModelID); // remember the mapping. // hack, but the commit above can result in the instance type being cleared out, so restore it. if (String.IsNullOrEmpty(mr.BestMatchAircraft.InstanceTypeDescription)) { mr.BestMatchAircraft.InstanceTypeDescription = AircraftInstance.GetInstanceTypes()[mr.BestMatchAircraft.InstanceTypeID - 1].DisplayName; } mr.State = AircraftImportMatchRow.MatchState.JustAdded; UpdateGrid(); } }
protected MakeModel MakeFromForm() { CategoryClass.CatClassID ccId = (CategoryClass.CatClassID)Enum.Parse(typeof(CategoryClass.CatClassID), cmbCatClass.SelectedValue, true); Boolean fSea = CategoryClass.IsSeaClass(ccId); if (ckComplex.Checked) { if (fSea) { ckRetract.Checked = true; } ckCowlFlaps.Checked = true; ckConstantProp.Checked = true; } // if we were going to be really anal here, there would be no "complex" field in the database; // it would be entirely derived. but we're not being really anal. // Complex is FAR 61.31. if ((fSea || ckRetract.Checked) && ckConstantProp.Checked && ckCowlFlaps.Checked) { ckComplex.Checked = true; } MakeModel mk = (MakeID == -1) ? new MakeModel() : new MakeModel(MakeID); mk.Model = txtModel.Text.Trim(); mk.ModelName = txtName.Text.Trim(); mk.TypeName = txtType.Text.Trim(); mk.FamilyName = txtFamilyName.Text.Trim().ToUpper(CultureInfo.InvariantCulture).Replace("-", string.Empty).Replace(" ", string.Empty); mk.CategoryClassID = ccId; mk.ManufacturerID = Convert.ToInt32(cmbManufacturer.SelectedValue, CultureInfo.InvariantCulture); mk.IsComplex = ckComplex.Checked; mk.PerformanceType = HighPerfType; mk.IsTailWheel = ckTailwheel.Checked; mk.IsConstantProp = ckConstantProp.Checked; mk.HasFlaps = ckCowlFlaps.Checked; mk.IsRetract = ckRetract.Checked; mk.AvionicsTechnology = AvionicsTechnology; mk.EngineType = (MakeModel.TurbineLevel)rblTurbineType.SelectedIndex; mk.ArmyMDS = txtArmyMDS.Text; mk.AllowedTypes = (AllowedAircraftTypes)rblAircraftAllowedTypes.SelectedIndex; mk.IsMotorGlider = (ckTMG.Checked && (ccId == CategoryClass.CatClassID.Glider)); mk.IsMultiEngineHelicopter = (ckMultiHeli.Checked && (ccId == CategoryClass.CatClassID.Helicopter)); mk.IsCertifiedSinglePilot = ckSinglePilot.Checked && mk.EngineType.IsTurbine() && !String.IsNullOrEmpty(mk.TypeName); // Sanity check - no complex for a jet if (mk.EngineType == MakeModel.TurbineLevel.Jet) { mk.IsComplex = mk.IsConstantProp = false; } // these don't get persisted, but help with dupe detection. mk.CategoryClassDisplay = cmbCatClass.SelectedItem.Text; mk.ManufacturerDisplay = cmbManufacturer.SelectedItem.Text; UpdateRowsForCatClass(mk.CategoryClassID); return(mk); }
} //AutoImplementedProperty public Service(string serialNumber, Fuel fuelType, MakeModel makeModel, decimal towLimit, string towMeasure) : base(serialNumber, fuelType, makeModel) { TowLimit = towLimit; TowMeasure = towMeasure; }
public async Task <IActionResult> CreateVehicle(VehicleModel vehModel) { if (vehModel == null || vehModel.licenceNum == null) { return(RedirectToAction("Index")); } //Get makes IEnumerable <MakeModel> makeList = MakeModel.CreateModelNumerable(await _beService.GetMakesAsync()); VehicleDTO searchdto = await _beService.GetVehicleAsync(vehModel.licenceNum); if (searchdto != null) { //Add to dropdown ViewBag.selList = makeList; return(View("VehicleCreate", vehModel)); } vehModel.state = "In"; VehicleDTO dto = VehicleDTO.CreateDTO(vehModel); string response = await _beService.InsertVehicleAsync(dto); return(RedirectToAction("Index")); }
protected void cmbMakeModel_SelectedIndexChanged(object sender, EventArgs e) { int modelID = SelectedModelID; UpdateAttributesForModel(modelID == MakeModel.UnknownModel ? null : MakeModel.GetModel(modelID)); ModelChanged?.Invoke(this, new MakeSelectedEventArgs(modelID)); }
public bool AddModel(string make, string name) { var db = ApplicationDbContext.Create(); var mk = db.Makes.Where(m => m.Name == make).FirstOrDefault(); if (mk == null) { mk = new Make { Name = make }; db.Makes.Add(mk); } if (db.MakeModels.Any(m => m.Name == name && m.Make.Name == make)) { return(false); } var model = new MakeModel { Make = mk, Name = name }; db.MakeModels.Add(model); db.SaveChanges(); return(true); }
public async Task <IActionResult> Edit(int id, [Bind("id,name")] MakeModel makeModel) { if (id != makeModel.id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(makeModel); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!MakeModelExists(makeModel.id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(makeModel)); }
public override int GetHashCode() { int hash = 1; if (VehicleId.Length != 0) { hash ^= VehicleId.GetHashCode(); } if (CustomerId.Length != 0) { hash ^= CustomerId.GetHashCode(); } if (Registration.Length != 0) { hash ^= Registration.GetHashCode(); } if (MakeModel.Length != 0) { hash ^= MakeModel.GetHashCode(); } if (MaxSpeed != 0) { hash ^= MaxSpeed.GetHashCode(); } if (MaxTemperature != 0) { hash ^= MaxTemperature.GetHashCode(); } if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } return(hash); }
public static string[] HtmlRowsForMakes(string szRestrict, int skip, int pageSize) { List <string> lst = new List <string>(); // We have no Page, so things like Page_Load don't get called. // We fix this by faking a page and calling Server.Execute on it. This sets up the form and - more importantly - causes Page_load to be called on loaded controls. using (Page p = new FormlessPage()) { p.Controls.Add(new HtmlForm()); using (StringWriter sw1 = new StringWriter(CultureInfo.CurrentCulture)) HttpContext.Current.Server.Execute(p, sw1, false); ModelQuery mq = JsonConvert.DeserializeObject <ModelQuery>(szRestrict); mq.Skip = skip; mq.Limit = pageSize; foreach (MakeModel m in MakeModel.MatchingMakes(mq)) { Controls_mfbMakeListItem mli = (Controls_mfbMakeListItem)p.LoadControl("~/Controls/mfbMakeListItem.ascx"); HtmlTableRow tr = new HtmlTableRow(); p.Form.Controls.Add(tr); HtmlTableCell tc = new HtmlTableCell(); tr.Cells.Add(tc); tc.VAlign = "top"; tc.Controls.Add(mli); // Now, write it out. StringBuilder sb = new StringBuilder(); StringWriter sw = null; try { sw = new StringWriter(sb, CultureInfo.CurrentCulture); using (HtmlTextWriter htmlTW = new HtmlTextWriter(sw)) { sw = null; try { mli.SortMode = mq.SortMode; mli.Model = m; mli.ModelLink.NavigateUrl = VirtualPathUtility.ToAbsolute(mli.ModelLink.NavigateUrl); tr.RenderControl(htmlTW); lst.Add(sb.ToString()); } catch (ArgumentException ex) when(ex is ArgumentOutOfRangeException) { } // don't write bogus or incomplete HTML } } finally { if (sw != null) { sw.Dispose(); } } } } return(lst.ToArray()); }
protected void UpdateFilter() { ModelQuery mq = ActiveQuery = QueryFromForm(ActiveQuery); tblHeaderRow.Visible = true; gvMakes.DataSource = MakeModel.MatchingMakes(mq); gvMakes.DataBind(); }
public Marine(string serialNumber, Fuel fuelType, MakeModel makeModel, int capacity, int footlength, string engine) : base(serialNumber, fuelType, makeModel) { Capacity = capacity; FootLength = footlength; Engine = Engine; }
public void AddModelMapping(string key, MakeModel m) { if (!String.IsNullOrEmpty(key) && m != null && ModelMapping is Dictionary <string, MakeModel> d) { d[key] = m; ModelMapping = d; } }
public override string ToString() { return("Serial Number " + SerialNumber + "\n" + "Fuel " + FuelType + "\n" + "Make/Model " + MakeModel.ToString() + "\n" + "Capacity " + Capacity.ToString() + "\n" + "Range (mi) " + Range.ToString() + "\n\n"); }
public override string ToString() { return("Serial Number " + SerialNumber + "\n" + "Fuel " + FuelType + "\n" + "Make/Model " + MakeModel.ToString() + "\n" + "Seating " + Capacity.ToString() + "\n" + "Doors " + Doors.ToString() + "\n\n"); }
private bool fHasBeenSetUp = false; // have we already been initialized for the user? protected void SetUpForUser() { if (fHasBeenSetUp) { return; } if (String.IsNullOrEmpty(Username)) { Username = Page.User.Identity.Name; } UserAircraft ua = new UserAircraft(Username); Aircraft[] rgac = ua.GetAircraftForUser(); Aircraft[] rgacActive = Array.FindAll(rgac, aircraft => !aircraft.HideFromSelection); // Hide inactive aircraft unless // (a) all aircraft are active, or // (b) the current query references inactive aircraft // (c) pnlshowAllAircraft is invisible (indicating that it has been clicked) bool fShowAll = !pnlShowAllAircraft.Visible || rgacActive.Length == rgac.Length || Array.Exists(Restriction.AircraftList, ac => ac.HideFromSelection); if (fShowAll) { pnlShowAllAircraft.Visible = false; } cklAircraft.DataSource = fShowAll ? rgac : rgacActive; cklAircraft.DataBind(); cklMakes.DataSource = MakeModel.ModelsForAircraft(rgac); cklMakes.DataBind(); cklCatClass.DataSource = CategoryClass.CategoryClasses(); cklCatClass.DataBind(); CustomPropertyType[] rgCpt = CustomPropertyType.GetCustomPropertyTypes(Username); List <CustomPropertyType> al = new List <CustomPropertyType>(); foreach (CustomPropertyType cpt in rgCpt) { if (cpt.IsFavorite) { al.Add(cpt); } } if (al.Count == 0) { pnlCustomProps.Visible = CustomPropsHeader.Visible = false; } else { cklCustomProps.DataSource = al; cklCustomProps.DataBind(); } fHasBeenSetUp = true; }
public override string ToString() { return("Serial Number " + SerialNumber + "\n" + "Fuel " + FuelType + "\n" + "Make/Model " + MakeModel.ToString() + "\n" + "Capacity " + Capacity.ToString() + "\n" + "Length (ft) " + FootLength.ToString() + "\n" + "Engine " + Engine + "\n\n"); }
private void InitForm() { if (!m_fNeedsInit) { return; } m_fNeedsInit = false; foreach (CustomCurrencyTimespanType t in Enum.GetValues(typeof(CustomCurrencyTimespanType))) { cmbMonthsDays.Items.Add(new ListItem(t.DisplayString(), t.ToString())); } UserAircraft ua = new UserAircraft(Page.User.Identity.Name); IEnumerable <Aircraft> lstAc = ua.GetAircraftForUser(); lstAircraft.DataSource = lstAc; lstAircraft.DataBind(); List <ListItem> lstCurrencyEvents = new List <ListItem>(); foreach (var value in Enum.GetValues(typeof(CustomCurrency.CustomCurrencyEventType))) { lstCurrencyEvents.Add(new ListItem(CultureInfo.CurrentCulture.TextInfo.ToTitleCase(CustomCurrency.EventTypeLabel(1, (CustomCurrency.CustomCurrencyEventType)value)), ((int)value).ToString(CultureInfo.CurrentCulture))); } lstCurrencyEvents.Sort(delegate(ListItem a, ListItem b) { return(a.Text.CompareCurrentCultureIgnoreCase(b.Text)); }); foreach (ListItem li in lstCurrencyEvents) { cmbEventTypes.Items.Add(li); } lstModels.DataSource = MakeModel.ModelsForAircraft(lstAc); lstModels.DataBind(); IEnumerable <CategoryClass> rgCatClass = CategoryClass.CategoryClasses(); cmbCatClass.DataSource = rgCatClass; cmbCatClass.DataBind(); // Get the categories (as opposed to catclass); this is something of a hack, but it avoids an extra DB call Dictionary <string, string> dictCategories = new Dictionary <string, string>(); foreach (CategoryClass cc in rgCatClass) { dictCategories[cc.Category] = cc.Category; } List <string> lst = new List <string>(dictCategories.Keys); lst.Sort(); foreach (string category in lst) { cmbCategory.Items.Add(new ListItem(category, category)); } }
public static string AddNewAircraft(string szTail, int idModel, int instanceType, string szModelGiven, string szJsonMapping) { if (!HttpContext.Current.User.Identity.IsAuthenticated || String.IsNullOrEmpty(HttpContext.Current.User.Identity.Name)) { throw new MyFlightbookException("Unauthenticated call to add new aircraft"); } if (string.IsNullOrEmpty(szTail)) { throw new ArgumentException("Missing tail in AddNewAircraft"); } Dictionary <string, MakeModel> dModelMapping = String.IsNullOrEmpty(szJsonMapping) ? new Dictionary <string, MakeModel>() : JsonConvert.DeserializeObject <Dictionary <string, MakeModel> >(szJsonMapping); string szCurrentUser = HttpContext.Current.User.Identity.Name; Aircraft ac = new Aircraft() { TailNumber = szTail, ModelID = idModel, InstanceTypeID = instanceType }; // Issue #296: allow sims to come through without a sim prefix; we can fix it at AddNewAircraft time. AircraftInstance aic = Array.Find(AircraftInstance.GetInstanceTypes(), it => it.InstanceTypeInt == instanceType); string szSpecifiedTail = szTail; bool fIsNamedSim = !aic.IsRealAircraft && !szTail.ToUpper(CultureInfo.CurrentCulture).StartsWith(CountryCodePrefix.SimCountry.Prefix.ToUpper(CultureInfo.CurrentCulture), StringComparison.CurrentCultureIgnoreCase); if (fIsNamedSim) { ac.TailNumber = CountryCodePrefix.SimCountry.Prefix; } if (ac.FixTailAndValidate()) { ac.CommitForUser(szCurrentUser); UserAircraft ua = new UserAircraft(szCurrentUser); if (fIsNamedSim) { ac.PrivateNotes = String.Format(CultureInfo.InvariantCulture, "{0} #ALT{1}#", ac.PrivateNotes ?? string.Empty, szSpecifiedTail); } ua.FAddAircraftForUser(ac); ua.InvalidateCache(); if (!String.IsNullOrEmpty(szModelGiven)) { dModelMapping[szModelGiven] = MakeModel.GetModel(idModel); } } else { throw new MyFlightbookValidationException(ac.ErrorString); } return(JsonConvert.SerializeObject(dModelMapping)); }
public static MakeDTO CreateDTO(MakeModel model) { MakeDTO newDTO = new MakeDTO() { id = model.id, name = model.name }; return(newDTO); }
protected void MakesRowDataBound(object sender, GridViewRowEventArgs e) { if (e != null && e.Row.RowType == DataControlRowType.DataRow) { Controls_mfbMakeListItem mli = (Controls_mfbMakeListItem)e.Row.FindControl("mfbMakeListItem1"); MakeModel mm = (MakeModel)e.Row.DataItem; mli.Model = mm; mli.ModelLink.NavigateUrl = String.Format(CultureInfo.InvariantCulture, "{0}/{1}", Request.Url.LocalPath, mm.MakeModelID); } }
public void AddPictures(Object sender, GridViewRowEventArgs e) { if (e != null && e.Row.RowType == DataControlRowType.DataRow) { Aircraft ac = (Aircraft)e.Row.DataItem; // Refresh the images if (!IsAdminMode) { ((Controls_mfbHoverImageList)e.Row.FindControl("mfbHoverThumb")).Refresh(); } // Show aircraft capabilities too. Controls_popmenu popup = (Controls_popmenu)e.Row.FindControl("popmenu1"); ((RadioButtonList)popup.FindControl("rblRole")).SelectedValue = ac.RoleForPilot.ToString(); ((CheckBox)popup.FindControl("ckShowInFavorites")).Checked = !ac.HideFromSelection; ((Label)popup.FindControl("lblOptionHeader")).Text = String.Format(CultureInfo.CurrentCulture, Resources.Aircraft.optionHeader, ac.DisplayTailnumber); if (!IsAdminMode) { List <LinkedString> lst = new List <LinkedString>(); if (ac.Stats != null) { lst.Add(ac.Stats.UserStatsDisplay); } MakeModel mm = MakeModel.GetModel(ac.ModelID); if (mm != null) { if (!String.IsNullOrEmpty(mm.FamilyName)) { lst.Add(new LinkedString(ModelQuery.ICAOPrefix + mm.FamilyName)); } foreach (string sz in mm.AttributeList(ac.AvionicsTechnologyUpgrade, ac.GlassUpgradeDate)) { lst.Add(new LinkedString(sz)); } } Repeater rpt = (Repeater)e.Row.FindControl("rptAttributes"); rpt.DataSource = lst; rpt.DataBind(); } if (IsAdminMode) { HyperLink lnkRegistration = (HyperLink)e.Row.FindControl("lnkRegistration"); string szURL = ac.LinkForTailnumberRegistry(); lnkRegistration.Visible = szURL.Length > 0; lnkRegistration.NavigateUrl = szURL; } } }
public async Task <IActionResult> Create([Bind("id,name")] MakeModel makeModel) { if (ModelState.IsValid) { _context.Add(makeModel); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(makeModel)); }
private FlightQuery AddModelToQuery(FlightQuery fq, int idModel) { List <MakeModel> lst = new List <MakeModel>(fq.MakeList); if (!lst.Exists(m => m.MakeModelID == idModel)) { lst.Add(MakeModel.GetModel(idModel)); } fq.MakeList = lst.ToArray(); return(fq); }
/// <summary> /// 代码生成 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button1_Click(object sender, EventArgs e) { VariableAssignment(); fileName = txtClassName.Text; var mk = new MakeModel(); Filtername = "CS 文件|*.cs"; txtContent.Text = mk.TransformText(); tabControl1.SelectedIndex = 1; }
public async Task <IActionResult> CreateVehicle() { VehicleModel model = new VehicleModel(); //Get makes IEnumerable <MakeModel> makeList = MakeModel.CreateModelNumerable(await _beService.GetMakesAsync()); //Add to dropdown ViewBag.selList = makeList; return(View("VehicleCreate", model)); }
//Create model given the current paramaters public static VehIndexModel CreateModel(IEnumerable <VehicleModel> vehicles, IEnumerable <VehicleModel> concernVehicles, IEnumerable <MakeModel> makes, Guid selMake, string selState, string lPlatetxt) { VehIndexModel newModel = new VehIndexModel(); //Add the "All" option to the select lists MakeModel allMake = new MakeModel() { id = Guid.Empty, name = "All" }; List <MakeModel> temp = makes.ToList(); temp.Insert(0, allMake); makes = temp.AsEnumerable(); //Vehicle list passed through this gauntlet of filters if (vehicles != null) { newModel.vehicleList = vehicles.ToList(); } if (concernVehicles != null) { newModel.vehicleWithConcernList = concernVehicles.ToList(); } if (selMake != null) { newModel.selectedMake = selMake; } if (makes != null) { newModel.makeList = new SelectList(makes, "id", "name", selMake); } if (selState != null && selState != "All") { newModel.selectedState = selState; } else { newModel.selectedState = "All"; } if (lPlatetxt != null) { newModel.lPlateSearch = lPlatetxt; } newModel.stateList = new SelectList(CreateStateList()); newModel.stateList.First(x => x.Text == newModel.selectedState).Selected = true; return(newModel); }
public string AddModel(string model, int makeID) { string response = ""; model = Uri.UnescapeDataString(model); CurtDevDataContext db = new CurtDevDataContext(); MakeModel mm = new MakeModel(); if (model.Length > 0 && makeID > 0) { // Make sure this model doesn't exist int mCount = (from m in db.Models join ma in db.MakeModels on m.modelID equals ma.modelID where m.model1.Equals(model) && ma.makeID.Equals(makeID) select m).Count<Model>(); if (mCount == 0) { Model new_model = new Model(); try { new_model = db.Models.Where(x => x.model1.Equals(model)).First<Model>(); } catch { new_model = new Model { model1 = model.Trim() }; db.Models.InsertOnSubmit(new_model); db.SubmitChanges(); } try { mm = new MakeModel { modelID = new_model.modelID, makeID = makeID }; db.MakeModels.InsertOnSubmit(mm); db.SubmitChanges(); JavaScriptSerializer ser = new JavaScriptSerializer(); response = ser.Serialize(new_model); } catch (Exception e) { response = "[{\"error\":\"" + e.Message + "\"}]"; } } else { response = "[{\"error\":\"This model already exists for this make.\"}]"; } } return response; }
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(); }