static void Main(string[] args) { Database.SetInitializer(new DropCreateDatabaseIfModelChanges<SalesContext>()); using (var context = new SalesContext()) { Customer customer = new Customer { Name = "Michael Tsai" }; context.Customers.Add(customer); context.SaveChanges(); Console.WriteLine(context.Customers.First().Name); } //BankAccount wallet = new BankAccount //{ // Balance = 100 //}; }
private void newSaleButton_Click(object sender, EventArgs e) { var personId = (int)peopleComboBox.SelectedValue; var regionId = (int)regionComboBox.SelectedValue; var sale = new Sale { Amount = newAmountNumericUpDown.Value, Date = newDateDateTimePicker.Value, PersonId = personId, RegionId = regionId }; using (var context = new SalesContext()) { context.Sales.Add(sale); var result = context.SaveChanges(); MessageBox.Show(string.Format("{0} sales created.", result)); } GetSales(); }
private void salesDataGridView_CellEndEdit(object sender, DataGridViewCellEventArgs e) { if (e.ColumnIndex == 1) { var salesId = (int)salesDataGridView.Rows[e.RowIndex].Cells[0].Value; var amount = (decimal)salesDataGridView.Rows[e.RowIndex].Cells[1].Value; using (var context = new SalesContext()) { var sale = context.Sales.SingleOrDefault(p => p.Id == salesId); if (sale != null) { sale.Amount = amount; var result = context.SaveChanges(); MessageBox.Show(string.Format("{0} sales created.", result)); GetSales(); } } } }
public override async Task Add(Sale sale) { var transaction = _context.Database.BeginTransaction(); var product = _context.Products.Find(sale.ProductId); if (product == null || product.QuantityOnHand <= 0) { throw new NotSupportedException("Product is not available"); } try { product.QuantityOnHand -= 1; _context.SaveChanges(); sale.SalesDate = DateTimeOffset.Now; await _entities.AddAsync(sale); await transaction.CommitAsync(); } catch { await transaction.RollbackAsync(); throw new Exception("Sale could not be added"); } }
private void SalesdataGridView1_UserDeletingRow(object sender, DataGridViewRowCancelEventArgs e) { if (MessageBox.Show("Are you sure you want to delete this sale?", "Delete", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.No) { e.Cancel = true; return; } var SalesId = (int)e.Row.Cells[0].Value; using (var context = new SalesContext()) { var sale = context.Sales.SingleOrDefault(p => p.Id == SalesId); if (sale != null) { context.Sales.Remove(sale); var result = context.SaveChanges(); MessageBox.Show(string.Format("{0} sales deleted", result)); } } }
public JsonResult Save(SalesOrderViewModel _salesOrderViewModel) { SalesOrder salesOrder = new SalesOrder(); salesOrder.SalesOrderId = _salesOrderViewModel.SalesOrderId; salesOrder.CustomerName = _salesOrderViewModel.CustomerName; salesOrder.PONumber = _salesOrderViewModel.PONumber; salesOrder.ObjectState = _salesOrderViewModel.ObjectState; _salesContext.SalesOrders.Attach(salesOrder); _salesContext.ChangeTracker.Entries <IObjectWithState>().Single().State = Helper.ConvertState(salesOrder.ObjectState); _salesContext.SaveChanges(); if (salesOrder.ObjectState == ObjectState.Deleted) { return(Json(new { newLocation = "/Sales/Index/" })); } _salesOrderViewModel.MessageToClient = string.Format("{0}'s sales order has been added", salesOrder.CustomerName); _salesOrderViewModel.SalesOrderId = salesOrder.SalesOrderId; _salesOrderViewModel.ObjectState = ObjectState.Unchanged; return(Json(new { _salesOrderViewModel })); }
private void SalesDataGridView_UserDeletingRow(object sender, DataGridViewRowCancelEventArgs e) { if (MessageBox.Show("Delete sale?", "Delete", MessageBoxButtons.YesNo) == DialogResult.No) { e.Cancel = true; return; } var salesId = (int)e.Row.Cells[0].Value; var personnId = (int)peopleComboBox.SelectedValue; using (var context = new SalesContext()) { var sale = context.Sales .SingleOrDefault(s => s.Id == salesId); if (sale != null) { context.Sales.Remove(sale); var result = context.SaveChanges(); MessageBox.Show($"{result} sales deleted."); } } }
//Actualizar - Modificar public static bool Actualizar(Customer customer) { bool exito = true; try { using (var data = new SalesContext()) { var customerNow = Obtener(customer.Id); customerNow.FirstName = customer.FirstName; customerNow.LastName = customer.LastName; customerNow.City = customer.City; customerNow.Country = customer.Country; customer.Phone = customer.Phone; data.SaveChanges(); } } catch (Exception) { exito = false; } return(exito); }
public void TestSalesContextNoEmpty() { /* ================== Montando Cenario =================== */ var options = new DbContextOptionsBuilder <SalesContext>() .UseInMemoryDatabase(databaseName: "ConnectionTest").Options; /* ================== Execucao =================== */ using (var ctx = new SalesContext(options)) { ctx.Sellers.Add(new Domain.Models.Seller { Id = 1, FirstName = "Sergio", LastName = "Murillo" }); ctx.SaveChanges(); /* ================== Verificacao =================== */ // Testando com Assert //Assert.NotEmpty(ctx.Sellers.ToList()); // Testando com FluentAssertions ctx.Sellers.ToList().Should().BeEmpty(ctx.Sellers.ToList().ToString(), $"O objeto esperado não corresponde com ao objeto obtido ({ctx.Sellers.ToList().ToString()})"); } }
public void Insert(Seller obj) { _context.Add(obj); _context.SaveChanges(); }
public JsonResult Save(SalesOrderViewModel salesOrderViewModel) { if (!ModelState.IsValid) { throw new ModelStateException(ModelState); } SalesOrder salesOrder = ViewModelHelpers.CreateSalesOrderFromSalesOrderViewModel(salesOrderViewModel); _salesContext.SalesOrders.Attach(salesOrder); if (salesOrder.ObjectState == ObjectState.Deleted) { //if deleting the order, must set all children to also be deleted foreach (var itemViewModel in salesOrder.Items) { var item = _salesContext.SalesOrderItems.Find(itemViewModel.Id); if (item != null) { item.ObjectState = ObjectState.Deleted; } } } else { //check to see if the client deleted any items in the order foreach (var itemIdToDelete in salesOrderViewModel.ItemsToDelete) { //retrieve item to be deleted SalesOrderItem item = _salesContext.SalesOrderItems.Find(itemIdToDelete); if (item != null) { item.ObjectState = ObjectState.Deleted; } } } _salesContext.ApplyStateChanges(); string msgToClient = string.Empty; try { _salesContext.SaveChanges(); } catch (DbUpdateConcurrencyException) { msgToClient = "Another user has modified this sales order since you began looking at it. Your changes have not been applied and your screen has been updated with the current values."; } catch (Exception ex) { throw new ModelStateException(ex); } if (salesOrder.ObjectState == ObjectState.Deleted) { //when deleting, do not return a view, tell the client to go to the Index instead //(we will program the client to look for this anonymous object) return(Json(new { newLocation = "/Sales/Index/" })); } //only assign msg here if no other msg assigned yet if (string.IsNullOrWhiteSpace(msgToClient)) { msgToClient = ViewModelHelpers.GetMessageToClient( salesOrderViewModel.ObjectState, salesOrderViewModel.CustomerName); } //save a copy of the id salesOrderViewModel.Id = salesOrder.Id; //dispose context to refresh data (someone else may have changed data) _salesContext.Dispose(); _salesContext = new SalesContext(); //refresh with latest data salesOrder = _salesContext.SalesOrders.Find(salesOrderViewModel.Id); salesOrderViewModel = ViewModelHelpers.CreateSalesOrderViewModelFromSalesOrder(salesOrder); salesOrderViewModel.MessageToClient = msgToClient; //return anonymous JSON object, not view model directly return(Json(new { salesOrderViewModel })); }
public void Insert(Seller seller) { _context.Add(seller); _context.SaveChanges(); }
public ActionResult Create(Customer Cust) { objContext.Customers.Add(Cust); objContext.SaveChanges(); return(RedirectToAction("Index")); }
public void Add(Invoice item) { item.Status = Status.Pending; _context.Invoices.Add(item); _context.SaveChanges(); }
public async Task <Category> Insert(Category ca) { _dbContext.Categories.Add(ca); _dbContext.SaveChanges(); return(ca); }
public void SaveContext() { salesContext.SaveChanges(); }
protected override void Seed(SalesContext context) { context.Products.AddOrUpdate( p => p.Name, new Product { Name = "CocaCola", Quantity = 100, Price = 1.78m, }, new Product { Name = "Fant", Quantity = 50, Price = 1.79m, }, new Product { Name = "Victory", Quantity = 67, Price = 2.8m, }, new Product { Name = "Milka", Quantity = 10, Price = 0.8m, }); context.SaveChanges(); context.Customers.AddOrUpdate( c => c.CreditCardNumber, new Customer { Name = "Ivan", Email = "*****@*****.**", CreditCardNumber = "456789098" }, new Customer { Name = "Maira", Email = "*****@*****.**", CreditCardNumber = "123434676" }, new Customer { Name = "Pesho", Email = "*****@*****.**", CreditCardNumber = "455468678" }, new Customer { Name = "Sasho", Email = "*****@*****.**", CreditCardNumber = "84322145" }); context.SaveChanges(); context.StoresLocation.AddOrUpdate( s => s.LocationName, new StoreLocation { LocationName = "Sofia" }, new StoreLocation { LocationName = "Plovdiv" }, new StoreLocation { LocationName = "Varna" }, new StoreLocation { LocationName = "Burgas" }); context.SaveChanges(); if (!context.Sales.Any()) { context.Sales.AddOrUpdate( s => s.Id, new Sale { ProductId = 1, CustomerId = 1, StoreLocationId = 2, Date = new DateTime(2016, 01, 01) }, new Sale { ProductId = 2, CustomerId = 4, StoreLocationId = 1, Date = new DateTime(2016, 05, 11) }, new Sale { ProductId = 3, CustomerId = 3, StoreLocationId = 3, Date = new DateTime(2016, 11, 06) }, new Sale { ProductId = 4, CustomerId = 2, StoreLocationId = 4, Date = new DateTime(2016, 02, 09) }); context.SaveChanges(); } // This method will be called after migrating to the latest version. // You can use the DbSet<T>.AddOrUpdate() helper extension method // to avoid creating duplicate seed data. E.g. // // context.People.AddOrUpdate( // p => p.FullName, // new Person { FullName = "Andrew Peters" }, // new Person { FullName = "Brice Lambson" }, // new Person { FullName = "Rowan Miller" } // ); // }
public void AddSale(Sale sale) { _salesContext.Add(sale); _salesContext.SaveChanges(); }
public JsonResult Save(SalesOrderViewModel vm) { if (ModelState.IsValid == false) { throw new ModelStateException(ModelState); } SalesOrder salesOrder = AppHelpers.CreateSalesOrderFromSalesOrderViewModel(vm); _salesContext.SalesOrders.Attach(salesOrder); if (salesOrder.ObjectState == ObjectState.Deleted) { foreach (SalesOrderItemViewModel orderItem in vm.SalesOrderItems) { SalesOrderItem itemToDelete = _salesContext.SalesOrderItems.Find(orderItem.Id); if (itemToDelete != null) { itemToDelete.ObjectState = ObjectState.Deleted; } } } else { foreach (int itemId in vm.SalesOrderItemsToDelete) { SalesOrderItem itemToDelete = _salesContext.SalesOrderItems.Find(itemId); if (itemToDelete != null) { itemToDelete.ObjectState = ObjectState.Deleted; } } } _salesContext.ApplyStateChanges();// .ChangeTracker.Entries<IObjectWithState>().Single().State = Helpers.ConvertState(salesOrder.ObjectState); string messageToClient = string.Empty; try { _salesContext.SaveChanges(); } catch (DbUpdateConcurrencyException ex) { messageToClient = "Someone else have modified this sales order since you retrieved it. Your changes have not been applied. What you see now are the current values in the database."; } catch (Exception ex) { throw new ModelStateException(ex); } if (vm.ObjectState == ObjectState.Deleted) { return(Json(new { newLocation = "/Sales/Index/" })); } if (string.IsNullOrWhiteSpace(messageToClient)) { messageToClient = AppHelpers.GetMessageToClient(vm.ObjectState, salesOrder.CustomerName, salesOrder.Id); } vm.Id = salesOrder.Id; _salesContext.Dispose(); _salesContext = new SalesContext(); salesOrder = _salesContext.SalesOrders.Find(vm.Id); vm = AppHelpers.CreateSalesOrderViewModelFromSalesOrder(salesOrder); //.SalesOrderId = salesOrder.SalesOrderId; vm.MessageToClient = messageToClient; return(Json(new { salesOrderViewModel = vm })); }
protected override void Seed(SalesContext context) { // This method will be called after migrating to the latest version. // Products context.Products.AddOrUpdate(p => p.Name, new Product() { Name = "Tesla", Quantity = 1, Price = 100000m }, new Product() { Name = "Samsung Galaxy S7", Quantity = 1, Price = 1500m }, new Product() { Name = "Book", Quantity = 1, Price = 25m }, new Product() { Name = "Lenovo Y50 Laptop", Quantity = 1, Price = 2500m }, new Product() { Name = "Concert Alex Penda", Quantity = 1, Price = 100m }); // Customers // Uncomment for Problems 3, 4, 5 // Disable for Problem 6 ! //context.Customers.AddOrUpdate(c => c.Email, // new Customer() // { // Name = "Tom", // Email = "*****@*****.**", // CreditCardNumber = "123456789123456" // }, // new Customer() // { // Name = "Tea", // Email = "*****@*****.**", // CreditCardNumber = "789456123111111" // }, // new Customer() // { // Name = "Nia", // Email = "*****@*****.**", // CreditCardNumber = "777888999111222" // }, // new Customer() // { // Name = "Ralph", // Email = "*****@*****.**", // CreditCardNumber = "666666666666666" // }, // new Customer() // { // Name = "Steve", // Email = "*****@*****.**", // CreditCardNumber = "4444455555556666" // }); // Uncomment for Problem 6 context.Customers.AddOrUpdate(c => c.Email, new Customer() { FirstName = "Tom", LastName = "Edvards", Email = "*****@*****.**", CreditCardNumber = "123456789123456" }, new Customer() { FirstName = "Tea", LastName = "Nielsen", Email = "*****@*****.**", CreditCardNumber = "789456123111111" }, new Customer() { FirstName = "Nia", LastName = "Barnes", Email = "*****@*****.**", CreditCardNumber = "777888999111222" }, new Customer() { FirstName = "Ralph", LastName = "Finnes", Email = "*****@*****.**", CreditCardNumber = "666666666666666" }, new Customer() { FirstName = "Steve", LastName = "Jobs", Email = "*****@*****.**", CreditCardNumber = "4444455555556666" }); // StoreLocations context.StoreLocations.AddOrUpdate(l => l.LocationName, new StoreLocation() { LocationName = "Sofia" }, new StoreLocation() { LocationName = "Lisboa" }, new StoreLocation() { LocationName = "Barcelona" }, new StoreLocation() { LocationName = "Munchen" }, new StoreLocation() { LocationName = "Rotterdam" }); context.SaveChanges(); // Sales context.Sales.AddOrUpdate(s => s.Id, new Sale() { Product = context.Products.FirstOrDefault(p => p.Name.StartsWith("Tesla")), Customer = context.Customers.FirstOrDefault(c => c.Email.StartsWith("steve")), Date = DateTime.Now, StoreLocation = context.StoreLocations.FirstOrDefault(l => l.LocationName == "Sofia") }, new Sale() { Product = context.Products.FirstOrDefault(p => p.Name.StartsWith("Samsung")), Customer = context.Customers.FirstOrDefault(c => c.Email.StartsWith("ralph")), Date = DateTime.Now, StoreLocation = context.StoreLocations.FirstOrDefault(l => l.LocationName == "Lisboa") }, new Sale() { Product = context.Products.FirstOrDefault(p => p.Name.StartsWith("Book")), Customer = context.Customers.FirstOrDefault(c => c.Email.StartsWith("nia")), Date = DateTime.Now, StoreLocation = context.StoreLocations.FirstOrDefault(l => l.LocationName == "Barcelona") }, new Sale() { Product = context.Products.FirstOrDefault(p => p.Name.StartsWith("Lenovo")), Customer = context.Customers.FirstOrDefault(c => c.Email.StartsWith("tea")), Date = DateTime.Now, StoreLocation = context.StoreLocations.FirstOrDefault(l => l.LocationName == "Rotterdam") }, new Sale() { Product = context.Products.FirstOrDefault(p => p.Name.StartsWith("Concert")), Customer = context.Customers.FirstOrDefault(c => c.Email.StartsWith("tom")), Date = DateTime.Now, StoreLocation = context.StoreLocations.FirstOrDefault(l => l.LocationName == "Munchen") }); base.Seed(context); }
private void buttonUpdate_Click(object sender, EventArgs e) { int userID = 0; if (userView.Rows.Count > 0) { userView.Rows[userView.CurrentCell.RowIndex].Selected = true; if (userView.SelectedRows[0].Cells[0].Value != DBNull.Value) { userID = (Int32)userView.SelectedRows[0].Cells[0].Value; } var newUser = stx.Customers.First(c => c.Id == userID); var thisUser = userView.SelectedRows; foreach (DataGridViewRow cell in thisUser) { if (string.IsNullOrEmpty(cell.Cells[1].Value.ToString())) { MessageBox.Show("enter a first Name"); } else { newUser.FirstName = cell.Cells[1].Value.ToString(); } if (string.IsNullOrEmpty(cell.Cells[2].Value.ToString())) { MessageBox.Show("enter a last Name"); } else { newUser.LastName = cell.Cells[2].Value.ToString(); } if (string.IsNullOrEmpty(cell.Cells[3].Value.ToString())) { newUser.City = null; } else { newUser.City = cell.Cells[3].Value.ToString(); } if (string.IsNullOrEmpty(cell.Cells[4].Value.ToString())) { newUser.Country = null; } else { newUser.Country = cell.Cells[4].Value.ToString(); } if (string.IsNullOrEmpty(cell.Cells[5].Value.ToString())) { newUser.Phone = null; } else { newUser.Phone = cell.Cells[5].Value.ToString(); } } stx.SaveChanges(); getUsers(); } else { MessageBox.Show("to update a row please search then select a row"); } }
public ActionResult Create(Order ord) { objContext.Orders.Add(ord); objContext.SaveChanges(); return(RedirectToAction("Index")); }
public void Save() { _salesContext.SaveChanges(); }
static void Main() { SalesContext contex = new SalesContext(); contex.SaveChanges(); }
public async Task Consume(ConsumeContext <SubmitOrderCommand> context) { _logger.LogInformation($"Processing order for customer '{context.Message.CustomerId}'."); var customer = await _dataService.GetCustomerAsync(context.Message.CustomerId); if (customer == null) { // probably we want to log this _logger.LogWarning($"Submitted invalid order for customer {context.Message.CustomerId}. No such customer"); return; } var products = await _dataService.GetProductsAsync(); var order = new Order() { CustomerId = context.Message.CustomerId, Status = OrderStatus.Submitted }; double total = 0.0; foreach (var item in context.Message.Items) { var product = products.FirstOrDefault(t => t.ProductId == item.ProductId); if (product != null) { total += item.Quantity * product.Price; order.Items.Add(new OrderItem() { ProductId = item.ProductId, Quantity = item.Quantity, Name = product.Name, Price = product.Price }); } } // Business rule if (total > 100) { total = total * .9; // 10% off _logger.LogInformation($"Applying bonus for customer {customer.CustomerId} for the total amount of {total}"); } order.Total = total; _salesContext.Orders.Add(order); _salesContext.SaveChanges(); _logger.LogInformation($"Created order {order.OrderId} for customer {customer.CustomerId} for the total amount of {order.Total}"); await context.Publish(new OrderSubmittedEvent() { CorrelationId = context.Message.CorrelationId, CustomerId = customer.CustomerId, OrderId = order.OrderId, Total = order.Total, Products = order.Items.Select(t => new SubmittedOrderItem() { ProductId = t.ProductId, Quantity = t.Quantity }).ToArray() }); }
public async Task Consume(ConsumeContext <SubmitOrderCommand> context) { _logger.LogInformation($"正在处理顾客 '{context.Message.CustomerId}' 的订单"); var customer = await _dataService.GetCustomerAsync(context.Message.CustomerId); if (customer == null) { // probably we want to log this _logger.LogWarning($"来自顾客 {context.Message.CustomerId} 的订单不正确,系统中不存在这个顾客"); return; } var products = await _dataService.GetProductsAsync(); var order = new Order() { CustomerId = context.Message.CustomerId, Status = OrderStatus.Submitted }; double total = 0.0; foreach (var item in context.Message.Items) { var product = products.FirstOrDefault(t => t.ProductId == item.ProductId); if (product != null) { total += item.Quantity * product.Price; order.Items.Add(new OrderItem() { ProductId = item.ProductId, Quantity = item.Quantity, Name = product.Name, Price = product.Price }); } } // Business rule if (total > 100) { total = total * .9; // 10% off _logger.LogInformation($"为顾客 {customer.CustomerId} 的订单使用折扣后,总金额为 {total}"); } order.Total = total; _salesContext.Orders.Add(order); _salesContext.SaveChanges(); _logger.LogInformation($"已创建顾客 {customer.CustomerId} 的新订单,订单号为 {order.OrderId},总金额 {order.Total}"); await context.Publish(new OrderSubmittedEvent() { CorrelationId = context.Message.CorrelationId, CustomerId = customer.CustomerId, OrderId = order.OrderId, Total = order.Total, Products = order.Items.Select(t => new SubmittedOrderItem() { ProductId = t.ProductId, Quantity = t.Quantity }).ToArray() }); }
public void SaveChanges() { _context.SaveChanges(); }
public JsonResult Save(SalesOrderViewModel salesOrderViewModel) { SalesOrder salesOrder = SalesOrderHelper.CreateSalesOrderFromSalesOrderViewModel(salesOrderViewModel); salesOrder.ObjectState = salesOrderViewModel.ObjectState; //instead of hard coding salesOrder as an add, attach it instead _salesContext.SalesOrders.Attach(salesOrder); //Check to see if objectstate for the salesorder is delete if (salesOrder.ObjectState == ObjectState.Deleted) { //Loop through all the salesorderitems in the view model and set their object state to deleted foreach (SalesOrderItemViewModel salesOrderItemViewModel in salesOrderViewModel.SalesOrderItems) { SalesOrderItem salesOrderItem = _salesContext.SalesOrderItems.Find(salesOrderItemViewModel.SalesOrderItemId); if (salesOrderItem != null) { salesOrderItem.ObjectState = ObjectState.Deleted; } } } else { //This will loop through the SalesOrderItems marked for deleting on the client, //find the corresponding record in the context and set it to be deleted in EF foreach (int salesOrderItemId in salesOrderViewModel.SalesOrderItemsToDelete) { SalesOrderItem salesOrderItem = _salesContext.SalesOrderItems.Find(salesOrderItemId); if (salesOrderItem != null) { salesOrderItem.ObjectState = ObjectState.Deleted; } } } //Then you want to tell the change tracker to set the state that was returned from the helper method //created in the SolutionName.Model //_salesContext.ChangeTracker.Entries<IObjectWithState>().Single().State = // Helpers.ConvertState(salesOrder.ObjectState); _salesContext.ApplyStateChanges(); _salesContext.SaveChanges(); //Since when an item is deleted we don't want to return a aview the //Delete will return a anonymous Json object that will return a single property called new laoction //whose value is the controller action for displaying the list of sales orders. if (salesOrder.ObjectState == ObjectState.Deleted) { //This will be returned to the view we don't want to stay on we we need a way for the view //to redirect to the sales order list which is /Sales/Index. See line 34 in salesorderviewmodel.js return(Json(new { newLocation = "/Sales/Index/" })); } string messageToClient = SalesOrderHelper.GetMessageToClient(salesOrderViewModel.ObjectState, salesOrderViewModel.CustomerName); //If a record is inserted the context is synced with the ID but that is never communicated back to the client //so the SalesOrderId needs to be set with the value returned from the DB //salesOrderViewModel.SalesOrderId = salesOrder.SalesOrderId; salesOrderViewModel = ViewModels.SalesOrderHelper.CreateSalesOrderViewModelFromSalesOrder(salesOrder); salesOrderViewModel.MessageToClient = messageToClient; //to make the Json object as flexible enough for all our needs we will send back an annoymous object //that contains whatever we need to send to the client and then let the client insepct the contents to //determine what to do with it return(Json(new { salesOrderViewModel })); }