Ejemplo n.º 1
0
        void TitleDesc(WebRequest request, Guid itemId)
        {
            UMC.Data.WebResource webr = UMC.Data.WebResource.Instance();

            var entity = Database.Instance().ObjectEntity <Design_Item>();

            entity.Where.Reset().And().Equal(new Design_Item()
            {
                Id = itemId
            });

            Design_Item item = entity.Single();


            WebMeta meta = this.AsyncDialog(g =>
            {
                WebMeta config = new UMC.Web.WebMeta();
                switch (item.Type ?? 0)
                {
                case UIDesigner.StoreDesignTypeItem:
                    Design_Item parent = entity.Where.Reset().And().Equal(new Design_Item()
                    {
                        Id = item.for_id
                    }).Entities.Single();


                    config = UMC.Data.JSON.Deserialize <WebMeta>(parent.Data) ?? new UMC.Web.WebMeta();

                    break;

                case UIDesigner.StoreDesignTypeTitleDesc:
                    config = UMC.Data.JSON.Deserialize <WebMeta>(item.Data) ?? new UMC.Web.WebMeta();

                    Design_Item item2 = new Design_Item()
                    {
                        Id           = Guid.NewGuid(),
                        design_id    = item.design_id,
                        for_id       = item.Id,
                        ModifiedDate = DateTime.Now,
                        Type         = UIDesigner.StoreDesignTypeItem
                    };

                    Design_Item max = entity
                                      .Where.And().Equal(new Design_Item()
                    {
                        design_id = item.design_id, for_id = item.Id
                    })
                                      .Entities.Max(new Design_Item()
                    {
                        Seq = 0
                    });                                            //.Seq+1;
                    item2.Seq = (max.Seq ?? 0) + 1;

                    entity.Insert(item2);



                    item = item2;
                    request.Arguments.Put("Id", item.Id);
                    break;

                default:
                    this.Prompt("类型错误");
                    break;
                }

                //config = UMC.Data.JSON.Deserialize<WebMeta>(item.Data) ?? new UMC.Web.WebMeta();


                WebMeta data = UMC.Data.JSON.Deserialize <WebMeta>(item.Data) ?? new UMC.Web.WebMeta();
                ;// Utility.isNull(UMC.Data.JSON.deserialize(finalItem.Data, WebMeta.class), new UMC.Web.WebMeta());

                UIFormDialog from = new UIFormDialog();
                from.Title        = ("图文项");


                String total = data.Get("Total") ?? "1";

                from.AddFile(String.Format("{0}比例图片", total == "1" ? "100:55" : "1:1"), "_Image",
                             webr.ImageResolve(item.Id.Value, "1", 4))
                .Command("Design", "Picture", new UMC.Web.WebMeta().Put("id", item.Id).Put("seq", "1"));
                String hide = config.Get("Hide") ?? "";
                if (hide.IndexOf("HideTitle") == -1)
                {
                    from.AddText("图文标题", "title", item.ItemName);
                }
                if (hide.IndexOf("HideDesc") == -1)
                {
                    from.AddText("图文描述", "desc", item.ItemDesc);
                }
                if (hide.IndexOf("HideLeft") == -1)
                {
                    from.AddText("左角价格", "left", data.Get("left"));
                }
                if (hide.IndexOf("HideRight") == -1)
                {
                    from.AddText("右角说明", "right", data.Get("right"));
                }
                from.AddNumber("顺序", "Seq", item.Seq);

                from.Submit("确认", request, "Design");
                return(from);
            }, "Setting");

            entity.Where.Reset().And().Equal(new Design_Item()
            {
                Id = item.Id
            });
            entity.Update(new Design_Item()
            {
                ItemName     = meta.Get("title"),
                ItemDesc     = meta.Get("desc"),
                Data         = UMC.Data.JSON.Serialize(meta),
                ModifiedDate = DateTime.Now,
                Seq          = Utility.IntParse(meta.Get("Seq"), 0)
            });


            //entity.Where.reset().And().Equal(new Design_Item().Id(item.Id));
            //entity.update(new Design_Item().ItemName(meta.get("title"))
            //        .ItemDesc(meta.get("desc"))
            //        .Data(UMC.Data.JSON.serialize(meta))
            //        .ModifiedDate(new Date()).Seq(Utility.parse(meta.get("Seq"), 0)));
        }