public void ProcessRequest(HttpContext context) { string action = context.Request["action"]; if (string.IsNullOrEmpty(action) || Store.Action(action) == StoreAction.Read) { this.ReturnData(context); return; } StoreResponseData sr = new StoreResponseData(); try { NorthwindDataContext db = new NorthwindDataContext(); StoreDataHandler dataHandler = new StoreDataHandler(context); List <Supplier> dataList = dataHandler.ObjectData <Supplier>(); StoreAction storeAction = Store.Action(action); foreach (Supplier supplier in dataList) { if (storeAction == StoreAction.Destroy) { db.Suppliers.Attach(supplier); db.Suppliers.DeleteOnSubmit(supplier); } else if (storeAction == StoreAction.Update) { db.Suppliers.Attach(supplier); db.Refresh(RefreshMode.KeepCurrentValues, supplier); } else if (storeAction == StoreAction.Create) { db.Suppliers.InsertOnSubmit(supplier); } } db.SubmitChanges(); if (storeAction != StoreAction.Destroy) { sr.Data = JSON.Serialize(dataList); sr.Return(); return; } } catch (Exception e) { sr.Success = false; sr.Message = e.Message; } sr.Return(); }
public object SaveSuppliers(string data, string action) { Response sr = new Response(true); try { NorthwindDataContext db = new NorthwindDataContext(); StoreDataHandler dataHandler = new StoreDataHandler(data); List <Supplier> dataList = dataHandler.ObjectData <Supplier>(); StoreAction storeAction = Store.Action(action); foreach (Supplier supplier in dataList) { if (storeAction == StoreAction.Destroy) { db.Suppliers.Attach(supplier); db.Suppliers.DeleteOnSubmit(supplier); } else if (storeAction == StoreAction.Update) { db.Suppliers.Attach(supplier); db.Refresh(RefreshMode.KeepCurrentValues, supplier); } else if (storeAction == StoreAction.Create) { db.Suppliers.InsertOnSubmit(supplier); } } db.SubmitChanges(); if (storeAction != StoreAction.Destroy) { return(dataList.ToList <Supplier, SerializableEntity <Supplier> >()); } } catch (Exception e) { sr.Success = false; sr.Message = e.Message; } return(sr); }