示例#1
0
        public void CanInsertSalesInformation()
        {
            SalesInformation sale = new SalesInformation();

            var repo = new SalesInformationRepositoryDapper();

            sale.CustomerName    = "Susan Wright";
            sale.CustomerPhone   = "502-555-0117";
            sale.CustomerEmail   = "*****@*****.**";
            sale.CustomerStreet1 = "200 Merriweather Rd";
            sale.CustomerStreet2 = "Apt B";
            sale.CustomerCity    = "Louisville";
            sale.CustomerState   = "KY";
            sale.CustomerZip     = "40223";
            sale.PurchasePrice   = 18200;
            sale.PurchaseTypeID  = 2;
            sale.VehicleID       = 4;

            var dateTime = DateTime.Parse("04/20/2020");

            sale.PurchaseDate = dateTime;

            sale.Id = "00000000-0000-0000-0000-000000000000";

            repo.Insert(sale);

            Assert.AreEqual(3, sale.SalesID);
        }
示例#2
0
        public void Insert(SalesInformation sale)
        {
            using (var cn = new SqlConnection(Settings.GetConnectionString()))
            {
                var parameters = new DynamicParameters();

                parameters.Add("@SalesID",
                               dbType: DbType.Int32, direction: ParameterDirection.Output);
                parameters.Add("@CustomerName", sale.CustomerName);
                parameters.Add("@CustomerPhone", sale.CustomerPhone);
                parameters.Add("@CustomerEmail", sale.CustomerEmail);
                parameters.Add("@CustomerStreet1", sale.CustomerStreet1);
                parameters.Add("@CustomerStreet2", sale.CustomerStreet2);
                parameters.Add("@CustomerCity", sale.CustomerCity);
                parameters.Add("@CustomerState", sale.CustomerState);
                parameters.Add("@CustomerZip", sale.CustomerZip);
                parameters.Add("@PurchasePrice", sale.PurchasePrice);
                parameters.Add("@PurchaseTypeID", sale.PurchaseTypeID);
                parameters.Add("@PurchaseDate", sale.PurchaseDate);
                parameters.Add("@VehicleID", sale.VehicleID);
                parameters.Add("@Id", sale.Id);

                cn.Execute("SalesInsert",
                           parameters, commandType: CommandType.StoredProcedure);

                sale.SalesID = parameters.Get <int>("@SalesID");
            }
        }
示例#3
0
        public void AddSale(SalesInformation sale)
        {
            using (SqlConnection conn = new SqlConnection())
            {
                conn.ConnectionString = ConfigurationManager.ConnectionStrings["CarDealership"].ConnectionString;
                SqlCommand cmd = new SqlCommand();
                cmd.Connection  = conn;
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.CommandText = "AddSale";
                cmd.Parameters.AddWithValue("@Name", sale.Name);
                cmd.Parameters.AddWithValue("@Email", sale.Email);
                cmd.Parameters.AddWithValue("@Phone", sale.Phone);
                cmd.Parameters.AddWithValue("@Street1", sale.Street1);
                if (sale.Street2 != null)
                {
                    cmd.Parameters.AddWithValue("@Street2", sale.Street2);
                }
                else
                {
                    cmd.Parameters.AddWithValue("@Street2", "");
                }
                cmd.Parameters.AddWithValue("@City", sale.City);
                cmd.Parameters.AddWithValue("@StateId", sale.StateId);
                cmd.Parameters.AddWithValue("@ZipCode", sale.Zipcode);
                cmd.Parameters.AddWithValue("@PurchasePrice", sale.PurchasePrice);
                cmd.Parameters.AddWithValue("@PurchaseTypeId", sale.PurchaseType);
                cmd.Parameters.AddWithValue("@SoldBy", sale.SoldBy);
                cmd.Parameters.AddWithValue("@InventoryNumber", sale.InventoryNumber);

                conn.Open();
                cmd.ExecuteNonQuery();
                conn.Close();
            }
        }
        public SalesInformation GetById(int Id)
        {
            SalesInformation res = new SalesInformation();

            res = _unitOfWork.efSalesInformationDal.Get(c => c.Id == Id, i => i.Include(cp => cp.Cart).ThenInclude(c => c.CartProducts).ThenInclude(p => p.Product).ThenInclude(c => c.Category).Include(pt => pt.PaymentType));
            return(res);
        }
示例#5
0
 public void AddToSalesInfoDate(string dateOfSale, Sale sale)
 {
     if (SalesInformation.Contains(sale))
     {
         int i = SalesInformation.IndexOf(sale);
         SalesInformation[i].AddDateOfSale(dateOfSale);
     }
 }
示例#6
0
 public string UpdateAndSalesInformationAdd(Cart cart, SalesInformation salesInfo)
 {
     _unitOfWork.BeginTransaction();
     _unitOfWork.efSalesInformationDal.Add(salesInfo);
     cart.isPaymentCompleted = true;
     _unitOfWork.efCartDal.Update(cart);
     return(_unitOfWork.CommitSaveChanges());
 }
示例#7
0
        public void AddToSalesInformation(string dateOfPurchase, string price, string licenseNumber)
        {
            Sale s = new Sale(dateOfPurchase, price);

            s.AddLicenseNumber(licenseNumber);
            SalesInformation.Add(s);
            DateOfPurchaise = dateOfPurchase;
        }
