public string GetUnitStructByID(string pRequest)
        {
            var rp = pRequest.DeserializeJSONTo <APIRequest <GetUnitStructByIDRP> >();
            var loggingSessionInfo = new SessionManager().CurrentUserLoginInfo;


            var t_TypeBLL       = new T_TypeBLL(loggingSessionInfo);
            var UnitStructTable = t_TypeBLL.GetUnitStructByID(loggingSessionInfo.ClientID, rp.Parameters.Unit_ID);

            var rd = new GetUnitStructByIDRD();//返回值

            if (UnitStructTable != null && UnitStructTable.Tables.Count != 0 && UnitStructTable.Tables[0].Rows.Count != 0)
            {
                rd.unitStructInfo = DataTableToObject.ConvertToObject <UnitStructInfo>(UnitStructTable.Tables[0].Rows[0]);//直接根据所需要的字段反序列化
            }


            var rsp = new SuccessResponse <IAPIResponseData>(rd);



            return(rsp.ToJSON());
        }
        public string SaveUnitStruct(string pRequest)
        {
            var rp = pRequest.DeserializeJSONTo <APIRequest <SaveUnitStructRP> >();
            var loggingSessionInfo = new SessionManager().CurrentUserLoginInfo;

            if (string.IsNullOrEmpty(rp.Parameters.Unit_Name))
            {
                throw new APIException("缺少参数【Unit_Name】或参数值为空")
                      {
                          ErrorCode = 135
                      };
            }
            if (string.IsNullOrEmpty(rp.Parameters.Type_ID))
            {
                throw new APIException("缺少参数【Type_ID】或参数值为空")
                      {
                          ErrorCode = 135
                      };
            }
            //if (string.IsNullOrEmpty(rp.Parameters.parentUnit_ID))
            //{
            //    throw new APIException("缺少参数【parentUnit_ID】或参数值为空") { ErrorCode = 135 };
            //}
            //t_unitBLL t_unitBLL = new t_unitBLL(loggingSessionInfo);
            //t_unitEntity en = new t_unitEntity();
            //en.type_id = rp.Parameters.Type_ID;
            //en.unit_name = rp.Parameters.Unit_Name;
            //en.unit_code = rp.Parameters.Unit_Name;
            //en.unit_name_en = rp.Parameters.Unit_Name;
            //en.unit_name_short = rp.Parameters.Unit_Name;
            //en.Status = "1";//状态为有效
            //en.status_desc = "1";
            //en.customer_id =loggingSessionInfo.ClientName ;

            //en.modify_time = DateTime.Now.ToString();
            //en.modify_user_id = loggingSessionInfo.CurrentUser.User_Name;
            //en.unit_flag = "U";
            //en.CUSTOMER_LEVEL = 1;
            var unitService = new UnitService(loggingSessionInfo);

            UnitInfo en = new UnitInfo();

            if (string.IsNullOrEmpty(rp.Parameters.parentUnit_ID))
            {
                en.Parent_Unit_Id = "-99";
            }
            else
            {
                en.Parent_Unit_Id = rp.Parameters.parentUnit_ID;
            }
            en.TypeId    = rp.Parameters.Type_ID;
            en.Code      = rp.Parameters.Unit_Name;
            en.Name      = rp.Parameters.Unit_Name;
            en.ShortName = rp.Parameters.Unit_Name;
            //  en.unit_ = rp.Parameters.Unit_Name;
            en.Status      = "1";//状态为有效
            en.Status_Desc = "1";
            en.customer_id = loggingSessionInfo.ClientName;

            en.Modify_Time    = DateTime.Now.ToString();
            en.Modify_User_Id = loggingSessionInfo.CurrentUser.User_Name;
            en.Flag           = "U";
            en.CustomerLevel  = 1;
            if (string.IsNullOrEmpty(rp.Parameters.Unit_ID))//创建
            {
                en.Create_Time    = DateTime.Now.ToString();
                en.Create_User_Id = loggingSessionInfo.CurrentUser.User_Name;
                en.Id             = Utils.NewGuid();
                // t_unitBLL.Create(en);
            }
            else
            {
                en.Id = rp.Parameters.Unit_ID;//不是用unit_id,而是用Id
            }

            string errorMsg = unitService.SetUnitInfo(loggingSessionInfo, en);

            if (!string.IsNullOrEmpty(errorMsg) && errorMsg != "成功")
            {
                if (errorMsg.IndexOf("该门店编码已经存在") != -1)
                {
                    errorMsg = "组织结构名称已存在,请不要填写相同的组织结构名称";
                }
                throw new APIException(errorMsg)
                      {
                          ErrorCode = 135
                      };
            }
            ////创建门店上下级关系
            //if (string.IsNullOrEmpty(rp.Parameters.Unit_ID))//新建时才需要创建上下级关系
            //{
            //}
            T_TypeBLL t_TypeBLL       = new T_TypeBLL(loggingSessionInfo);
            var       UnitStructTable = t_TypeBLL.GetUnitStructByID(loggingSessionInfo.ClientID, en.Id); //用en.id兼容创建和修改
            var       rd = new GetUnitStructByIDRD();                                                    //返回值

            if (UnitStructTable != null && UnitStructTable.Tables.Count != 0 && UnitStructTable.Tables[0].Rows.Count != 0)
            {
                rd.unitStructInfo = DataTableToObject.ConvertToObject <UnitStructInfo>(UnitStructTable.Tables[0].Rows[0]);//直接根据所需要的字段反序列化
            }



            var rsp = new SuccessResponse <IAPIResponseData>(rd);

            return(rsp.ToJSON());
        }