// GET: Inventory public ActionResult Details(int id) { var repo = VehicleRepositoryFactory.GetRepository(); var salesRepo = SalesInformationRepositoryFactory.GetRepository(); var sales = salesRepo.GetSales(); var model = repo.GetVehicleDetails(id); var available = repo.GetVehicleItems(); model.IsSold = sales.Any(m => m.VehicleID == id); return(View(model)); }
public ActionResult SalesReport() { var repo = SalesInformationRepositoryFactory.GetRepository(); SalesReportViewModel model = new SalesReportViewModel(); var userRepo = UsersRepositoryFactory.GetRepository(); var users = userRepo.GetAll(); var usernames = (from user in users select user.LastName); model.Users = new SelectList(usernames); return(View(model)); }
public IEnumerable <VehicleItem> GetVehicleItems() { List <VehicleItem> vehicleItems = new List <VehicleItem>(); var repo = VehicleRepositoryFactory.GetRepository(); var vehicles = repo.GetAll(); var salesRepo = SalesInformationRepositoryFactory.GetRepository(); var sales = salesRepo.GetSales(); var bodyRepo = BodyTypesRepositoryFactory.GetRepository(); var bodyTypes = bodyRepo.GetAll(); var makeRepo = CarMakesRepositoryFactory.GetRepository(); var makes = makeRepo.GetAll(); var modelRepo = CarModelItemRepositoryFactory.GetRepository(); var models = modelRepo.GetAll(); var transRepo = TransmissionTypesRepositoryFactory.GetRepository(); var transTypes = transRepo.GetAll(); var extColorRepo = ExtColorsRepositoryFactory.GetRepository(); var extColors = extColorRepo.GetAll(); var intColorRepo = IntColorsRepositoryFactory.GetRepository(); var intColors = intColorRepo.GetAll(); var items = from v in vehicles join make in makes on v.MakeID equals make.MakeID join model in models on v.ModelID equals model.ModelID join body in bodyTypes on v.BodyTypeID equals body.BodyTypeID join tran in transTypes on v.TransmissionID equals tran.TransmissionID join ext in extColors on v.ExtColorID equals ext.ExtColorID join color in intColors on v.IntColorID equals color.IntColorID select new VehicleItem { VehicleID = v.VehicleID, SalesTypeID = v.SalesTypeID, YearBuilt = v.YearBuilt, MakeName = make.MakeName, ModelName = model.ModelName, BodyTypeName = body.BodyTypeName, TransmissionTypeName = tran.TransmissionTypeName, ExtColorName = ext.ExtColorName, IntColorName = color.IntColorName, Mileage = v.Mileage, VINNumber = v.VINNumber, SalesPrice = v.SalesPrice, MSRP = v.MSRP, VehicleDescription = v.VehicleDescription, ImageFileName = v.ImageFileName }; List <VehicleItem> vitems = items.ToList(); return(vitems); }
public ActionResult InsertSalesInformation(PurchaseSalesInfoViewModel model) { var inventory = VehicleRepositoryFactory.GetRepository(); var vech = inventory.GetVehicleDetails(model.VehicleID); if (model.PurchasePrice >= vech.MSRP) { ModelState.AddModelError("PurchasePrice", "Purchase price cannot be greater than MSRP"); } if (decimal.ToDouble(model.PurchasePrice) < ((decimal.ToDouble(vech.SalesPrice) * 0.95))) { ModelState.AddModelError("PurchasePrice", "Purchase price cannot be less than 95% of sales price"); } if (ModelState.IsValid) { var repo = SalesInformationRepositoryFactory.GetRepository(); SalesInformation sale = new SalesInformation(); sale.VehicleID = model.VehicleID; sale.CustomerName = model.CustomerName; sale.CustomerPhone = model.CustomerPhone; sale.CustomerEmail = model.CustomerEmail; sale.CustomerStreet1 = model.CustomerStreet1; sale.CustomerStreet2 = model.CustomerStreet2; sale.CustomerCity = model.CustomerCity; sale.CustomerState = model.CustomerState; sale.CustomerZip = model.CustomerZip; sale.PurchasePrice = model.PurchasePrice; sale.PurchaseTypeID = model.PurchaseTypeID; var id = User.Identity.GetUserId(); sale.Id = id; DateTime today = DateTime.Today; sale.PurchaseDate = today; repo.Insert(sale); return(RedirectToAction("Index")); } else { var repo = VehicleRepositoryFactory.GetRepository(); var car = repo.GetVehicleDetails(model.VehicleID); model.YearBuilt = car.YearBuilt; model.MakeName = car.MakeName; model.ModelName = car.ModelName; model.ImageFileName = car.ImageFileName; model.BodyTypeName = car.BodyTypeName; model.TransmissionTypeName = car.TransmissionTypeName; model.ExtColorName = car.ExtColorName; model.IntColorName = car.IntColorName; model.Mileage = car.Mileage; model.VINNumber = car.VINNumber; model.SalesPrice = car.SalesPrice; model.MSRP = car.MSRP; model.VehicleDescription = car.VehicleDescription; return(View("Purchase", model)); } }
public IHttpActionResult SearchSalesReport(string user, string startDate, string endDate) { var repo = SalesInformationRepositoryFactory.GetRepository(); var sales = repo.GetSales(); List <SalesInformation> salesResults = new List <SalesInformation>(); var userRepo = UsersRepositoryFactory.GetRepository(); var users = userRepo.GetAll(); var username = (from s in sales where s.UserName.Contains(user) select s.UserName).FirstOrDefault(); if (user != "0") { salesResults = (from r in sales where username == r.UserName select r).ToList(); if (salesResults.Count == 0) { return(NotFound()); } } else { salesResults = sales; } if (startDate != "0") { var beginDate = DateTime.Parse(startDate); var correctDate = beginDate.AddDays(1); var bDateResults = (from r in salesResults where r.PurchaseDate >= correctDate select r).ToList(); salesResults = bDateResults; } if (endDate != "0") { var stopDate = DateTime.Parse(endDate); var cDate = stopDate.AddDays(1); var eDateResults = (from r in salesResults where r.PurchaseDate <= cDate select r).ToList(); salesResults = eDateResults; } try { List <SalesReport> results = salesResults.GroupBy(s => s.Id) .Select(us => new SalesReport { UserName = us.Select(x => x.UserName).FirstOrDefault(), TotalSales = us.Sum(x => x.PurchasePrice), TotalVehicles = us.Select(x => x.SalesID).Count(), PurchaseDate = us.Select(x => x.PurchaseDate).FirstOrDefault() }).ToList(); return(Ok(results)); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public List <VehicleInventoryReport> GetUsedInventoryReport() { List <VehicleInventoryReport> reports = new List <VehicleInventoryReport>(); var repo = VehicleRepositoryFactory.GetRepository(); var vehicles = repo.GetAll(); var salesRepo = SalesInformationRepositoryFactory.GetRepository(); var sales = salesRepo.GetSales(); var salesTypeRepo = SalesTypeRepositoryFactory.GetRepository(); var salesTypes = salesTypeRepo.GetAll(); var bodyRepo = BodyTypesRepositoryFactory.GetRepository(); var bodyTypes = bodyRepo.GetAll(); var makeRepo = CarMakesRepositoryFactory.GetRepository(); var makes = makeRepo.GetAll(); var modelRepo = CarModelItemRepositoryFactory.GetRepository(); var models = modelRepo.GetAll(); var transRepo = TransmissionTypesRepositoryFactory.GetRepository(); var transTypes = transRepo.GetAll(); var extColorRepo = ExtColorsRepositoryFactory.GetRepository(); var extColors = extColorRepo.GetAll(); var intColorRepo = IntColorsRepositoryFactory.GetRepository(); var intColors = intColorRepo.GetAll(); var items = from v in vehicles join sale in salesTypes on v.SalesTypeID equals sale.SalesTypeID join make in makes on v.MakeID equals make.MakeID join model in models on v.ModelID equals model.ModelID join s in sales on v.VehicleID equals s.VehicleID where v.SalesTypeID == 2 select new VehicleInventoryReport { VehicleID = v.VehicleID, SalesTypeID = v.SalesTypeID, YearBuilt = v.YearBuilt, MakeName = make.MakeName, ModelName = model.ModelName, Count = sales.Select(x => x.SalesID).Count(), StockValue = vehicles.Sum(x => x.MSRP) }; List <VehicleInventoryReport> report = items.ToList(); return(report); }