Example #1
0
        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();
        }
Example #2
0
        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);
            }
        }
Example #3
0
        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;
        }