示例#8
0
        private bool SalesInformationExists(int id)
        {
            bool             result  = false;
            SalesInformation product = salesInformationService.GetById(id);

            if (product != null)
            {
                result = true;
            }
            return(result);
        }
示例#9
0
        public IHttpActionResult UpdateSalesInformation(SalesInformation s_SalesInformation)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            _SalesInformationService.Update(s_SalesInformation);

            return(CreatedAtRoute("DefaultApi", new { id = s_SalesInformation.SalesID }, s_SalesInformation));
        }
示例#10
0
        public IHttpActionResult GetSalesInformation(int id)
        {
            SalesInformation s_SalesInformation = _SalesInformationService.GetById(id);

            if (s_SalesInformation == null)
            {
                return(NotFound());
            }

            return(Ok(s_SalesInformation));
        }
示例#11
0
 public bool Delete(SalesInformation aS_SalesInformation)
 {
     try
     {
         repository.Update(aS_SalesInformation);
         return(true);
     }
     catch
     {
         return(false);
     }
 }
示例#12
0
        public IHttpActionResult AddSalesInformation(SalesInformation s_SalesInformation)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }



            _SalesInformationService.Add(s_SalesInformation);


            return(StatusCode(HttpStatusCode.NoContent));
        }
示例#13
0
 public bool Add(SalesInformation aS_SalesInformation)
 {
     try
     {
         aS_SalesInformation.Status = 1;
         repository.Add(aS_SalesInformation);
         unitOfWork.Commit();
         return(true);
     }
     catch
     {
         return(false);
     }
 }
示例#14
0
 public bool Update(SalesInformation aS_SalesInformation)
 {
     try
     {
         aS_SalesInformation.ModifiedBy = 1;
         aS_SalesInformation.ModifiedOn = DateTime.Now;
         repository.Update(aS_SalesInformation);
         unitOfWork.Commit();
         return(true);
     }
     catch
     {
         return(false);
     }
 }
示例#15
0
        public IActionResult CompleteCartSales(int id, int paymentTypeId)
        {
            Cart cart = new Cart();

            cart = cartService.GetById(id);
            int total = 0;

            foreach (var item in cart.CartProducts)
            {
                total += item.ProductAmount * item.Product.Price;
            }
            SalesInformation salesInfo = new SalesInformation()
            {
                CartId = cart.Id, PaymentTypeId = paymentTypeId, TotalPrice = total
            };

            cartService.UpdateAndSalesInformationAdd(cart, salesInfo);
            return(RedirectToAction(nameof(Index), "Products"));
        }
        public void Insert(SalesInformation sale)
        {
            SalesInformation newSale = new SalesInformation();

            var repo = GetSales();

            newSale.CustomerName    = sale.CustomerName;
            newSale.CustomerPhone   = sale.CustomerPhone;
            newSale.CustomerEmail   = sale.CustomerEmail;
            newSale.CustomerStreet1 = sale.CustomerStreet1;
            newSale.CustomerStreet2 = sale.CustomerStreet2;
            newSale.CustomerCity    = sale.CustomerCity;
            newSale.CustomerState   = sale.CustomerState;
            newSale.CustomerZip     = sale.CustomerZip;
            newSale.PurchasePrice   = sale.PurchasePrice;
            newSale.PurchaseTypeID  = sale.PurchaseTypeID;
            newSale.VehicleID       = sale.VehicleID;
            newSale.Id           = sale.Id;
            newSale.PurchaseDate = sale.PurchaseDate;

            repo.Insert(newSale.SalesID, newSale);
        }
示例#17
0
        public List <SalesInformation> GetAllSalesInformation()
        {
            List <SalesInformation> _salesInformation = new List <SalesInformation>();

            using (SqlConnection conn = new SqlConnection())
            {
                conn.ConnectionString = ConfigurationManager.ConnectionStrings["CarDealership"].ConnectionString;
                SqlCommand cmd = new SqlCommand();
                cmd.Connection  = conn;
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.CommandText = "GetAllSalesInformation";

                conn.Open();
                using (SqlDataReader dr = cmd.ExecuteReader())
                {
                    while (dr.Read())
                    {
                        SalesInformation currentRow = new SalesInformation();

                        currentRow.Name            = dr["Name"].ToString();
                        currentRow.Email           = dr["CustomerEmail"].ToString();
                        currentRow.Phone           = dr["Phone"].ToString();
                        currentRow.Street1         = dr["Street1"].ToString();
                        currentRow.Street2         = dr["Street2"].ToString();
                        currentRow.City            = dr["City"].ToString();
                        currentRow.StateId         = dr["StateId"].ToString();
                        currentRow.Zipcode         = dr["Zipcode"].ToString();
                        currentRow.PurchasePrice   = (int)dr["PurchasePrice"];
                        currentRow.SoldBy          = dr["Email"].ToString();
                        currentRow.InventoryNumber = (int)dr["InventoryNumber"];
                        currentRow.PurchaseType    = dr["PurchaseType"].ToString();
                        currentRow.PurchaseDate    = (DateTime)dr["PurchaseDate"];
                        _salesInformation.Add(currentRow);
                    }
                }
            }
            return(_salesInformation);
        }
 public string Delete(SalesInformation entity)
 {
     _unitOfWork.BeginTransaction();
     _unitOfWork.efSalesInformationDal.Delete(entity);
     return(_unitOfWork.CommitSaveChanges());
 }
示例#19
0
        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));
            }
        }