Exemplo n.º 1
0
        public static string GetControllerApiMethod(DefineControllerMethod controllerMethod)
        {
            string inputParameters = "";
            string returnType      = GetDetermineReturnType(controllerMethod.ServiceMethod.ServiceReturnMethodType,
                                                            controllerMethod.ServiceMethod.ServiceItemReturnType, controllerMethod.ServiceMethod.Query);

            var s1 = $@" 
[HttpGet]
public {returnType} {controllerMethod.Name}({inputParameters}) " + "{";

            s1 += @"
try{

";
            s1 +=
                $@"var res=_{controllerMethod.ServiceMethod.DefineService.Name.ToLower()}.{
                        controllerMethod.ServiceMethod.Name
                    }();";

            s1 += @"
      return res;
            }
            catch (Exception e)
            {
                throw e;
        }";
            s1 += "}}";
            return(s1);
        }
Exemplo n.º 2
0
        public dynamic CallServiceMethod(long methodId, NameValueCollection formParams,
                                         NameValueCollection requestParams, out string SubSystemName, out string ControllerName,
                                         out string ControllerMethod, out string ServiceMethodName)
        {
            DefineControllerMethod method = null;
            string serviceName;
            List <AddParameterForm> queryAddParameterFields;

            //اطلاعات از دیتابیس
            using (var db = new EngineContext())
            {
                method = db.DefineControllerMethodes.Find(methodId);
                if (method == null)
                {
                    throw new UiEngineException("جدول یافت نشد");
                }

                serviceName             = method.ServiceMethod.DefineService.Name;
                queryAddParameterFields =
                    method.ServiceMethod.Query.addParameterFields.ToList();

                SubSystemName     = method.DefineController.SubSystem.Name;
                ControllerName    = method.DefineController.Name;
                ControllerMethod  = method.Name;
                ServiceMethodName = method.Name;
            }


            // ورودی های متد را از فرم ارسال شده یا از کوئری استرینگ می گیرد
            foreach (var field in queryAddParameterFields)
            {
                var name       = field.nameInMethod.ToLower().TrimEnd();
                var formInput  = formParams[name];
                var queryParam = requestParams[name];


                var val = formInput ?? queryParam;
                int n;

                var parsedVal = DetermineTypeAndGetValue(val, field);

                field.Value = parsedVal;
            }


            foreach (var field in queryAddParameterFields)
            {
                if (field.nullable && field.Value == null)
                {
                    throw new Exception("مقدار دهی درست نیست ، پارامتر نال پاس شده است که Nullable نیست");
                }
            }

            var vals = queryAddParameterFields.OrderBy(q => q.Order).Select(q => q.Value).ToList();

            // کال
            return(InjectAndCall(serviceName, method.Name, vals.ToArray()));
        }
Exemplo n.º 3
0
        public DefineControllerMethod GetControllerGetAll(DefineController c, ServiceMethod m)
        {
            var s = new DefineControllerMethod();

            s.ServiceMethod    = m;
            s.Name             = "getAll";
            s.Translate        = "getAll";
            s.DefineController = c;
            return(s);
        }
Exemplo n.º 4
0
        private ICollection <DefineControllerMethod> GetDefaultControllers()
        {
            var names = Enum.GetNames(typeof(MethodType));
            List <DefineControllerMethod> methosList = new List <DefineControllerMethod>();

            foreach (var name in names)
            {
                var method = new DefineControllerMethod
                {
                    Name       = name,
                    MethodType =
                        (MethodType)Enum.Parse(typeof(MethodType), name),
                    Translate = name,
                };
                methosList.Add(method);
            }

            return(methosList);
        }
Exemplo n.º 5
0
        public static string GetControllerMethod(DefineControllerMethod controllerMethod)
        {
            string inputParameters = "";

            inputParameters = getInputParameters(controllerMethod.ServiceMethod.Query);

            var s1 = $@" 
[HttpGet]
public ActionResult {controllerMethod.Name}({inputParameters}) " + "{";

            s1 += @"
try{
";
            s1 +=
                $@"var res=_{controllerMethod.ServiceMethod.DefineService.Name.ToLower()}.{
                        controllerMethod.ServiceMethod.Name
                    }();";

            s1 += $@"
            //res.RecordsList =  res.Records.ToList();

            string actionName = ControllerContext.RouteData.Values[""action""].ToString();
            string controllerName = ControllerContext.RouteData.Values[""controller""].ToString();
            string areaName = (string)HttpContext.Request.RequestContext.RouteData.DataTokens[""area""];

            SetDynamicTableViewData(DefaultDataTableName, areaName, controllerName, actionName, res);
            return View(res);

        }}
            catch (Exception e)
            {{
                throw e;
        }}";
            s1 += "}";
            return(s1);
        }
 private string CreateControllerMethod(DefineControllerMethod controllerMethod)
 {
     return(MVCUtility.GetControllerMethod(controllerMethod));
 }