public void SaveSOHeader(SalesOrderHeader SO) { try { using (SODBContext db = new SODBContext()) { db.Entry(SO.SalesPerson).State = EntityState.Unchanged; db.Entry(SO.Customer).State = EntityState.Unchanged; db.Entry(SO.Customer.CustCity).State = EntityState.Unchanged; //db.Entry(SO.SalesOrderDetails).State = EntityState.Unchanged; db.SalesOrderHeaders.Add(SO); //db.Entry(SO).State = EntityState.Added; _SalesOrderDetail.SaveSODetail(SO.SalesOrderDetails, db); //foreach (SalesOrderDetail line in SO.SalesOrderDetails) //{ // //line.SalesOrderHeader = SO; // //db.Entry(line.SalesOrderHeader).State = EntityState.Unchanged; // db.Entry(line.Item).State = EntityState.Unchanged; // //db.Entry(line.Item.UnitofMeasure).State = EntityState.Unchanged; // //db.Entry(line.Item.ItemCategory).State = EntityState.Unchanged; // //db.Entry(line).State = EntityState.Added; // //db.Items.Attach(line.Item); // //db.UnitofMeasures.Attach(line.Item.UnitofMeasure); // //db.ItemCategories.Attach(line.Item.ItemCategory); // db.SalesOrderDetails.Add(line); //} db.Entry(SO).State = EntityState.Added; db.SaveChanges(); } } catch (Exception ex) { throw ex; } }
public void SaveSODetail(IEnumerable <SalesOrderDetail> SO, SODBContext db) { try { foreach (SalesOrderDetail line in SO) { db.Entry(line.Item).State = EntityState.Unchanged; db.SalesOrderDetails.Add(line); } } catch (Exception ex) { throw ex; } }