Exemple #1
0
        private void add_Button_Click(object sender, EventArgs e)
        {
            bool   success      = false;
            string errorMessage = "Please verify your parameters match the criteria";

            //string message = "";
            //List<QuickSetParameterData> param;
            //1. Parse out individual Parameters
            //2. Create Scan settings data
            //3. Create individual quickset data
            //4. ???
            //5. Profit

            if (!string.IsNullOrWhiteSpace(name_TextBox.Text))
            {
                var scanSettingsData = new ScanSettings(originalSize_ComboBox.SelectedValue.ToString(), originalSides_ComboBox.SelectedValue.ToString(), contentOrientation_ComboBox.SelectedValue.ToString(), imagePreview_ComboBox.SelectedValue.ToString());
                var fileSettingsData = new FileSettings
                {
                    FileType = new DataPair <string>
                    {
                        Key   = fileType_ComboBox.SelectedValue.ToString(),
                        Value = true
                    },
                    Resolution = new DataPair <string>()
                    {
                        Key   = resolution_ComboBox.SelectedValue.ToString(),
                        Value = true
                    }
                };
                List <QuickSetParameterData> param = (List <QuickSetParameterData>)quickSetParameterDataBindingSource.List;


                //Validate Fields here
                //Add validation for

                AQuickSet addQuickSet;
                switch (quickSetType_ComboBox.SelectedValue.ToString())
                {
                case "Email":
                    _currentType = "Email";

                    if (EmailQuickSetData.Validate(param))
                    {
                        string to          = param[0].ParameterValue;
                        string defaultFrom = param[1].ParameterValue;
                        string fromUser    = param[2].ParameterValue;

                        addQuickSet = new EmailQuickSetData(fromUser, defaultFrom, to, name_TextBox.Text, _currentType, scanSettingsData, fileSettingsData);
                        _quickSetList.QuickSetData.Key.Add(addQuickSet);
                        _viewList.Add(new QuickSetTableData(addQuickSet.QName, addQuickSet.QType));
                        success = true;
                    }

                    break;

                case "Copy":
                    _currentType = "Copy";

                    if (CopyQuickSetData.Validate(param))
                    {
                        string copies = param[0].ParameterValue;

                        addQuickSet = new CopyQuickSetData(copies, name_TextBox.Text, _currentType, scanSettingsData, fileSettingsData);
                        _quickSetList.QuickSetData.Key.Add(addQuickSet);
                        _viewList.Add(new QuickSetTableData(addQuickSet.QName, addQuickSet.QType));
                        success = true;
                    }
                    break;

                case "Folder":
                    _currentType = "Folder";
                    if (STNFQuickSetData.Validate(param))
                    {
                        List <string> folderPaths = param.Select(x => x.ParameterValue).ToList();

                        //string folderPath = param[0].ParameterValue;

                        addQuickSet = new STNFQuickSetData(folderPaths, name_TextBox.Text, _currentType, scanSettingsData, fileSettingsData);
                        _quickSetList.QuickSetData.Key.Add(addQuickSet);
                        _viewList.Add(new QuickSetTableData(addQuickSet.QName, addQuickSet.QType));
                        success = true;
                    }
                    break;

                case "SharePoint":
                    _currentType = "SharePoint";
                    if (STSharePointQuickSetData.Validate(param))
                    {
                        string path = param[0].ParameterValue;

                        addQuickSet = new STSharePointQuickSetData(path, name_TextBox.Text, _currentType, scanSettingsData, fileSettingsData);
                        _quickSetList.QuickSetData.Key.Add(addQuickSet);
                        _viewList.Add(new QuickSetTableData(addQuickSet.QName, addQuickSet.QType));
                        success = true;
                    }

                    break;

                case "USB":
                    _currentType = "USB";
                    if (STUSBQuickSetData.Validate(param))
                    {
                        addQuickSet = new STUSBQuickSetData(name_TextBox.Text, _currentType, scanSettingsData, fileSettingsData);
                        _quickSetList.QuickSetData.Key.Add(addQuickSet);
                        _viewList.Add(new QuickSetTableData(addQuickSet.QName, addQuickSet.QType));
                        success = true;
                    }
                    break;

                case "Fax":
                    _currentType = "Fax";
                    if (ScanFaxQuickSetData.Validate(param))
                    {
                        string number = param[0].ParameterValue;

                        addQuickSet = new ScanFaxQuickSetData(number, name_TextBox.Text, _currentType, scanSettingsData, fileSettingsData);
                        _quickSetList.QuickSetData.Key.Add(addQuickSet);
                        _viewList.Add(new QuickSetTableData(addQuickSet.QName, addQuickSet.QType));
                        success = true;
                    }
                    break;

                case "FTP":
                    _currentType = "FTP";
                    if (FTPQuickSetData.Validate(param))
                    {
                        List <string> ftpPaths = param.Select(x => x.ParameterValue).ToList();

                        addQuickSet = new FTPQuickSetData(ftpPaths, name_TextBox.Text, _currentType, scanSettingsData, fileSettingsData);
                        _quickSetList.QuickSetData.Key.Add(addQuickSet);
                        _viewList.Add(new QuickSetTableData(addQuickSet.QName, addQuickSet.QType));
                        success = true;
                    }
                    break;

                default:
                    throw new Exception("Quick Set Type is unhandled, failed to create.");
                }
            }
            else
            {
                success      = false;
                errorMessage = "A quick set name is required.";
            }

            if (!success)
            {
                MessageBox.Show(errorMessage, "Parameter Format", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }

            quickSetTableDataBindingSource.ResetBindings(false);
            if (_viewList.Count > 0)
            {
                save_changes.Enabled = true;
            }
        }