Пример #1
0
        private void LoadScreenConfig()
        {
            ScreenConfig mainScreen = new ScreenConfig();
            if (cmdForm.SelectedValue == null) return;

            spComtrolCommand.Panel2.Enabled = false;
            mainScreen.control_id = Converts.ParseLongNullable(cmdForm.SelectedValue.ToString());
            mainScreen = ServiceProvider.ScreenConfigService.FindByKeys(mainScreen, false);
            
            if (mainScreen != null)
            {
                if (mainScreen.sc_screen_image_id != null)
                {
                    mainScreen.image = ServiceProvider.ScreenImageService.FindByKeys(new ScreenImage() { sc_screen_image_id = mainScreen.sc_screen_image_id }, false).image;
                    dragContainer2.BackgroundImage = Converts.ParseImage(mainScreen.image);
                }
                else {
                    dragContainer2.BackgroundImage = null;
                }
                dragContainer2.BackColor = Color.FromArgb(mainScreen.background_color);
                dragContainer2.HideBoxResize();
                dragContainer2.ControlCommand.control_id = mainScreen.control_id;
                dragContainer2.ClearDragItem();
                dragContainer2.Width = mainScreen.control_width;
                dragContainer2.Height = mainScreen.control_height;

                txtWidth.Text = dragContainer2.Width.ToString();
                txtHeight.Text = dragContainer2.Height.ToString();

                List<ScreenConfig> dragItem = new List<ScreenConfig>();
                dragItem = ServiceProvider.ScreenConfigService.getChildScreenByParent(mainScreen.control_id);
                foreach (ScreenConfig item in dragItem)
                {
                    Control.DragItem d = new Control.DragItem(new Point(0, 0));
                    d.CustomProperties.Text = item.display_text;
                    d.CustomProperties.BorderStyle = (BorderStyle)item.border_style;
                    d.ControlCommand.ControlState = ObjectState.Add;
                    d.ControlCommand.control_type = string.IsNullOrEmpty(item.control_type) ? ControlType.Button : item.control_type;
                    if (d.ControlCommand.control_type == ControlType.Table)
                    {
                        d.ControlCommand.TableName = item.control_command;
                    }
                    else if (d.ControlCommand.control_type == ControlType.Button && item.control_command_group == CommandGroup.OpenNextScreen)
                    {
                        d.ControlCommand.NextScreen = item.control_command;
                    }
                    d.Width = item.control_width;
                    d.Height = item.control_height;
                    d.FontStr = item.font;
                    d.CustomProperties.BackGroundImage =Converts.ParseImage(item.image);
                    d.BackColor = Color.FromArgb(item.background_color);
                    d.ForeColor = Color.FromArgb(item.fore_color);
                    d.Top = item.position_top;
                    d.Left = item.position_left;
                    dragContainer2.AddDragControl(d);
                }

            }
        }
Пример #2
0
        private void SaveScreen()
        {
            try
            {

                ScreenConfig mainScreen = new ScreenConfig();
                string screenCode = string.Empty;
                if (cmdForm.SelectedItem != null)
                {
                    screenCode = (cmdForm.SelectedItem as ScreenConfig).control_code;
                }

                if (string.IsNullOrEmpty(screenCode))
                {
                    dragContainer2.ControlCommand.control_id = null;
                    screenCode = Microsoft.VisualBasic.Interaction.InputBox("Please Input Screen Code", "Screen code", string.Empty);
                }

                List<ScreenConfig> saveControls = new List<ScreenConfig>();
                mainScreen.control_id = dragContainer2.ControlCommand.control_id;
                mainScreen.control_code = screenCode;
                mainScreen.control_type = ControlType.Form;
                mainScreen.control_width = dragContainer2.Width;
                mainScreen.control_height = dragContainer2.Height;
                mainScreen.background_color = dragContainer2.BackColor.ToArgb();
                mainScreen.image =Converts.ParseByte(dragContainer2.BackgroundImage);
                foreach (Control.DragItem item in dragContainer2.DragItem.Where(a => a.ControlCommand.ControlState != ObjectState.Delete))
                {
                    ScreenConfig dragItem = new ScreenConfig();
                    dragItem.control_id = item.ControlCommand.control_id;
                    dragItem.control_parent_id = mainScreen.control_id;
                    dragItem.control_type = item.ControlCommand.control_type;
                    if (dragItem.control_type == ControlType.Table)
                    {
                        dragItem.control_command = item.ControlCommand.TableName;
                    }
                    else if (dragItem.control_type == ControlType.Button && !string.IsNullOrEmpty(item.ControlCommand.NextScreen))
                    {
                        dragItem.control_command = item.ControlCommand.NextScreen;
                        dragItem.control_command_group = CommandGroup.OpenNextScreen;

                    }
                    dragItem.border_style = (int)item.BorderStyle;
                    dragItem.display_text = item.CustomProperties.Text;
                    dragItem.control_width = item.Width;
                    dragItem.control_height = item.Height;
                    dragItem.background_color = item.BackColor.ToArgb();
                    dragItem.image =Converts.ParseByte(item.CustomProperties.BackGroundImage);
                    dragItem.fore_color = item.ForeColor.ToArgb();
                    dragItem.percent_height = item.PercenyHeight;
                    dragItem.percent_width = item.PercenyWidth;
                    dragItem.position_left = item.CustomProperties.Left;
                    dragItem.position_top = item.CustomProperties.Top;
                    dragItem.font = item.FontStr;
                    dragItem.ObjectState = item.ControlCommand.ControlState;
                    saveControls.Add(dragItem);
                }
                ServiceProvider.ScreenConfigService.Save(mainScreen, saveControls);
                this.LoadDDlScreen();
                cmdForm.SelectedIndex = cmdForm.FindString(mainScreen.control_code);
                base.ShowMessage(GeneralMessage.SaveComplete);

            }
            catch (ValidationException ex)
            {

                base.ShowErrorMessage(ex);
            }
        }