public static void ADOCanAddCustomer() { Customers customerToAdd = new Customers(); var repo = new CustomersRepositoryADO(); customerToAdd.StateId = "IL"; customerToAdd.CustomerFirstName = "Sally"; customerToAdd.CustomerLastName = "Rogers"; customerToAdd.CustomerPhone = "333-333-3333"; customerToAdd.CustomerEmail = "sallyrogers @test3.com"; customerToAdd.CustomerStreet1 = "Test3 Street1"; customerToAdd.CustomerStreet2 = ""; customerToAdd.CustomerCity = "Test 3 City"; customerToAdd.CustomerZipCode = "33333"; repo.AddCustomer(customerToAdd); var customers = repo.GetAllCustomers().ToList(); Assert.IsNotNull(customers[4]); Assert.AreEqual(5, customers.Count); Assert.AreEqual(5, customers[4].CustomerId); Assert.AreEqual("IL", customers[4].StateId); Assert.AreEqual("Sally", customers[4].CustomerFirstName); Assert.AreEqual("Rogers", customers[4].CustomerLastName); Assert.AreEqual("333-333-3333", customers[4].CustomerPhone); Assert.AreEqual("sallyrogers @test3.com", customers[4].CustomerEmail); Assert.AreEqual("Test3 Street1", customers[4].CustomerStreet1); Assert.AreEqual("", customers[4].CustomerStreet2); Assert.AreEqual("Test 3 City", customers[4].CustomerCity); Assert.AreEqual("33333", customers[4].CustomerZipCode); }
public void ADOCanLoadCustomers() { var repo = new CustomersRepositoryADO(); var customers = repo.GetAllCustomers(); Assert.AreEqual(4, customers.Count); Assert.AreEqual(2, customers[1].CustomerId); Assert.AreEqual("MO", customers[1].StateId); Assert.AreEqual("Joe", customers[1].CustomerFirstName); Assert.AreEqual("Baker", customers[1].CustomerLastName); Assert.AreEqual("222-222-2222", customers[1].CustomerPhone); Assert.AreEqual("*****@*****.**", customers[1].CustomerEmail); Assert.AreEqual("Test2 Street1", customers[1].CustomerStreet1); Assert.AreEqual("Test2 Street2", customers[1].CustomerStreet2); Assert.AreEqual("Test2City", customers[1].CustomerCity); Assert.AreEqual("22222", customers[1].CustomerZipCode); }
public void Insert(Customer customer, Purchase purchase, Address address) { var customerRepo = new CustomersRepositoryADO(); var addressRepo = new AddressesRepositoryADO(); var purchaseCustomer = customerRepo.GetAll().Where(c => c.FirstName.ToLower() == customer.FirstName.ToLower() && c.LastName.ToLower() == customer.LastName.ToLower()).ToList(); var customerAddress = addressRepo.GetAll().Where(a => a.StreetAddress1 == address.StreetAddress1 && a.StreetAddress2 == address.StreetAddress2 && a.City == address.City && a.StateId == address.StateId && a.ZipCode == address.ZipCode).ToList(); if (purchaseCustomer.Count() == 0) { if (customerAddress.Count() > 0) { address = customerAddress.FirstOrDefault(); } customerRepo.Insert(customer, address); customer = customerRepo.GetAll().Where(c => c.FirstName.ToLower() == customer.FirstName.ToLower() && c.LastName.ToLower() == customer.LastName.ToLower()).FirstOrDefault(); } else { if (customerAddress.Count() == 0) { addressRepo.Insert(address); customer.AddressId = addressRepo.GetAll().Where(a => a.StreetAddress1 == address.StreetAddress1 && a.StreetAddress2 == address.StreetAddress2 && a.City == address.City && a.StateId == address.StateId && a.ZipCode == address.ZipCode).FirstOrDefault().AddressId; } customer.CustomerId = purchaseCustomer.FirstOrDefault().CustomerId; customerRepo.Update(customer); customer = customerRepo.GetAll().Where(c => c.FirstName.ToLower() == customer.FirstName.ToLower() && c.LastName.ToLower() == customer.LastName.ToLower()).FirstOrDefault(); } using (var cn = new SqlConnection(Settings.GetConnectionString())) { SqlCommand cmd = new SqlCommand("PurchasesInsert", cn); cmd.CommandType = CommandType.StoredProcedure; SqlParameter param = new SqlParameter("@PurchaseId", SqlDbType.Int); param.Direction = ParameterDirection.Output; cmd.Parameters.Add(param); cmd.Parameters.AddWithValue("@CustomerId", customer.CustomerId); cmd.Parameters.AddWithValue("@VehicleId", purchase.VehicleId); cmd.Parameters.AddWithValue("@PurchaseDate", DateTime.Now.ToShortDateString()); cmd.Parameters.AddWithValue("@PurchasePrice", purchase.PurchasePrice); cmd.Parameters.AddWithValue("@PurchaseTypeId", purchase.PurchaseTypeId); cmd.Parameters.AddWithValue("@EmployeeId", purchase.EmployeeId); cn.Open(); cmd.ExecuteNonQuery(); purchase.PurchaseId = (int)param.Value; } }