//See Page 70 et seq (I have switched to the code-first database) //NB I have changed te entity names to Purchase and Customer, rather than the confusing plural versions //used in the model-first example private void btnAdd_Click(object sender, EventArgs e) { Purchase p = new Purchase() { Amount = new Decimal(5.24), PurchaseDate = DateTime.Now }; Customer c = new Customer() { CustomerName = "The Famous Eccles" }; using (RewardsContext ctx = new RewardsContext()) { ctx.Customers.Add(c); ctx.Purchases.Add(p); ctx.SaveChanges(); MessageBox.Show("Record Added"); //Rewards.RewardsContext } }
private void btnAdd_Click(object sender, EventArgs e) { //Create a new purchase Purchase NewPurchase = new Purchase() { Amount = new Decimal(5.99), PurchaseDate = DateTime.Now }; //Create a new customer and add the purchase Customer NewCustomer = new Customer() { CustomerName = "Josh Bailey" }; //Create the context using (RewardsContext ctx = new RewardsContext()) { ctx.Customers.Add(NewCustomer); ctx.Purchases.Add(NewPurchase); ctx.SaveChanges(); MessageBox.Show("Record added"); } }
static void Main(string[] args) { //Create a new purchase Purchase NewPurchase = new Purchase() { Amount = new Decimal(18.65), PurchaseDate = DateTime.Now }; //Create a new customer and add the purchase Customer NewCustomer = new Customer() { CustomerName = "Henry Crun" }; //Create the context using (RewardsContext ctx = new RewardsContext()) { ctx.Customers.Add(NewCustomer); ctx.Purchases.Add(NewPurchase); ctx.SaveChanges(); Console.WriteLine("Record Added"); Console.ReadKey(); } }
public Option <int> GetPoints(int customerId) { using (var context = new RewardsContext(contextOptions)) { var reward = context.Rewards .Where(r => r.CustomerID == customerId) .FirstOrDefault(); return(reward == null ? Option <int> .CreateEmpty() : Option <int> .Create(reward.TotalPoints)); } }
//Page 86 private void btnQuery_Click(object sender, EventArgs e) { using (RewardsContext ctx = new RewardsContext()) { ObjectContext octx = //Define a command string for making the query string EntitySQLCmd = "SELECT VALUE CustomerList " + "FROM ctx.Customers " + "AS CustomerList"; //Create a query object ObjectQuery <Customer> Query = new ObjectQuery <Customer>(EntitySQLCmd, ctx); } }
private void btnAdd_Click(object sender, EventArgs e) { Purchase p = new Purchase() { Amount = new Decimal(89.547), PurchaseDate = DateTime.Parse("5/8/1956 15:26") }; Customer c = new Customer() { CustomerName = "Fred Cringinnut", }; using (RewardsContext ctx = new RewardsContext()) { ctx.Customers.Add(c); ctx.Purchases.Add(p); ctx.SaveChanges(); MessageBox.Show("Record added"); } }
public void Redeem(int customerId, int points) { using (var context = new RewardsContext(contextOptions)) { var reward = context.Rewards .Where(r => r.CustomerID == customerId) .FirstOrDefault(); // todo: Need to throw right Exception if (reward == null) { throw new InvalidOperationException(string.Format("There are no rewards for customer Id: {0}", customerId)); } if (reward.TotalPoints < points) { throw new InvalidOperationException(string.Format(" Can't Redeem points. Pointts to redeem {0} is more than holding points {1}", points, reward.TotalPoints)); } // todo: Need to handle Redeem and Add points simultaneously case. reward.TotalPoints -= points; context.SaveChanges(); } }
public void AddPoints(int customerId, int points) { using (var context = new RewardsContext(contextOptions)) { var reward = context.Rewards .Where(r => r.CustomerID == customerId) .FirstOrDefault(); if (reward == null) { reward = new Reward { CustomerID = customerId }; context.Rewards.Add(reward); } // todo: Need to handle Redeem and Add points simultaneously case. reward.TotalPoints += points; context.SaveChanges(); } }