public OrderIT.Model.Order ReadOrder(int orderId) { using (var ctx = new OrderIT.Model.OrderITEntities()) { return(ctx.Orders.Include("OrderDetails").FirstOrDefault(o => o.OrderId == orderId)); } }
public CustomerDTO ReadCustomerUsingDTO(int customerId) { using (var ctx = new OrderIT.Model.OrderITEntities()) { return(ctx.Companies.OfType <OrderIT.Model.Customer>().Select(c => new CustomerDTO { BillingAddress = c.BillingAddress, CompanyId = c.CompanyId, Name = c.Name, ShippingAddress = c.ShippingAddress, Version = c.Version }).FirstOrDefault(c => c.CompanyId == customerId)); } }
/*IOrderService Interface*/ public int CreateOrder(OrderIT.Model.Order order) { using (var ctx = new OrderIT.Model.OrderITEntities()) { ctx.Orders.AddObject(order); ctx.SaveChanges(); return(order.OrderId); } }
/*ICustomerService Interface*/ public int CreateCustomer(Model.Customer customer) { using (var ctx = new OrderIT.Model.OrderITEntities()) { ctx.Companies.AddObject(customer); ctx.SaveChanges(); return(customer.CompanyId); } }
public void DeleteOrder(int orderId, byte[] version) { using (var ctx = new OrderIT.Model.OrderITEntities()) { var order = new OrderIT.Model.Order { OrderId = orderId, Version = version }; ctx.Orders.Attach(order); ctx.Orders.DeleteObject(order); ctx.SaveChanges(); } }
public Model.Customer ReadCustomer(int customerId) { using (var ctx = new OrderIT.Model.OrderITEntities()) { var result = ctx.Companies.OfType <OrderIT.Model.Customer>().FirstOrDefault(c => c.CompanyId == customerId); if (result != null) { result.WSPassword = String.Empty; } return(result); } }
public void UpdateCustomer(Model.Customer customer) { using (var ctx = new OrderIT.Model.OrderITEntities()) { ctx.Companies.Attach(customer); var entry = ctx.ObjectStateManager.GetObjectStateEntry(customer); entry.SetModifiedProperty("ShippingAddress"); entry.SetModifiedProperty("BillingAddress"); entry.SetModifiedProperty("Name"); entry.SetModifiedProperty("Version"); ctx.SaveChanges(); } }
public void UpdateCustomerUsingDTO(CustomerDTO customer) { using (var ctx = new OrderIT.Model.OrderITEntities()) { var newCustomer = new OrderIT.Model.Customer { CompanyId = customer.CompanyId, Version = customer.Version }; ctx.Companies.Attach(newCustomer); newCustomer.ShippingAddress = customer.ShippingAddress; newCustomer.BillingAddress = customer.BillingAddress; newCustomer.Name = customer.Name; ctx.SaveChanges(); } }
public void DeleteCustomer(int customerId, byte[] version) { using (var ctx = new OrderIT.Model.OrderITEntities()) { var customerToDelete = new OrderIT.Model.Customer { CompanyId = customerId, Version = version }; ctx.Companies.Attach(customerToDelete); ctx.Companies.DeleteObject(customerToDelete); ctx.SaveChanges(); } }
/*ICustomerDTOService Interface*/ public int CreateCustomerUsingDTO(CustomerDTO customer) { using (var ctx = new OrderIT.Model.OrderITEntities()) { var customerToAdd = new OrderIT.Model.Customer { BillingAddress = customer.BillingAddress, Name = customer.Name, ShippingAddress = customer.ShippingAddress, WSEnabled = false }; ctx.Companies.AddObject(customerToAdd); ctx.SaveChanges(); return(customerToAdd.CompanyId); } }
public void DeleteCustomerUsingDTO(int customerId, byte[] version) { using (var ctx = new OrderIT.Model.OrderITEntities()) { var customerToDelete = new OrderIT.Model.Customer { CompanyId = customerId, Version = version, ShippingAddress = new Model.AddressInfo(), BillingAddress = new Model.AddressInfo() }; ctx.Companies.Attach(customerToDelete); ctx.Companies.DeleteObject(customerToDelete); ctx.SaveChanges(); } }
public void UpdateOrder(OrderIT.Model.Order order) { using (var ctx = new OrderIT.Model.OrderITEntities()) { ctx.ContextOptions.ProxyCreationEnabled = false; order.OrderDetails.ForEach(d => d.OrderId = order.OrderId); var dbOrder = ctx.Orders.Include("OrderDetails").First(o => o.OrderId == order.OrderId); var AddedDetails = order.OrderDetails.Except(dbOrder.OrderDetails).ToList(); var RemovedDetails = dbOrder.OrderDetails.Except(order.OrderDetails).ToList(); var ModifiedDetails = dbOrder.OrderDetails.Intersect(order.OrderDetails).ToList(); dbOrder.ShippingAddress = order.ShippingAddress; dbOrder.Version = order.Version; AddedDetails.ForEach(d => dbOrder.OrderDetails.Add(d)); RemovedDetails.ForEach(d => ctx.OrderDetails.DeleteObject(d)); ModifiedDetails.ForEach(d => ctx.OrderDetails.ApplyCurrentValues(d)); ctx.SaveChanges(); } }