예제 #1
0
        public JsonResult EditResult(Models.DataTableItemModel model)
        {
            if (ModelState.ValidateFail())
            {
                return(Json(DealResult.Wrong(ModelState.ValidateMessage())));
            }
            var data = GetDataSource().FirstOrDefault(o => o.Id == model.Id);

            if (data != null)
            {
                model.MapTo(data);
                model.DealUpload((file) =>
                {
                    data.File = FileLocation.Create(file.FileName, file.ContentType, "");
                }, () =>
                {
                    data.File = null;
                }, o => o.File);
                model.DealUpload((file) =>
                {
                    data.Files.Add(FileLocation.Create(file.FileName, file.ContentType, ""));
                }, (index) =>
                {
                    data.Files.RemoveAt(index);
                }, o => o.Files);
            }
            return(Json(DealResult.Refresh()));
        }
예제 #2
0
        public JsonResult Create(int parentId, Models.DataTableItemModel model)
        {
            if (ModelState.ValidateFail())
            {
                return(Json(DealResult.Wrong(ModelState.ValidateMessage())));
            }
            var data = new Models.DataTableItemModel();

            model.MapTo(data);

            if (GetDataSource(parentId).Count == 0)
            {
                data.Id = 1;
            }
            else
            {
                data.Id = GetDataSource(parentId).Max(o => o.Id) + 1;
            }
            model.DealUpload((file) =>
            {
                data.File = FileLocation.Create(file.FileName, file.ContentType, "");
            }, o => o.File);
            data.Files = new List <HttpPostedFileBase>();
            model.DealUpload((file) =>
            {
                data.Files.Add(FileLocation.Create(file.FileName, file.ContentType, ""));
            }, o => o.Files);
            GetDataSource(parentId).Insert(0, data);
            return(Json(DealResult.Refresh("添加成功")));
        }
예제 #3
0
        public ActionResult Create()
        {
            var model = new Models.DataTableItemModel
            {
                CreateTime = DateTime.UtcNow
            };

            var panel = new Panel();

            panel.ConfigLocation();
            var form = FormHorizontal.Create(model, Url.Location(new Func <Models.DataTableItemModel, JsonResult>(Create)), GetListSource());

            panel.Append(form);

            return(new HtmlResult(panel));
        }
예제 #4
0
        private static List <Models.DataTableItemModel> GetDataSource()
        {
            if (DataSource != null)
            {
                return(DataSource);
            }
            var list = new List <Models.DataTableItemModel>();

            for (var i = 0; i < 100; i++)
            {
                var item = new Models.DataTableItemModel
                {
                    Id       = i + 1,
                    Name     = "Hello" + (i + 1),
                    Password = "******",
                    Content  = "### heading text",
                    States   = new List <Models.DataTableItemState>()
                };
                item.States.Add(Models.DataTableItemState.Low);
                item.States.Add(Models.DataTableItemState.Hight);
                item.CreateTime = DateTime.UtcNow;
                item.File       = FileLocation.Create("file.jpg", "image/jpg", "https://avatars.githubusercontent.com/u/1279501");
                item.Files      = new List <HttpPostedFileBase>
                {
                    FileLocation.Create("file1.jpg", "image/jpg", "https://avatars.githubusercontent.com/u/1279501"),
                    FileLocation.Create("file2.jpg", "image/jpg", "https://avatars.githubusercontent.com/u/1279501")
                };
                if (i == 0)
                {
                    item.Tags = new List <string>
                    {
                        "hello",
                        "world",
                        "hello"
                    };
                }
                item.Sub = new Models.SubClass()
                {
                    First = "1", Second = "2"
                };
                list.Add(item);
            }
            DataSource = list;
            return(DataSource);
        }
예제 #5
0
        public ActionResult Create(int parentId)
        {
            var model = new Models.DataTableItemModel();

            model.States = new List <Models.DataTableItemState>();
            model.States.Add(Models.DataTableItemState.Hight);
            model.CreateTime = DateTime.UtcNow;

            var source = new ListDataSource();

            source["Age"].Add(new ListDataItem("1", "1"));
            source["Age"].Add(new ListDataItem("2", "2"));

            var panel = new Panel();

            panel.ConfigLocation();
            var form = FormHorizontal.Create(model, Url.Location(new Func <int, Models.DataTableItemModel, JsonResult>(Create)).Set("parentId", parentId), source);

            panel.Append(form);

            return(new HtmlResult(panel));
        }
예제 #6
0
 public JsonResult Create(Models.DataTableItemModel model)
 {
     return(Json(DealResult.Refresh("添加成功")));
 }