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); }
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())); }
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); }
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); }
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)); }