示例#1
0
        private void Addgrid_Detail(int?[] Equip_ID)
        {
            List <Equipment> lstEquipments = null;

            Equipment[] Equipments = null;

            ClassSet.LoadTypeEquipment(out Equipments, null, Equip_ID);

            if (Equipments != null && Equipments.Any())
            {
                lstEquipments = SSEquipments;

                if (lstEquipments == null || !lstEquipments.Any() || lstEquipments.Count < 1)
                {
                    lstEquipments = new List <Equipment>();
                }

                lstEquipments.AddRange(Equipments);
                lstEquipments = lstEquipments.OrderBy(x => x.Name).ToList();
            }

            SSEquipments           = lstEquipments;
            grid_Detail.DataSource = lstEquipments;
            grid_Detail.DataBind();
        }
示例#2
0
        public RenderFragment Render
        (
            StructureInstance <TStructure> structure, TStructure value, MemberInstance <TStructure, TID> member
        ) => builder =>
        {
            if (structure.JSRuntime == null)
            {
                throw new ArgumentException(
                          "StructureInstance passed to ComboboxInput does not have a set JSRuntime.",
                          nameof(structure.JSRuntime));
            }

            int seq = -1;

            builder.OpenElement(++seq, "div");

            //

            ClassSet classes = new ClassSet
                               (
                "Integrant.Element.Override.Input",
                "Integrant.Rudiment.Input." + nameof(ComboboxInput <TStructure, TID>)
                               );

            InputBuilder.Required(value, member.Member, classes);
            InputBuilder.Disabled(value, member.Member, classes);

            builder.AddAttribute(++seq, "class", classes.ToString());

            //

            InitCombobox(structure, value, member);

            _combobox !.OnSelect += o => OnInput?.Invoke(value, o != null ? o.Value : default !);
示例#3
0
        public void Initialize(System.Data.SQLite.SQLiteDataReader data, List <string> elementsData,
                               List <State> statesData, List <BattlerClass> classesData, List <Player> playersData, List <Skill> skillsData)
        {
            Initialize(data);
            Id                = Int(data["Player_ID"]);
            ElementRates      = ReadRatesList(data, "Player", elementsData, "ElementRates");
            StateRates        = ReadRatesList(data, "Player", statesData, "Vulnerability");
            NaturalStats      = ReadStats(data["NaturalStats"], false);
            Companionship     = Int(data["Companionship"]);
            SavePartnerRate   = Int(data["SavePartnerRate"]);
            CounterattackRate = Int(data["CounterattackRate"]);
            AssistDamageRate  = Int(data["AssistDamageRate"]);
            List <int> classesList = ReadDBList(data, "Player", "BattlerClass");

            for (int i = 0; i < classesList.Count; i++)
            {
                ClassSet.Add(ReadObj(classesData, classesList[i]));
            }
            PlayerCompanionships = ReadRatesList(data, "Player", playersData, "CompanionshipTo");
            List <int> skillsList = ReadDBList(data, "Player", "Skill", "LevelRequired");

            for (int i = 0; i < skillsList.Count;)
            {
                SkillSet.Add(ReadObj(skillsData, skillsList[i++]));
                SkillSetLevels.Add(skillsList[i++]);
            }
        }
示例#4
0
        public Spinner
        (
            BitGetters.BitPixels?pixelsSize = null,
            BitGetters.BitColor?color       = null,
            BitGetters.BitPixels?thickness  = null,
            bool isStatic = true,
            BitGetters.BitIsVisible?isVisible = null,
            BitGetters.BitDisplay?display     = null,
            BitGetters.BitData?data           = null,
            BitGetters.BitTooltip?tooltip     = null
        )
        {
            Spec = new BitSpec
            {
                IsStatic  = isStatic,
                IsVisible = isVisible,
                Display   = display,
                Data      = data,
                Tooltip   = tooltip,
            };

            _pixelsSize = pixelsSize;
            _color      = color;
            _thickness  = thickness;

            ConstantClasses = new ClassSet(
                "Integrant.Element.Bit",
                "Integrant.Element.Bit." + nameof(Spinner)
                );

            Cache();
        }
示例#5
0
        protected override void BuildRenderTree(RenderTreeBuilder builder)
        {
            Member <TS, TM> member = StructureInstance.Structure.GetMember <TM>(ID !);

            ClassSet classes = ClassSet.FromMember(Value, member,
                                                   "Integrant.Rudiment.Component." + nameof(MemberContainer <TS, TM>));

            bool shown = member.IsVisible?.Invoke(Value, member) ?? true;

            //

            int seq = -1;

            builder.OpenElement(++seq, Element ?? "div");

            builder.AddAttribute(++seq, "class", classes.ToString());

            if (!shown)
            {
                builder.AddAttribute(++seq, "hidden", "hidden");
            }

            builder.OpenComponent <CascadingValue <string> >(++seq);
            builder.AddAttribute(++seq, "Name", "Integrant.Rudiment.Member.ID");
            builder.AddAttribute(++seq, "Value", ID);
            builder.AddAttribute(++seq, "IsFixed", true);
            builder.AddAttribute(++seq, "ChildContent", ChildContent);
            builder.CloseComponent();

            builder.CloseElement();
        }
示例#6
0
        public Space
        (
            BitGetters.BitPixels?pixelsWidth = null,
            bool isStatic = true,
            BitGetters.BitIsVisible?isVisible = null,
            BitGetters.BitDisplay?display     = null,
            BitGetters.BitData?data           = null
        )
        {
            Spec = new BitSpec
            {
                IsStatic    = isStatic,
                IsVisible   = isVisible,
                PixelsWidth = pixelsWidth,
                Display     = display,
                Data        = data,
            };

            ConstantClasses = new ClassSet(
                "Integrant.Element.Bit",
                "Integrant.Element.Bit." + nameof(Space)
                );

            Cache();
        }
示例#7
0
        private void LoadConfig()
        {
            this.ddlSet.Items.Add(new ListItem("กรุณาเลือก", "-1"));
            this.ddlEquipmentList.Items.Add(new ListItem("กรุณาเลือก", "-1"));

            Equipment_SET[] Equipment_SETs = null;
            ClassSet.GetDate_Equipment_SET(out Equipment_SETs, null);
            if (Equipment_SETs != null && Equipment_SETs.Any())
            {
                Equipment_SETs = Equipment_SETs.OrderBy(x => x.SETName).ToArray();
                foreach (Equipment_SET en in Equipment_SETs)
                {
                    this.ddlSet.Items.Add(new ListItem(en.SETName, en.SET_ID.ToString()));
                }

                ddlSet.SelectedIndex = 0;
            }

            ListItem[] lts = null;
            ClassPackage.GetEQForDDL_All(out lts);

            if (lts != null && lts.Any())
            {
                foreach (ListItem lt in lts)
                {
                    this.ddlEquipmentList.Items.Add(lt);
                }
                this.ddlEquipmentList.SelectedIndex = 0;
            }
        }
示例#8
0
        private void initial(int?Set_id = null)
        {
            Equipment_SET[] Equipment_SETs = null;
            ClassSet.GetDate_Equipment_SET(out Equipment_SETs, Set_id);

            grid_SetName.DataSource = Equipment_SETs;
            grid_SetName.DataBind();
        }
示例#9
0
        public Button
        (
            BitGetters.BitContent content,
            Func <ClickArgs, Task> onClick,
            ColorGetter?color = null,
            bool isStatic     = false,
            BitGetters.BitIsVisible?isVisible         = null,
            BitGetters.BitIsDisabled?isDisabled       = null,
            BitGetters.BitClasses?classes             = null,
            BitGetters.BitSize?margin                 = null,
            BitGetters.BitSize?padding                = null,
            BitGetters.BitColor?foregroundColor       = null,
            BitGetters.BitColor?backgroundColor       = null,
            BitGetters.BitPixels?pixelsHeight         = null,
            BitGetters.BitPixels?pixelsWidth          = null,
            BitGetters.BitREM?fontSize                = null,
            BitGetters.BitWeight?fontWeight           = null,
            BitGetters.BitDisplay?display             = null,
            BitGetters.BitIsHighlighted?isHighlighted = null,
            BitGetters.BitData?data       = null,
            BitGetters.BitTooltip?tooltip = null
        )
        {
            Spec = new BitSpec
            {
                Content         = content,
                IsStatic        = isStatic,
                IsVisible       = isVisible,
                IsDisabled      = isDisabled,
                Classes         = classes,
                Margin          = margin,
                Padding         = padding,
                ForegroundColor = foregroundColor,
                BackgroundColor = backgroundColor,
                PixelsHeight    = pixelsHeight,
                PixelsWidth     = pixelsWidth,
                FontSize        = fontSize,
                FontWeight      = fontWeight,
                Display         = display,
                IsHighlighted   = isHighlighted,
                Data            = data,
                Tooltip         = tooltip,
            };

            _onClick = onClick;
            _color   = color ?? DefaultColorGetter;

            ConstantClasses = new ClassSet(
                "Integrant.Element.Override.Button",
                "Integrant.Element.Bit",
                "Integrant.Element.Bit." + nameof(Button)
                );

            // ConstantClasses.Add("Integrant.Element.Override.Button:" + color.inv);

            Cache(additionalClasses: LocalClasses());
        }
示例#10
0
        protected override void BuildRenderTree(RenderTreeBuilder builder)
        {
            int seq = -1;

            var rootClasses =
                new ClassSet("Integrant.Element.Component", "Integrant.Element.Component.Modal");

            if (Modal !.Shown)
            {
                rootClasses.Add("Integrant.Element.Component.Modal:Shown");
            }

            // -> Container

            builder.OpenElement(++seq, "div");
            builder.AddAttribute(++seq, "hidden", !Modal !.Shown);
            builder.AddAttribute(++seq, "class", rootClasses.ToString());
            builder.AddAttribute(++seq, "onclick",
                                 EventCallback.Factory.Create <MouseEventArgs>(this, OnBackgroundClick));
            builder.AddElementReferenceCapture(++seq, elemRef => _elemRef = elemRef);

            // - -> Constrainer

            builder.OpenElement(++seq, "div");
            builder.AddAttribute(++seq, "class", "Integrant.Element.Component.Modal.Constrainer");
            builder.AddAttribute(++seq, "style", $"max-width: {Modal.MaxWidth()};");

            // - - -> Content container

            builder.OpenElement(++seq, "div");
            builder.AddAttribute(++seq, "class", "Integrant.Element.Component.Modal.Content");
            builder.AddAttribute(++seq, "onclick", EventCallback.Factory.Create <MouseEventArgs>(this, OnContentClick));
            builder.AddEventStopPropagationAttribute(++seq, "onclick", true);

            // - - - -> Close button

            builder.OpenElement(++seq, "span");
            builder.AddAttribute(++seq, "class", "Integrant.Element.Component.Modal.CloseButton");
            builder.AddAttribute(++seq, "onclick",
                                 EventCallback.Factory.Create <MouseEventArgs>(this, OnCloseButtonClick));
            builder.OpenComponent <MaterialIcon>(++seq);
            builder.AddAttribute(++seq, "ID", "close");
            builder.CloseComponent();
            builder.CloseElement();

            // - - - -> Content

            builder.AddContent(++seq, ChildContent);

            //

            builder.CloseElement();

            builder.CloseElement();

            builder.CloseElement();
        }
示例#11
0
        public Checkbox
        (
            Func <bool, Task> onToggle,
            BitGetters.BitIsChecked?isChecked   = null,
            BitGetters.BitIsDisabled?isDisabled = null,
            BitGetters.BitIsRequired?isRequired = null,
            bool isStatic = true,
            BitGetters.BitIsVisible?isVisible   = null,
            BitGetters.BitClasses?classes       = null,
            BitGetters.BitSize?margin           = null,
            BitGetters.BitSize?padding          = null,
            BitGetters.BitColor?backgroundColor = null,
            BitGetters.BitColor?foregroundColor = null,
            BitGetters.BitPixels?pixelsHeight   = null,
            BitGetters.BitPixels?pixelsWidth    = null,
            BitGetters.BitREM?fontSize          = null,
            BitGetters.BitWeight?fontWeight     = null,
            BitGetters.BitDisplay?display       = null,
            BitGetters.BitData?data             = null,
            BitGetters.BitTooltip?tooltip       = null
        )
        {
            Spec = new BitSpec
            {
                IsChecked       = isChecked,
                IsDisabled      = isDisabled,
                IsRequired      = isRequired,
                IsStatic        = isStatic,
                IsVisible       = isVisible,
                Classes         = classes,
                Margin          = margin,
                Padding         = padding,
                BackgroundColor = backgroundColor,
                ForegroundColor = foregroundColor,
                PixelsHeight    = pixelsHeight,
                PixelsWidth     = pixelsWidth,
                FontSize        = fontSize,
                FontWeight      = fontWeight,
                Display         = display,
                Data            = data,
                Tooltip         = tooltip,
            };

            ConstantClasses = new ClassSet(
                "Integrant.Element.Bit",
                "Integrant.Element.Bit." + nameof(Checkbox)
                );

            Cache(null, AdditionalClasses());

            _onToggle = onToggle;
            Checked   = isChecked?.Invoke() ?? false;
        }
示例#12
0
        public RenderFragment Render
        (
            StructureInstance <TStructure> structure, TStructure value, MemberInstance <TStructure, TMember> member
        ) => builder =>
        {
            int seq = -1;

            builder.OpenElement(++seq, "div");

            //

            var classes = new ClassSet(
                "Integrant.Element.Override.Input",
                "Integrant.Rudiment.Input." + nameof(NumberInput <TStructure, TMember>)
                );

            bool required = InputBuilder.Required(value, member.Member, classes);
            bool disabled = InputBuilder.Disabled(value, member.Member, classes);

            builder.AddAttribute(++seq, "class", classes.ToString());

            //

            InputBuilder.OpenInnerInput
            (
                builder, ref seq,
                value, member.Member,
                "input", "number",
                "value", member.Member.InputValue.Invoke(value, member.Member),
                required, disabled,
                args => OnChange(value, member.Member, args)
            );

            if (_min != null)
            {
                builder.AddAttribute(++seq, "min", _min.Value);
            }

            if (_max != null)
            {
                builder.AddAttribute(++seq, "max", _max.Value);
            }

            if (_step != null)
            {
                builder.AddAttribute(++seq, "step", _step.Value);
            }

            InputBuilder.CloseInnerInput(builder);

            builder.CloseElement();
        };
示例#13
0
        public Title
        (
            BitGetters.BitContent content,
            BitGetters.BitURL?url               = null,
            bool isStatic                       = true,
            BitGetters.BitIsVisible?isVisible   = null,
            BitGetters.BitClasses?classes       = null,
            BitGetters.BitSize?margin           = null,
            BitGetters.BitSize?padding          = null,
            BitGetters.BitColor?backgroundColor = null,
            BitGetters.BitColor?foregroundColor = null,
            BitGetters.BitPixels?pixelsHeight   = null,
            BitGetters.BitPixels?pixelsWidth    = null,
            BitGetters.BitREM?fontSize          = null,
            BitGetters.BitWeight?fontWeight     = null,
            BitGetters.BitDisplay?display       = null,
            BitGetters.BitData?data             = null,
            BitGetters.BitTooltip?tooltip       = null
        )
        {
            Spec = new BitSpec
            {
                Content         = content,
                URL             = url,
                IsStatic        = isStatic,
                IsVisible       = isVisible,
                Classes         = classes,
                Margin          = margin,
                Padding         = padding,
                BackgroundColor = backgroundColor,
                ForegroundColor = foregroundColor,
                PixelsHeight    = pixelsHeight,
                PixelsWidth     = pixelsWidth,
                FontSize        = fontSize,
                FontWeight      = fontWeight,
                Display         = display,
                Data            = data,
                Tooltip         = tooltip,
            };

            ConstantClasses = new ClassSet(
                "Integrant.Element.Bit",
                "Integrant.Element.Bit." + nameof(Title)
                );

            if (url != null)
            {
                ConstantClasses.Add("Integrant.Element.Bit." + nameof(Title) + ":Linked");
            }

            Cache();
        }
示例#14
0
        public static bool Disabled <TStructure, TMember>
        (
            TStructure value, Member <TStructure, TMember> member, ClassSet classes
        )
        {
            if (member.InputIsDisabled?.Invoke(value, member) == true)
            {
                classes.Add("Integrant.Rudiment.Input:Disabled");
                return(true);
            }

            return(false);
        }
示例#15
0
        private void initial_Detail(int?Set_id = null)
        {
            Equipment_SET_detail[] Equipment_SET_details = null;
            ClassSet.GetDate_Equipment_SET_Detail(out Equipment_SET_details, Set_id);

            if (Equipment_SET_details != null && Equipment_SET_details.Any())
            {
                SSEquipments = null;

                int?[] Equip_IDs = Equipment_SET_details.Select(x => (int?)x.Equip_ID).Distinct().ToArray();

                Addgrid_Detail(Equip_IDs);
            }
        }
示例#16
0
        private void Save()
        {
            Equipment_SET Equipment_SETone = new Equipment_SET();
            List <Equipment_SET_detail> lstEquipment_SET_detail = null;

            //GridView grid_Detail = grid_Detail;
            if (this.grid_Detail != null && this.grid_Detail.Rows.Count > 0)
            {
                lstEquipment_SET_detail = new List <Equipment_SET_detail>();

                foreach (GridViewRow item in grid_Detail.Rows)
                {
                    Equipment_SET_detail en = new Equipment_SET_detail();

                    en.Equip_ID = Convert.ToInt32(item.Cells[Enum_grid_Detail.ID.GetHashCode()].Text);         //ID
                    en.cost     = Convert.ToDecimal(item.Cells[Enum_grid_Detail.CostRent.GetHashCode()].Text); //CostRent

                    lstEquipment_SET_detail.Add(en);
                }
            }

            if (VSEnum_Mode == Enum_Mode.Add)
            {
                Equipment_SETone.Price       = Convert.ToDecimal(this.txtPrice.Text);
                Equipment_SETone.SETName     = this.txtSetName.Text;
                Equipment_SETone.Description = this.txtDescription.Text;
            }
            else if (VSEnum_Mode == Enum_Mode.Edit)
            {
                //Equipment_SET[] Equipment_SETs = null;
                //ClassSet.GetDate_Equipment_SET(out Equipment_SETs, VSSet_Id);
                lstEquipment_SET_detail.ToList().ForEach(x => x.SET_ID = VSSet_Id.Value);
                //SSEquipments
            }
            else if (VSEnum_Mode == Enum_Mode.Delete)
            {
            }

            //Call Save
            int?SET_ID = ClassSet.SetData_Equipment(Equipment_SETone, lstEquipment_SET_detail, VSEnum_Mode.GetHashCode());

            if (SET_ID != null)
            {
                initial(SET_ID);

                string message = "บันทึกเรียบร้อยแล้ว";
                MessageShow(message);
                ScriptManager.RegisterClientScriptBlock(this, typeof(Page), "ToggleScript", "Alert(" + message + ")", true);
            }
        }
示例#17
0
        // public event Action? OnClick;

        public Link
        (
            BitGetters.BitContent content,
            BitGetters.BitURL url,
            bool isStatic = true,
            BitGetters.BitIsVisible?isVisible         = null,
            BitGetters.BitClasses?classes             = null,
            BitGetters.BitSize?margin                 = null,
            BitGetters.BitSize?padding                = null,
            BitGetters.BitColor?backgroundColor       = null,
            BitGetters.BitColor?foregroundColor       = null,
            BitGetters.BitPixels?pixelsHeight         = null,
            BitGetters.BitPixels?pixelsWidth          = null,
            BitGetters.BitREM?fontSize                = null,
            BitGetters.BitWeight?fontWeight           = null,
            BitGetters.BitDisplay?display             = null,
            BitGetters.BitIsHighlighted?isHighlighted = null,
            BitGetters.BitData?data       = null,
            BitGetters.BitTooltip?tooltip = null
        )
        {
            Spec = new BitSpec
            {
                Content         = content,
                URL             = url,
                IsStatic        = isStatic,
                IsVisible       = isVisible,
                Classes         = classes,
                Margin          = margin,
                Padding         = padding,
                BackgroundColor = backgroundColor,
                ForegroundColor = foregroundColor,
                PixelsHeight    = pixelsHeight,
                PixelsWidth     = pixelsWidth,
                FontSize        = fontSize,
                FontWeight      = fontWeight,
                Display         = display,
                IsHighlighted   = isHighlighted,
                Data            = data,
                Tooltip         = tooltip,
            };

            ConstantClasses = new ClassSet(
                "Integrant.Element.Bit",
                "Integrant.Element.Bit." + nameof(Link)
                );

            Cache(additionalClasses: LocalClasses());
        }
示例#18
0
        public Heading
        (
            BitGetters.BitContent content,
            Size size     = Size.H1,
            bool isStatic = true,
            BitGetters.BitIsVisible?isVisible   = null,
            BitGetters.BitClasses?classes       = null,
            BitGetters.BitSize?margin           = null,
            BitGetters.BitSize?padding          = null,
            BitGetters.BitColor?backgroundColor = null,
            BitGetters.BitColor?foregroundColor = null,
            BitGetters.BitPixels?pixelsHeight   = null,
            BitGetters.BitPixels?pixelsWidth    = null,
            BitGetters.BitREM?fontSize          = null,
            BitGetters.BitWeight?fontWeight     = null,
            BitGetters.BitDisplay?display       = null,
            BitGetters.BitData?data             = null,
            BitGetters.BitTooltip?tooltip       = null
        )
        {
            Spec = new BitSpec
            {
                Content         = content,
                IsStatic        = isStatic,
                IsVisible       = isVisible,
                Classes         = classes,
                Margin          = margin,
                Padding         = padding,
                BackgroundColor = backgroundColor,
                ForegroundColor = foregroundColor,
                PixelsHeight    = pixelsHeight,
                PixelsWidth     = pixelsWidth,
                FontSize        = fontSize,
                FontWeight      = fontWeight,
                Display         = display,
                Data            = data,
                Tooltip         = tooltip,
            };

            _element = ("h" + (int)size);

            ConstantClasses = new ClassSet(
                "Integrant.Element.Bit",
                "Integrant.Element.Bit." + nameof(Heading)
                );

            Cache();
        }
示例#19
0
        public Image
        (
            BitGetters.BitURL url,
            bool isStatic = true,
            BitGetters.BitIsVisible?isVisible   = null,
            BitGetters.BitClasses?classes       = null,
            BitGetters.BitSize?margin           = null,
            BitGetters.BitSize?padding          = null,
            BitGetters.BitColor?backgroundColor = null,
            BitGetters.BitColor?foregroundColor = null,
            BitGetters.BitPixels?pixelsHeight   = null,
            BitGetters.BitPixels?pixelsWidth    = null,
            BitGetters.BitREM?fontSize          = null,
            BitGetters.BitWeight?fontWeight     = null,
            BitGetters.BitDisplay?display       = null,
            BitGetters.BitData?data             = null,
            BitGetters.BitTooltip?tooltip       = null
        )
        {
            Spec = new BitSpec
            {
                URL             = url,
                IsStatic        = isStatic,
                IsVisible       = isVisible,
                Classes         = classes,
                Margin          = margin,
                Padding         = padding,
                BackgroundColor = backgroundColor,
                ForegroundColor = foregroundColor,
                // PixelsHeight    = pixelsHeight,
                // PixelsWidth     = pixelsWidth,
                FontSize   = fontSize,
                FontWeight = fontWeight,
                Display    = display,
                Data       = data,
                Tooltip    = tooltip,
            };

            _pixelsHeight = pixelsHeight;
            _pixelsWidth  = pixelsWidth;

            ConstantClasses = new ClassSet(
                "Integrant.Element.Bit",
                "Integrant.Element.Bit." + nameof(Image)
                );

            Cache();
        }
示例#20
0
        private void Delete()
        {
            if (VSSet_Id != null)
            {
                int?[]   _set_id       = { VSSet_Id };
                ResultEN result_detail = ClassSet.Delete_Equipment_SET_detail(_set_id);
                if (result_detail != null && result_detail.result)
                {
                    ResultEN result_Set_detail = ClassSet.Delete_Equipment_SET(_set_id);

                    string message = "ลบสำเร็จ";
                    MessageShow(message);
                    ScriptManager.RegisterClientScriptBlock(this, typeof(Page), "ToggleScript", "Alert(" + message + ")", true);
                }
            }
        }
示例#21
0
        protected void ddlCategory_SelectedIndexChanged(object sender, EventArgs e)
        {
            Equipment[] Equipments = null;
            int         _type      = Convert.ToInt32(ddlCategory.SelectedItem.Value);

            ClassSet.LoadTypeEquipment(out Equipments, _type, null);
            if (Equipments != null && Equipments.Any())
            {
                this.ddlEquipmentList.Items.Clear();
                this.ddlEquipmentList.Items.Add(new ListItem("กรุณาเลือก", "-1"));
                foreach (Equipment en in Equipments)
                {
                    this.ddlEquipmentList.Items.Add(new ListItem(en.Fullname, en.ID.ToString()));
                }
                this.ddlEquipmentList.SelectedIndex = 0;
            }
        }
示例#22
0
        protected override void BuildRenderTree(RenderTreeBuilder builder)
        {
            if (StructureInstance.Structure.Validator == null)
            {
                throw new ArgumentNullException(nameof(StructureInstance.Structure.Validator),
                                                "Structure passed to " + nameof(StructureValidations <TS>) + " component does not have a " +
                                                nameof(StructureGetters.StructureValidations <TS>) + ".");
            }

            ClassSet classes = ClassSet.FromStructure(StructureInstance.Structure, Value,
                                                      "Integrant.Rudiment.Component." + nameof(StructureValidations <TS>));

            bool shown = StructureInstance.Structure.IsVisible?.Invoke(StructureInstance.Structure, Value) ?? true;

            //

            int seq = -1;

            builder.OpenElement(++seq, "div");

            builder.AddAttribute(++seq, "class", classes.ToString());

            if (!shown)
            {
                builder.AddAttribute(++seq, "hidden", "hidden");
            }

            if (StructureInstance.ValidationState.IsValidating)
            {
                ValidationBuilder.RenderValidatingNotice(builder, ref seq);
            }
            else
            {
                List <Validation>?validations = StructureInstance.ValidationState.GetStructureValidations();

                if (validations != null)
                {
                    foreach (Validation validation in validations)
                    {
                        builder.AddContent(++seq, ValidationBuilder.RenderResult(validation));
                    }
                }
            }

            builder.CloseElement();
        }
示例#23
0
        protected override void BuildRenderTree(RenderTreeBuilder builder)
        {
            ClassSet classSet = ClassSet.FromMember(Value, _member.Member,
                                                    "Integrant.Rudiment.Component." + nameof(MemberInput <TS, TM>));

            //

            int seq = -1;

            builder.OpenElement(++seq, "div");

            builder.AddAttribute(++seq, "class", classSet.ToString());

            builder.AddContent(++seq, _member.Input !.Render(StructureInstance, Value, _member));

            builder.CloseElement();
        }
示例#24
0
        protected void ddlType_SelectedIndexChanged(object sender, EventArgs e)
        {
            int _type = Convert.ToInt32(ddlType.SelectedItem.Value);

            Equipment_Type[] Equipment_Types = null;
            ClassSet.LoadType(out Equipment_Types, _type);
            if (Equipment_Types != null && Equipment_Types.Any())
            {
                this.ddlCategory.Items.Clear();
                this.ddlCategory.Items.Add(new ListItem("กรุณาเลือก", "-1"));
                foreach (Equipment_Type en in Equipment_Types)
                {
                    this.ddlCategory.Items.Add(new ListItem(en.TypeName, en.ID.ToString()));
                }
                this.ddlCategory.SelectedIndex = 0;
            }
        }
示例#25
0
        // private readonly Restrictor _restrictor = new Restrictor();

        protected override void BuildRenderTree(RenderTreeBuilder builder)
        {
            Member <TS, TM> member = StructureInstance.Structure.GetMember <TM>(ID);

            ClassSet classes = ClassSet.FromMember(Value, member,
                                                   "Integrant.Rudiment.Component." + nameof(MemberKey <TS, TM>));

            //

            int seq = -1;

            builder.OpenElement(++seq, "div");

            builder.AddAttribute(++seq, "class", classes.ToString());

            builder.AddContent(++seq, member.Key.Invoke(Value, member));

            builder.CloseElement();
        }
示例#26
0
        public Filler
        (
            bool isStatic = true,
            BitGetters.BitIsVisible?isVisible = null
        )
        {
            Spec = new BitSpec
            {
                IsStatic  = isStatic,
                IsVisible = isVisible,
            };

            ConstantClasses = new ClassSet(
                "Integrant.Element.Bit",
                "Integrant.Element.Bit." + nameof(Filler)
                );

            Cache();
        }
示例#27
0
        protected override void BuildRenderTree(RenderTreeBuilder builder)
        {
            Member <TS, TM> member = StructureInstance.Structure.GetMember <TM>(ID);

            if (member.Validator == null)
            {
                throw new ArgumentNullException(nameof(member.Validator),
                                                "Member passed to " + nameof(MemberValidations <TS, TM>) + " component does not have a " +
                                                nameof(MemberGetters.MemberValidations <TS, TM>) + ".");
            }

            ClassSet classes = ClassSet.FromMember(Value, member,
                                                   "Integrant.Rudiment.Component." + nameof(MemberValidations <TS, TM>));

            //

            int seq = -1;

            builder.OpenElement(++seq, "div");

            builder.AddAttribute(++seq, "class", classes.ToString());

            if (StructureInstance.ValidationState.IsValidating)
            {
                ValidationBuilder.RenderValidatingNotice(builder, ref seq);
            }
            else
            {
                List <Validation>?validations = StructureInstance.ValidationState.GetMemberValidations(ID);

                if (validations != null)
                {
                    foreach (Validation validation in validations)
                    {
                        builder.AddContent(++seq, ValidationBuilder.RenderResult(validation));
                    }
                }
            }

            builder.CloseElement();
        }
示例#28
0
        private void LoadConfig()
        {
            this.ddlType.Items.Add(new ListItem("กรุณาเลือก", "-1"));
            this.ddlCategory.Items.Add(new ListItem("กรุณาเลือก", "-1"));
            this.ddlEquipmentList.Items.Add(new ListItem("กรุณาเลือก", "-1"));

            Equipment_Type[] Equipment_Types = null;
            ClassSet.LoadType(out Equipment_Types, 0);
            if (Equipment_Types != null && Equipment_Types.Any())
            {
                foreach (Equipment_Type en in Equipment_Types)
                {
                    this.ddlType.Items.Add(new ListItem(en.TypeName, en.ID.ToString()));
                }

                ddlType_SelectedIndexChanged(null, null);

                ddlCategory.SelectedIndex      = 0;
                ddlEquipmentList.SelectedIndex = 0;
            }
        }
示例#29
0
        protected internal string Class(bool initial, string[]?additional = null)
        {
            ClassSet c = ConstantClasses.Clone();

            if (additional != null)
            {
                c.AddRange(additional);
            }

            if (Spec.IsDisabled?.Invoke() == true)
            {
                c.Add("Integrant.Element.Bit:Disabled");
            }

            if (Spec.Classes != null)
            {
                c.AddRange(Spec.Classes.Invoke());
            }

            return(c.ToString());
        }
示例#30
0
        protected override void BuildRenderTree(RenderTreeBuilder builder)
        {
            ClassSet classes = ClassSet.FromStructure(StructureInstance.Structure, Value,
                                                      "Integrant.Rudiment.Component." + nameof(StructureContainer <TS>));

            bool shown = StructureInstance.Structure.IsVisible?.Invoke(StructureInstance.Structure, Value) ?? true;

            //

            int seq = -1;

            builder.OpenComponent <CascadingValue <StructureInstance <TS> > >(++seq);
            builder.AddAttribute(++seq, "Name", "Integrant.Rudiment.StructureInstance");
            builder.AddAttribute(++seq, "Value", StructureInstance);
            builder.AddAttribute(++seq, "IsFixed", true);
            builder.AddAttribute(++seq, "ChildContent", new RenderFragment(builder2 =>
            {
                builder2.OpenComponent <CascadingValue <TS> >(++seq);
                builder2.AddAttribute(++seq, "Name", "Integrant.Rudiment.Value");
                builder2.AddAttribute(++seq, "Value", Value);
                builder2.AddAttribute(++seq, "IsFixed", false);
                builder2.AddAttribute(++seq, "ChildContent", new RenderFragment(builder3 =>
                {
                    builder3.OpenElement(++seq, "div");
                    builder3.AddAttribute(++seq, "class", classes.ToString());

                    if (!shown)
                    {
                        builder3.AddAttribute(++seq, "hidden", "hidden");
                    }

                    builder3.AddContent(++seq, ChildContent);

                    builder3.CloseElement();
                }));

                builder2.CloseComponent();
            }));
            builder.CloseComponent();
        }