Exemple #1
0
        public ActionResult Get(string metaViewName)
        {
            ActionResult res = new EmptyResult();

            var dataSource = new DynamicEntityJSONDataSource();

            if (Request.HttpMethod.Equals("GET", StringComparison.InvariantCultureIgnoreCase))
            {
                if (!SecurityCache.ViewCan(metaViewName, SecurityPermissionBaseTypeEnum.View))
                {
                    return(new ContentResult
                    {
                        ContentType = "text/html",
                        Content = DynamicEntityJSONDataSource.GetNotSuccess(WsFactory.GetАccessDeniedPage())
                    });
                }

                var extra = DynamicEntityJSONDataSource.GetExtra(Request.QueryString).ToLower();
                res = Get(metaViewName, dataSource, extra);
            }
            else if (Request.HttpMethod.Equals("POST", StringComparison.InvariantCultureIgnoreCase))
            {
                if (!SecurityCache.ViewCan(metaViewName, SecurityPermissionBaseTypeEnum.Add))
                {
                    return(new ContentResult
                    {
                        ContentType = "text/html",
                        Content = DynamicEntityJSONDataSource.GetNotSuccess(WsFactory.GetАccessDeniedPage())
                    });
                }

                var updatedJson = Request.Body();
                res = new ContentResult
                {
                    ContentType = "text/html",
                    Content     = dataSource.Insert(metaViewName,
                                                    DynamicEntityJSONDataSource.GetEntityOperationType(Request.QueryString),
                                                    updatedJson,
                                                    DynamicEntityJSONDataSource.GetExtra(Request.Params),
                                                    DynamicEntityJSONDataSource.GetVisibility(Request.QueryString),
                                                    DynamicEntityJSONDataSource.GetBaseEntityIdName(Request.Params),
                                                    DynamicEntityJSONDataSource.GetBaseEntityIdValue(Request.Params))
                };
            }
            else if (Request.HttpMethod.Equals("PUT", StringComparison.InvariantCultureIgnoreCase))
            {
                if (!SecurityCache.ViewCan(metaViewName, SecurityPermissionBaseTypeEnum.Edit))
                {
                    return(new ContentResult
                    {
                        ContentType = "text/html",
                        Content = DynamicEntityJSONDataSource.GetNotSuccess(WsFactory.GetАccessDeniedPage())
                    });
                }

                var updatedJson = Request.Body();

                res = new ContentResult
                {
                    ContentType = "text/html",
                    Content     =
                        dataSource.Update(metaViewName,
                                          updatedJson,
                                          DynamicEntityJSONDataSource.GetExtra(Request.Params),
                                          DynamicEntityJSONDataSource.GetVisibility(Request.QueryString),
                                          DynamicEntityJSONDataSource.GetBaseEntityIdName(Request.QueryString),
                                          DynamicEntityJSONDataSource.GetBaseEntityIdValue(Request.QueryString))
                };
            }
            else if (Request.HttpMethod.Equals("DELETE", StringComparison.InvariantCultureIgnoreCase))
            {
                if (!SecurityCache.ViewCan(metaViewName, SecurityPermissionBaseTypeEnum.Delete))
                {
                    return(new ContentResult
                    {
                        ContentType = "text/html",
                        Content = DynamicEntityJSONDataSource.GetNotSuccess(WsFactory.GetАccessDeniedPage())
                    });
                }

                var    updatedJson = Request.Body();
                string validateRes = string.Empty;

                if (metaViewName != "Budget")
                {
                    if (!MetadataRepositoty.ValidadateDelete(metaViewName, updatedJson, out validateRes))
                    {
                        return(new ContentResult
                        {
                            ContentType = "text/html",
                            Content = DynamicEntityJSONDataSource.GetNotSuccess(validateRes)
                        });
                    }
                }

                res = new ContentResult
                {
                    ContentType = "text/html",
                    Content     =
                        dataSource.Delete(metaViewName,
                                          updatedJson,
                                          DynamicEntityJSONDataSource.GetExtra(Request.Params),
                                          DynamicEntityJSONDataSource.GetBaseEntityIdName(Request.QueryString),
                                          DynamicEntityJSONDataSource.GetBaseEntityIdValue(Request.QueryString))
                };
            }


            return(res);
        }
Exemple #2
0
        public ActionResult GetAJAXTree(string metaViewName)
        {
            ActionResult res        = new EmptyResult();
            var          dataSource = new DynamicEntityJSONDataSource();

            if (Request.HttpMethod.Equals("GET", StringComparison.InvariantCultureIgnoreCase))
            {
                if (!SecurityCache.ViewCan(metaViewName, SecurityPermissionBaseTypeEnum.View))
                {
                    return(new ContentResult
                    {
                        ContentType = "text/html",
                        Content = DynamicEntityJSONDataSource.GetNotSuccess(WsFactory.GetАccessDeniedPage())
                    });
                }



                res = new ContentResult
                {
                    ContentType = "text/html",

                    Content = dataSource.GetJSONAJAXTreeData(metaViewName,
                                                             DynamicEntityJSONDataSource.GetSort(Request.QueryString),
                                                             DynamicEntityJSONDataSource.GetSearch(Request.QueryString),
                                                             DynamicEntityJSONDataSource.GetExtra(Request.Params),
                                                             DynamicEntityJSONDataSource.GetBaseEntityIdName(Request.QueryString),
                                                             DynamicEntityJSONDataSource.GetBaseEntityIdValue(Request.QueryString),
                                                             DynamicEntityJSONDataSource.GetCallback(Request.QueryString),
                                                             DynamicEntityJSONDataSource.GetNodeValue(Request.QueryString),
                                                             DynamicEntityJSONDataSource.GetVisibility(Request.QueryString), GetShowDeleted(metaViewName)
                                                             )
                };
            }
            else if (Request.HttpMethod.Equals("DELETE", StringComparison.InvariantCultureIgnoreCase))
            {
                if (!SecurityCache.ViewCan(metaViewName, SecurityPermissionBaseTypeEnum.Delete))
                {
                    return(new ContentResult
                    {
                        ContentType = "text/html",
                        Content = DynamicEntityJSONDataSource.GetNotSuccess(WsFactory.GetАccessDeniedPage())
                    });
                }

                var    updatedJson = Request.Body();
                string validateRes = string.Empty;
                if (!MetadataRepositoty.ValidadateDelete(metaViewName, updatedJson, out validateRes))
                {
                    return(new ContentResult
                    {
                        ContentType = "text/html",
                        Content = DynamicEntityJSONDataSource.GetNotSuccess(validateRes)
                    });
                }

                return(new ContentResult
                {
                    ContentType = "text/html",
                    Content =
                        dataSource.Delete(metaViewName,
                                          updatedJson,
                                          DynamicEntityJSONDataSource.GetExtra(Request.Params),
                                          DynamicEntityJSONDataSource.GetBaseEntityIdName(Request.QueryString),
                                          DynamicEntityJSONDataSource.GetBaseEntityIdValue(Request.QueryString))
                });
            }

            return(res);
        }