public static ISalesItem CreateSalesItem(tbl_Sai item)
        {
            ISalesItem salesItem = SalesFactory.createNewSalesItem(item.Sai_, item.SaiNumber, item.SaiSah_, item.SaiPrd_,
                                                                   item.Saivat, item.Saidiscount);

            return(salesItem);
        }
Example #2
0
        public void CanInsertSales()
        {
            var repo = SalesFactory.GetSalesRepository();

            DateTime dateTime = DateTime.Now;

            var sale = new Sales()
            {
                Phone         = "8595478005",
                VehicleId     = 6,
                BuyerName     = "Randy Smith",
                Email         = "*****@*****.**",
                Street1       = "10854 War Drive",
                ZipCode       = 13456,
                City          = "Frankfort",
                StateName     = "KY",
                PurchasePrice = 12000,
                DatePurchased = dateTime,
                PurchaseType  = "Dealer Finance",
                UserId        = "000000-0000-0000-0000-000000"
            };

            repo.InsertSale(sale);

            var sales = SalesFactory.GetSalesRepository().GetAllSales();


            Assert.AreEqual(sales.Count(), 5);
        }
        public static ISalesHeaderView CreateSalesHeader(tbl_Sah sah)
        {
            ISalesHeaderView header = SalesFactory.createNewSalesHeader(sah.Sah_, sah.SahNumber, sah.SahCus_,
                                                                        sah.SahCreatedate, sah.SahType);

            return(header);
        }
        public IHttpActionResult AllCarSearch(decimal?minPrice, decimal?maxPrice, int?minYear, int?maxYear, string searchTerm)
        {
            var repo = SalesFactory.GetRepo();

            try
            {
                var parameters = new InventorySearchParameters()
                {
                    SearchTerm = searchTerm,
                    MinPrice   = minPrice,
                    MaxPrice   = maxPrice,
                    MinYear    = minYear,
                    MaxYear    = maxYear
                };

                var result = repo.AllCarSearch(parameters);
                if (result.Count == 0)
                {
                    return(NotFound());
                }
                return(Ok(result));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
 public OrderViewModel()
 {
     this.quattroRepository  = new QuattroRepository();
     this.customerRepository = new CustomerRepository();
     this.productRepository  = new ProductRepository();
     this._salesHeaderView   = SalesFactory.createNewSalesHeader();
     this.selectedProduct    = ProductFactory.createProduct();
     selectedCustomer        = CustomerFactory.createNew();
 }
        public ActionResult Purchase(PurchaseViewModel model)
        {
            var errors = ModelState
                         .Where(x => x.Value.Errors.Count > 0)
                         .Select(x => new { x.Key, x.Value.Errors })
                         .ToArray();

            if (ModelState.IsValid)
            {
                var salesRepo = SalesFactory.GetRepo();

                try
                {
                    model.Car.IsPurchased = true;
                    int purchaseId = 0;
                    int customerId = 0;

                    PurchaseVehicle purchaseDetails = new PurchaseVehicle();

                    purchaseDetails.PurchaseId     = purchaseId;
                    purchaseDetails.CustomerId     = customerId;
                    purchaseDetails.CarId          = model.Car.CarId;
                    purchaseDetails.Name           = model.Customer.Name;
                    purchaseDetails.Address1       = model.Customer.Address1;
                    purchaseDetails.Address2       = model.Customer.Address2;
                    purchaseDetails.City           = model.Customer.City;
                    purchaseDetails.StateId        = model.Customer.StateId;
                    purchaseDetails.Zipcode        = model.Customer.Zipcode;
                    purchaseDetails.Phone          = model.Customer.Phone;
                    purchaseDetails.Email          = model.Customer.Email;
                    purchaseDetails.IsPurchased    = model.Car.IsPurchased;
                    purchaseDetails.PurchasePrice  = model.Purchase.PurchasePrice;
                    purchaseDetails.PurchaseTypeId = model.Purchase.PurchaseTypeID;
                    purchaseDetails.SalesPerson    = User.Identity.Name;

                    salesRepo.SubmitPurchase(purchaseDetails);
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
            else
            {
                var statesRepo        = SalesFactory.GetRepo();
                var purchaseTypesRepo = SalesFactory.GetRepo();

                model.States       = new SelectList(statesRepo.GetStates(), "StateId", "StateId");
                model.PurchaseType = new SelectList(purchaseTypesRepo.GetPurchaseType(), "PurchaseTypeId", "PurchaseTypeName");

                return(View(model));
            }

            ViewBag.message = "Thank you for your purchase!";
            return(View());
        }
Example #7
0
        public void CanLoadSales()
        {
            var repo = SalesFactory.GetSalesRepository();

            var sales = repo.GetSales().ToList();

            Assert.AreEqual("Rad", sales[0].FirstName);
            Assert.AreEqual(4, sales[0].TotalVehicles);
            Assert.AreEqual(26500, sales[0].TotalSales);
        }
Example #8
0
        public void CanSearchSales()
        {
            var repo = SalesFactory.GetSalesRepository();

            var found = repo.GetSalesSearchResults(new SalesSearchParameters {
            }).ToList();

            Assert.AreEqual(1, found.Count());
            Assert.AreEqual("Rad", found[0].FirstName);
            Assert.AreEqual(26500, found[0].TotalSales);
            Assert.AreEqual(4, found[0].TotalVehicles);
        }
Example #9
0
        public void CanSearchSalesFromDate()
        {
            var repo = SalesFactory.GetSalesRepository();

            var parameters = new SalesSearchParameters {
                FromDate = DateTime.Parse("01/02/2015")
            };
            var found = repo.GetSalesSearchResults(parameters).ToList();

            Assert.AreEqual(1, found.Count());
            Assert.AreEqual("Rad", found[0].FirstName);
            Assert.AreEqual(20000, found[0].TotalSales);
            Assert.AreEqual(3, found[0].TotalVehicles);
        }
Example #10
0
        public void CanSearchSalesBetweenDates()
        {
            var repo = SalesFactory.GetSalesRepository();


            var parameters = new SalesSearchParameters {
                ToDate = DateTime.Parse("02/04/2016"), FromDate = DateTime.Parse("01/02/2009")
            };
            var found = repo.GetSalesSearchResults(parameters).ToList();

            Assert.AreEqual(1, found.Count());
            Assert.AreEqual("Joes", found[0].LastName);
            Assert.AreEqual(14500, found[0].TotalSales);
            Assert.AreEqual(2, found[0].TotalVehicles);
        }
        public IHttpActionResult GetSalesReport(string userName, string fromDate, string toDate)
        {
            var repo       = SalesFactory.GetSalesRepository();
            var parameters = new SalesSearchParameters();

            parameters.UserName = userName;

            var date = new DateTime();

            if (DateTime.TryParse(fromDate, out date))
            {
                parameters.FromDate = date;
            }
            else
            {
                parameters.FromDate = null;
            }

            date = new DateTime();

            if (DateTime.TryParse(toDate, out date))
            {
                parameters.ToDate = date;
            }
            else
            {
                parameters.ToDate = null;
            }

            try
            {
                var sales = repo.GetSalesSearchResults(parameters);

                if (sales.Count() != 0)
                {
                    return(Ok(sales));
                }
                else
                {
                    return(NotFound());
                }
            }

            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
        public ActionResult Purchase(int id)
        {
            var model = new PurchaseViewModel();

            var statesRepo        = SalesFactory.GetRepo();
            var purchaseTypesRepo = SalesFactory.GetRepo();
            var detailsRepo       = SalesFactory.GetRepo().GetDetails(id);

            model.States       = new SelectList(statesRepo.GetStates(), "StateId", "StateId");
            model.PurchaseType = new SelectList(purchaseTypesRepo.GetPurchaseType(), "PurchaseTypeId", "PurchaseTypeName");
            model.Car          = new CarView();
            model.Car          = detailsRepo;
            model.Customer     = new Customer();
            model.Purchase     = new Purchase();

            return(View(model));
        }
Example #13
0
        public ActionResult Purchase(PurchaseViewModel viewModel)
        {
            viewModel.Sale.MSRP       = viewModel.VehicleDetails.MSRP;
            viewModel.Sale.SalesPrice = viewModel.VehicleDetails.SalesPrice;

            if (ModelState.IsValid)
            {
                try
                {
                    var usrManger = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(new ApplicationDbContext()));
                    var user      = usrManger.FindByName(User.Identity.Name);

                    var salesRepo   = SalesFactory.GetSalesRepository();
                    var vehicleRepo = VehicleFactory.GetVehicleRepository();
                    var vehicle     = vehicleRepo.GetVehicle(viewModel.VehicleDetails.VehicleId);
                    vehicle.IsSold = true;

                    viewModel.Sale.VehicleId     = vehicle.VehicleId;
                    viewModel.Sale.DatePurchased = DateTime.Now;
                    viewModel.Sale.UserId        = user.Id;
                    salesRepo.InsertSale(viewModel.Sale);
                    vehicleRepo.UpdateVehicle(vehicle);


                    return(RedirectToAction("Index"));
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
            else
            {
                var viewModelReturn = new PurchaseViewModel();

                viewModelReturn.VehicleDetails = VehicleFactory.GetVehicleRepository().GetVehicleDetails(viewModel.VehicleDetails.VehicleId);
                TempData["MileageDisplay"]     = viewModel.VehicleDetails.Mileage.ToString("#,###");
                TempData["SalesPriceDisplay"]  = viewModel.VehicleDetails.SalesPrice.ToString("#,###");
                TempData["MSRPDisplay"]        = viewModel.VehicleDetails.MSRP.ToString("#,###");

                return(View(viewModelReturn));
            }
        }
Example #14
0
 public QuattroRepository()
 {
     salesHeaderView = SalesFactory.createNewSalesHeader();
 }
 public OfferViewModel()
 {
     this.quattroRepository = quattroRepository;
     this.salesHeaderView   = SalesFactory.createNewSalesHeader();
 }
 public DistributionViewModel()
 {
     this.quattroRepository = quattroRepository;
     salesHeaderView        = SalesFactory.createNewSalesHeader();
 }