예제 #1
0
        public void ProcessRequest(HttpContext context)
        {
            string       data         = context.Request["data"];
            RequestModel requestModel = new RequestModel();

            try
            {
                requestModel = JSONHelper.JsonToModel <RequestModel>(data);
            }
            catch (Exception ex)
            {
                apiResp.msg  = "json格式错误,请检查。";
                apiResp.code = (int)APIErrCode.OperateFail;
                bll.ContextResponse(context, apiResp);
                return;
            }
            if (string.IsNullOrWhiteSpace(requestModel.component_model_name))
            {
                apiResp.msg  = "请录入组件库名称";
                apiResp.code = (int)APIErrCode.IsNotFound;
                bll.ContextResponse(context, apiResp);
                return;
            }
            if (requestModel.component_model_fields.Count == 0)
            {
                apiResp.msg  = "请录入组件库变量字段";
                apiResp.code = (int)BLLJIMP.Enums.APIErrCode.IsNotFound;
                bll.ContextResponse(context, apiResp);
                return;
            }
            for (int i = 0; i < requestModel.component_model_fields.Count; i++)
            {
                if (string.IsNullOrWhiteSpace(requestModel.component_model_fields[i].component_field))
                {
                    apiResp.msg  = "请完善字段Key";
                    apiResp.code = (int)APIErrCode.IsNotFound;
                    bll.ContextResponse(context, apiResp);
                    return;
                }
            }
            ComponentModel componentModel = new ComponentModel();

            componentModel.ComponentModelKey     = string.Format("Model{0}{1}", DateTimeHelper.DateTimeToUnixTimestamp(DateTime.Now), Rand.Str(5));
            componentModel.ComponentModelName    = requestModel.component_model_name;
            componentModel.ComponentModelType    = requestModel.component_model_type;
            componentModel.ComponentModelLinkUrl = requestModel.component_model_link_url;
            componentModel.ComponentModelHtmlUrl = requestModel.component_model_html_url;
            componentModel.IsDelete = requestModel.is_delete;

            List <ComponentModelField> componentModelFields = new List <ComponentModelField>();

            foreach (var item in requestModel.component_model_fields)
            {
                ComponentModelField temp = new ComponentModelField();
                temp.ComponentModelKey       = componentModel.ComponentModelKey;
                temp.ComponentField          = item.component_field;
                temp.ComponentFieldName      = item.component_field_name;
                temp.ComponentFieldType      = item.component_field_type;
                temp.ComponentFieldDataType  = item.component_field_data_type;
                temp.ComponentFieldDataValue = item.component_field_data_value;
                temp.ComponentFieldSort      = item.component_field_sort;
                componentModelFields.Add(temp);
            }
            string errmsg = string.Empty;

            if (bll.AddComponentModel(componentModel, componentModelFields, out errmsg))
            {
                apiResp.status = true;
                apiResp.msg    = "添加完成";
                apiResp.code   = (int)APIErrCode.IsSuccess;
            }
            else
            {
                apiResp.msg  = errmsg;
                apiResp.code = (int)APIErrCode.OperateFail;
            }
            bll.ContextResponse(context, apiResp);
        }
예제 #2
0
        public void ProcessRequest(HttpContext context)
        {
            string       data         = context.Request["data"];
            RequestModel requestModel = new RequestModel();

            try
            {
                requestModel = JSONHelper.JsonToModel <RequestModel>(data);
            }
            catch (Exception ex)
            {
                apiResp.msg  = "json格式错误,请检查。";
                apiResp.code = (int)APIErrCode.IsNotFound;
                bll.ContextResponse(context, apiResp);
                return;
            }
            if (string.IsNullOrWhiteSpace(requestModel.component_model_name))
            {
                apiResp.msg  = "请录入组件库名称";
                apiResp.code = (int)APIErrCode.IsNotFound;
                bll.ContextResponse(context, apiResp);
                return;
            }
            if (requestModel.component_model_fields.Count == 0)
            {
                apiResp.msg  = "请录入组件库变量字段";
                apiResp.code = (int)BLLJIMP.Enums.APIErrCode.IsNotFound;
                bll.ContextResponse(context, apiResp);
                return;
            }
            for (int i = 0; i < requestModel.component_model_fields.Count; i++)
            {
                if (string.IsNullOrWhiteSpace(requestModel.component_model_fields[i].component_field))
                {
                    apiResp.msg  = "请完善字段Key";
                    apiResp.code = (int)APIErrCode.IsNotFound;
                    bll.ContextResponse(context, apiResp);
                    return;
                }
            }

            ComponentModel componentModel = bll.GetByKey <ComponentModel>("AutoId", requestModel.component_model_id.ToString());

            if (componentModel == null)
            {
                apiResp.msg  = "原组件库未找到";
                apiResp.code = (int)APIErrCode.IsNotFound;
                bll.ContextResponse(context, apiResp);
                return;
            }
            componentModel.ComponentModelName    = requestModel.component_model_name;
            componentModel.ComponentModelType    = requestModel.component_model_type;
            componentModel.ComponentModelLinkUrl = requestModel.component_model_link_url;
            componentModel.ComponentModelHtmlUrl = requestModel.component_model_html_url;
            componentModel.IsDelete = requestModel.is_delete;

            List <ComponentModelField> OldList = bll.GetListByKey <ComponentModelField>("ComponentModelKey", componentModel.ComponentModelKey);
            List <ComponentModelField> AddComponentModelFields    = new List <ComponentModelField>();
            List <ComponentModelField> UpdateComponentModelFields = new List <ComponentModelField>();
            List <ComponentModelField> DeleteComponentModelFields = new List <ComponentModelField>();

            foreach (var item in requestModel.component_model_fields.Where(p => p.component_field_id == 0))
            {
                ComponentModelField temp = new ComponentModelField();
                temp.ComponentModelKey       = componentModel.ComponentModelKey;
                temp.ComponentField          = item.component_field;
                temp.ComponentFieldName      = item.component_field_name;
                temp.ComponentFieldType      = item.component_field_type;
                temp.ComponentFieldDataType  = item.component_field_data_type;
                temp.ComponentFieldDataValue = item.component_field_data_value;
                temp.ComponentFieldSort      = item.component_field_sort;
                AddComponentModelFields.Add(temp);
            }
            foreach (var item in OldList)
            {
                RequestFieldModel nField = requestModel.component_model_fields.FirstOrDefault(p => p.component_field_id == item.AutoId);
                if (nField == null)
                {
                    DeleteComponentModelFields.Add(item);
                }
                else
                {
                    item.ComponentField          = nField.component_field;
                    item.ComponentFieldName      = nField.component_field_name;
                    item.ComponentFieldType      = nField.component_field_type;
                    item.ComponentFieldDataType  = nField.component_field_data_type;
                    item.ComponentFieldDataValue = nField.component_field_data_value;
                    item.ComponentFieldSort      = nField.component_field_sort;
                    UpdateComponentModelFields.Add(item);
                }
            }

            string errmsg = string.Empty;

            if (bll.UpdateComponentModel(componentModel, AddComponentModelFields, UpdateComponentModelFields
                                         , DeleteComponentModelFields, out errmsg))
            {
                apiResp.status = true;
                apiResp.msg    = "修改完成";
                apiResp.code   = (int)APIErrCode.IsSuccess;
            }
            else
            {
                apiResp.msg  = errmsg;
                apiResp.code = (int)APIErrCode.OperateFail;
            }
            bll.ContextResponse(context, apiResp);
        }