Exemple #1
0
        public BizLogicMsg Save_Ext(JsonMCE_BACK jsonMCE_BACK)
        {
            if (LocalMode)
            {
                BizLogicMsg msg = new BizLogicMsg();
                using (IDbConnection connection = IDALProvider.IDAL.PopConnection())
                {
                    using (IDbTransaction transaction = connection.BeginTransaction())
                    {
                        try
                        {
                            EntityObject_MCE_B_ASSETS_BACK entity = new EntityObject_MCE_B_ASSETS_BACK();


                            if (!string.IsNullOrEmpty(jsonMCE_BACK.ID))
                            {
                                entity.ID = jsonMCE_BACK.ID;

                                entity = HelperObject_MCE_B_ASSETS_BACK.Get(entity);

                                if (entity == null)
                                {
                                    throw new Exception("获取数据出错.");
                                }
                            }


                            entity.CODE = jsonMCE_BACK.CODE;

                            if (!string.IsNullOrEmpty(jsonMCE_BACK.CREATE_DATE))
                            {
                                entity.CREATE_DATE = DateTime.Parse(jsonMCE_BACK.CREATE_DATE);
                            }
                            entity.RETURN_DEPT_ID = jsonMCE_BACK.RETURN_DEPT_ID;
                            entity.RETURN_USER_ID = jsonMCE_BACK.RETURN_USER_ID;
                            entity.DEPT_ID        = jsonMCE_BACK.DEPT_ID;
                            entity.USER_ID        = jsonMCE_BACK.USER_ID;
                            entity.STOCK_ID       = jsonMCE_BACK.STOCK_ID;

                            entity.COMMENTS = jsonMCE_BACK.COMMENTS;

                            entity.STATE = 1;

                            if (string.IsNullOrEmpty(jsonMCE_BACK.ID))
                            {
                                entity.CREATE_TIME    = DateTime.Now;
                                entity.CREATE_USER_ID = Ipedf.Web.BizLogic.SystemLogic.Proxy.CurrentUser.ID;
                                int amount = HelperObject_MCE_B_ASSETS_BACK.Save(entity, transaction);
                            }
                            else
                            {
                                int amount = HelperObject_MCE_B_ASSETS_BACK.Update(entity, transaction);
                            }


                            if (jsonMCE_BACK.DELETEIDS != null && jsonMCE_BACK.DELETEIDS.Count > 0)
                            {
                                foreach (string strID in jsonMCE_BACK.DELETEIDS)
                                {
                                    EntityObject_MCE_B_ASSETS_BACK_D entity_D = new EntityObject_MCE_B_ASSETS_BACK_D();

                                    if (!string.IsNullOrEmpty(strID))
                                    {
                                        entity_D.ID = strID;

                                        entity_D = HelperObject_MCE_B_ASSETS_BACK_D.Get(entity_D);

                                        if (entity_D == null)
                                        {
                                            throw new Exception("获取数据出错.");
                                        }
                                        else
                                        {
                                            HelperObject_MCE_B_ASSETS_BACK_D.Delete(entity_D, transaction);
                                        }
                                    }
                                }
                            }

                            if (jsonMCE_BACK.children != null && jsonMCE_BACK.children.Count > 0)
                            {
                                foreach (JsonMCE_BACK_D item in jsonMCE_BACK.children)
                                {
                                    EntityObject_MCE_B_ASSETS_BACK_D entity_D = new EntityObject_MCE_B_ASSETS_BACK_D();

                                    if (!string.IsNullOrEmpty(item.ID))
                                    {
                                        entity_D.ID = item.ID;

                                        entity_D = HelperObject_MCE_B_ASSETS_BACK_D.Get(entity_D);

                                        if (entity_D == null)
                                        {
                                            throw new Exception("获取数据出错.");
                                        }
                                    }

                                    entity_D.BASE_ID = entity.ID;

                                    entity_D.ASSETS_ID    = item.ASSETS_ID;
                                    entity_D.ASSETS_NAME  = item.ASSETS_NAME;
                                    entity_D.ASSETS_CODE  = item.ASSETS_CODE;
                                    entity_D.REF_TAB_ID   = item.REF_TAB_ID;
                                    entity_D.REF_TAB_NAME = item.REF_TAB_NAME;
                                    entity_D.SPEC         = item.SPEC;
                                    entity_D.COMMENTS     = item.COMMENTS;

                                    if (string.IsNullOrEmpty(item.ID))
                                    {
                                        HelperObject_MCE_B_ASSETS_BACK_D.Save(entity_D, transaction);
                                    }
                                    else
                                    {
                                        HelperObject_MCE_B_ASSETS_BACK_D.Update(entity_D, 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_BACK> smgr = new ServiceManager <ServiceContract_MCE_B_ASSETS_BACK>(ServiceUri))
                {
                    return(smgr.Service.Save_Ext(jsonMCE_BACK));
                }
            }
        }
        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_BACK entity = JsonConvert.DeserializeObject <JsonMCE_BACK>(rsb.ToString());


                if (string.IsNullOrEmpty(entity.CODE))
                {
                    throw new Exception("参数错误,单号不能为空.");
                }

                if (string.IsNullOrEmpty(entity.RETURN_DEPT_ID))
                {
                    throw new Exception("参数错误,退库科室不能为空.");
                }

                if (string.IsNullOrEmpty(entity.DEPT_ID))
                {
                    throw new Exception("参数错误,入库科室不能为空.");
                }

                if (string.IsNullOrEmpty(entity.CREATE_DATE))
                {
                    throw new Exception("参数错误,退库日期不能为空.");
                }

                if (entity.children != null && entity.children.Count > 0)
                {
                    foreach (JsonMCE_BACK_D item in entity.children)
                    {
                        if (string.IsNullOrEmpty(item.ASSETS_ID))
                        {
                            throw new Exception("参数错误,设备名称不能为空.");
                        }

                        if (string.IsNullOrEmpty(item.ASSETS_NAME))
                        {
                            throw new Exception("参数错误,设备名称不能为空.");
                        }
                        if (string.IsNullOrEmpty(item.ASSETS_CODE))
                        {
                            throw new Exception("参数错误,设备编码不能为空.");
                        }
                    }
                }
                else
                {
                    throw new Exception("没有明细数据");
                }


                BizLogicMsg msg = BizLogicObject_MCE_B_ASSETS_BACK.Proxy.Save_Ext(entity);
                if (!msg.Succeed)
                {
                    throw new Exception(msg.Message);
                }

                jsonMsg.Succeed = 1;
                jsonMsg.Message = msg.Message;
            }
            catch (Exception ex)
            {
                jsonMsg.Succeed = 0;
                jsonMsg.Message = ex.Message;
            }
            finally
            {
                context.Response.Write(JsonConvert.SerializeObject(jsonMsg));
                context.Response.End();
            }
        }