public class Customer
{
public string Id { get; set; }
public string ContactName { get; set; }
public string CompanyName { get; set; }
}
public class CustomerDataAccess
public Customer Insert(string id, string contactName, string companyName)
if (String.IsNullOrEmpty(id))
throw new ArgumentNullException("id");
if (String.IsNullOrEmpty(contactName))
throw new ArgumentNullException("contactName");
if (String.IsNullOrEmpty(companyName))
throw new ArgumentNullException("companyName");
var cnx = new SqlConnection(Properties.Settings.Default.NW);
cnx.Open();
using (cnx)
var cmd = new SqlCommand();
cmd.CommandText = "insert into Customers(CustomerID,CompanyName,ContactName) values (@Id, @Comp,@Name)";
cmd.Connection = cnx;
cmd.Parameters.AddWithValue("@Id", id);
cmd.Parameters.AddWithValue("@Comp", companyName);
cmd.Parameters.AddWithValue("@Name", contactName);
cmd.ExecuteNonQuery();
return new Customer() { Id = id, CompanyName = companyName, ContactName = contactName };
public List<Customer> GetAllCustomer()
var result = new List<Customer>();
var cmd = new SqlCommand("select CustomerID,CompanyName,ContactName from Customers");
var reader = cmd.ExecuteReader();
using (reader)
while (reader.Read())
var cust = new Customer();
cust.Id = reader.GetString(0);
cust.CompanyName = reader.GetString(1);
cust.ContactName = reader.GetString(2);
result.Add(cust);
return result;
public class CustomerLogic
public Customer Create(string customerName, string companyName)
var cda = new DataLayer.CustomerDataAccess();
var id = Guid.NewGuid().ToString("N").Substring(0, 5).ToUpper();
return cda.Insert(id, customerName, companyName);
public List<Customer> GetAllCustomers()
return cda.GetAllCustomer().OrderBy(cust => cust.ContactName).ToList();