예제 #1
0
        public WebElementCreateEditDialog(Func <WebElementInfoViewModel, string> validate,
                                          CombinedWebElementInfoViewModel parent,
                                          string elementType,
                                          WebElementInfoViewModel baseInfo)
        {
            _validate  = validate;
            IsEditMode = false;

            Title      = $"Create new WebElement with type: {elementType}";
            WebElement = WebElementsViewModelsHelper.CreateModelFromWebElementType(elementType);

            if (baseInfo != null)
            {
                WebElementsViewModelsHelper.FillModelWithBaseInfo(WebElement, baseInfo, true);
            }

            if (WebElement.InnerKey != null)
            {
                Title = $"Specify new WebElement with role {WebElement.InnerKey}";
            }
            WebElement.Parent = parent;

            InitializeComponent();

            DataContext = this;
        }
        private WebElementInfoViewModel CreateWebElementInfo(CombinedWebElementInfoViewModel parent = null, WebElementInfoViewModel template = null)
        {
            var validator = WebElementCommandsHelper.GetCreateUpdateWebElementValidator(_webElementsTreeUserControl, null);

            //TODO: add ctor override to accept WebElementInfoViewModel with default data
            var dialog = new WebElementCreateEditDialog(validator,
                                                        parent ?? Selected as CombinedWebElementInfoViewModel,
                                                        _elementType,
                                                        template);

            dialog.WebElements = _webElementsTreeUserControl.WebElements;
            if (dialog.ShowDialog() != true)
            {
                return(null);
            }

            var createdWebElement = WebElementsViewModelsHelper.CreateModelFromWebElementType(_elementType);

            WebElementsViewModelsHelper.FillModelWithBaseInfo(
                createdWebElement,
                dialog.WebElement);

            return(createdWebElement);
        }