public void ProcessRequest(HttpContext context) { //允许跨域 context.Response.AddHeader("Access-Control-Allow-Origin", "*"); JSON_MSG jsonMsg = new JSON_MSG(); try { context.Response.ContentType = "text/plain"; HttpRequest request = context.Request; StringBuilder rsb = new StringBuilder(); int bytelengg = (int)request.InputStream.Length; using (var reader = new StreamReader(request.InputStream, Encoding.UTF8)) { var read = new Char[bytelengg]; var count = reader.Read(read, 0, bytelengg); while (count > 0) { var str = new string(read, 0, count); rsb.Append(str); count = reader.Read(read, 0, bytelengg); } reader.Close(); reader.Dispose(); request.InputStream.Close(); request.InputStream.Dispose(); } if (string.IsNullOrEmpty(rsb.ToString())) { throw new Exception("参数错误."); } JsonMCE_INSTOCK entity = JsonConvert.DeserializeObject <JsonMCE_INSTOCK>(rsb.ToString()); if (string.IsNullOrEmpty(entity.CODE)) { throw new Exception("参数错误,单号不能为空."); } if (string.IsNullOrEmpty(entity.PROVIDER_ID)) { throw new Exception("参数错误,供应商不能为空."); } if (string.IsNullOrEmpty(entity.INVOICE_CODE)) { throw new Exception("参数错误,发票号不能为空."); } if (entity.children != null && entity.children.Count > 0) { foreach (JsonMCE_INSTOCK_D item in entity.children) { if (string.IsNullOrEmpty(item.USING_DEPT_ID)) { throw new Exception("参数错误,领用科室不能为空."); } if (string.IsNullOrEmpty(item.ASSET_TYPE_ID)) { throw new Exception("参数错误,设备类型不能为空."); } if (string.IsNullOrEmpty(item.ASSETS_NAME)) { throw new Exception("参数错误,设备名称不能为空."); } if (string.IsNullOrEmpty(item.SPEC)) { throw new Exception("参数错误,设备规格不能为空."); } if (item.AMOUNT <= 0) { throw new Exception("参数错误,设备数量不能为空."); } if (item.PRICE <= 0) { throw new Exception("参数错误,设备价格不能为空."); } if (string.IsNullOrEmpty(item.UNIT_ID)) { throw new Exception("参数错误,单位不能为空."); } } } else { throw new Exception("没有明细数据"); } BizLogicMsg msg = BizLogicObject_MCE_B_ASSETS_INSTOCK.Proxy.Save_Ext(entity); if (!msg.Succeed) { throw new Exception(msg.Message); } jsonMsg.Succeed = 1; jsonMsg.Message = msg.Message; //jsonMsg.Message = "提交成功."; } catch (Exception ex) { jsonMsg.Succeed = 0; jsonMsg.Message = ex.Message; } finally { context.Response.Write(JsonConvert.SerializeObject(jsonMsg)); context.Response.End(); } }
public BizLogicMsg Save_Ext(JsonMCE_INSTOCK jsonMCE_INSTOCK) { if (LocalMode) { BizLogicMsg msg = new BizLogicMsg(); using (IDbConnection connection = IDALProvider.IDAL.PopConnection()) { using (IDbTransaction transaction = connection.BeginTransaction()) { try { EntityObject_MCE_B_ASSETS_INSTOCK entity = new EntityObject_MCE_B_ASSETS_INSTOCK(); if (!string.IsNullOrEmpty(jsonMCE_INSTOCK.ID)) { entity.ID = jsonMCE_INSTOCK.ID; entity = HelperObject_MCE_B_ASSETS_INSTOCK.Get(entity); if (entity == null) { throw new Exception("获取数据出错."); } } entity.CODE = jsonMCE_INSTOCK.CODE; entity.WAREHOUSE_ID = jsonMCE_INSTOCK.WAREHOUSE_ID; entity.PROVIDER_ID = jsonMCE_INSTOCK.PROVIDER_ID; if (!string.IsNullOrEmpty(jsonMCE_INSTOCK.CREATE_DATE)) { entity.CREATE_DATE = DateTime.Parse(jsonMCE_INSTOCK.CREATE_DATE); } entity.USER_ID = jsonMCE_INSTOCK.USER_ID; entity.COMMENTS = jsonMCE_INSTOCK.COMMENTS; entity.INVOICE_CODE = jsonMCE_INSTOCK.INVOICE_CODE; entity.STATE = 1; if (string.IsNullOrEmpty(jsonMCE_INSTOCK.ID)) { entity.CREATE_TIME = DateTime.Now; entity.CREATE_USER_ID = Ipedf.Web.BizLogic.SystemLogic.Proxy.CurrentUser.ID; int amount = HelperObject_MCE_B_ASSETS_INSTOCK.Save(entity, transaction); } else { int amount = HelperObject_MCE_B_ASSETS_INSTOCK.Update(entity, transaction); } if (jsonMCE_INSTOCK.DELETEIDS != null && jsonMCE_INSTOCK.DELETEIDS.Count > 0) { foreach (string strID in jsonMCE_INSTOCK.DELETEIDS) { EntityObject_MCE_B_ASSETS_INSTOCK_D entity_D = new EntityObject_MCE_B_ASSETS_INSTOCK_D(); if (!string.IsNullOrEmpty(strID)) { entity_D.ID = strID; entity_D = HelperObject_MCE_B_ASSETS_INSTOCK_D.Get(entity_D); if (entity_D == null) { throw new Exception("获取数据出错."); } else { HelperObject_MCE_B_ASSETS_INSTOCK_D.Delete(entity_D, transaction); } } } } if (jsonMCE_INSTOCK.children != null && jsonMCE_INSTOCK.children.Count > 0) { decimal decTotMoney = 0; foreach (JsonMCE_INSTOCK_D item in jsonMCE_INSTOCK.children) { EntityObject_MCE_B_ASSETS_INSTOCK_D entity_D = new EntityObject_MCE_B_ASSETS_INSTOCK_D(); if (!string.IsNullOrEmpty(item.ID)) { entity_D.ID = item.ID; entity_D = HelperObject_MCE_B_ASSETS_INSTOCK_D.Get(entity_D); if (entity_D == null) { throw new Exception("获取数据出错."); } } entity_D.BASE_ID = entity.ID; entity_D.ASSET_ID = item.ASSET_ID; entity_D.USING_DEPT_ID = item.USING_DEPT_ID; entity_D.ASSET_TYPE_ID = item.ASSET_TYPE_ID; entity_D.ASSETS_NAME = item.ASSETS_NAME; entity_D.SPEC = item.SPEC; if (string.IsNullOrEmpty(item.ID)) { if (!string.IsNullOrEmpty(item.PRD_ID)) { string strPrdID = ""; CauseObject_MDM_D_DEPT p = new CauseObject_MDM_D_DEPT(); p.REF_ID = item.PRD_ID; DisplayObject_MDM_D_DEPT[] listPrd = HelperObject_MDM_D_DEPT.Query(p); if (listPrd != null && listPrd.Length > 0) { strPrdID = listPrd[0].ID; } entity_D.PRD_ID = strPrdID; } entity_D.REF_PRD_ID = item.PRD_ID; } entity_D.PRICE = item.PRICE; entity_D.AMOUNT = item.AMOUNT; entity_D.UNIT_ID = item.UNIT_ID; entity_D.COUNTRY = item.COUNTRY; if (!string.IsNullOrEmpty(item.DEPR_YEAR_AMOUNT)) { entity_D.DEPR_YEAR_AMOUNT = decimal.Parse(item.DEPR_YEAR_AMOUNT); } entity_D.DEPR_TYPE_ID = item.DEPR_TYPE_ID; entity_D.MONEY = item.AMOUNT * item.PRICE; decTotMoney = decTotMoney + entity_D.MONEY; entity_D.REF_TAB_ID = item.REF_TAB_ID; entity_D.REF_TAB_NAME = item.REF_TAB_NAME; if (string.IsNullOrEmpty(item.ID)) { HelperObject_MCE_B_ASSETS_INSTOCK_D.Save(entity_D, transaction); } else { HelperObject_MCE_B_ASSETS_INSTOCK_D.Update(entity_D, transaction); } } entity.TOTAL_MONEY = decTotMoney; HelperObject_MCE_B_ASSETS_INSTOCK.Update(entity, transaction); } msg.Message = entity.ID; transaction.Commit(); } catch (Exception expt) { transaction.Rollback(); msg = new BizLogicMsg(false, expt.Message); Error(expt); } finally { IDALProvider.IDAL.PushConnection(connection); } } } return(msg); } else { using (ServiceManager <ServiceContract_MCE_B_ASSETS_INSTOCK> smgr = new ServiceManager <ServiceContract_MCE_B_ASSETS_INSTOCK>(ServiceUri)) { return(smgr.Service.Save_Ext(jsonMCE_INSTOCK)); } } }