Ejemplo n.º 1
0
        private void sizeCriteriaCombo_OnChange(object sender, EventArgs e)
        {
            SizeCriteria sizeCriteria = (SizeCriteria)EnumEx.GetValueFromDescription(typeof(SizeCriteria),
                                                                                     sizeCriteriaCombo.SelectedItem.ToString());

            SearchType searchType = (SearchType)EnumEx.GetValueFromDescription(typeof(SearchType),
                                                                               searchTypeCombo.SelectedItem.ToString());

            if ((searchType == SearchType.Folders || searchType == SearchType.Both) &&
                sizeCriteria != SizeCriteria.Any)
            {
                folderSizeLabel.Visible = true;
            }
            else
            {
                folderSizeLabel.Visible = false;
            }

            switch (sizeCriteria)
            {
            case SizeCriteria.Any:
                firstSizeTextBox.Visible     = false;
                firstSizeScaleCombo.Visible  = false;
                sizeAndLabel.Visible         = false;
                secondSizeTextBox.Visible    = false;
                secondSizeScaleCombo.Visible = false;
                break;

            case SizeCriteria.LessThan:
            case SizeCriteria.GreaterThan:
                firstSizeTextBox.Visible     = true;
                firstSizeScaleCombo.Visible  = true;
                sizeAndLabel.Visible         = false;
                secondSizeTextBox.Visible    = false;
                secondSizeScaleCombo.Visible = false;
                break;

            case SizeCriteria.Between:
                firstSizeTextBox.Visible     = true;
                firstSizeScaleCombo.Visible  = true;
                sizeAndLabel.Visible         = true;
                secondSizeTextBox.Visible    = true;
                secondSizeScaleCombo.Visible = true;
                break;
            }
        }
Ejemplo n.º 2
0
        private void searchTypeCombo_OnChange(object sender, EventArgs e)
        {
            SearchType searchType = (SearchType)EnumEx.GetValueFromDescription(typeof(SearchType),
                                                                               searchTypeCombo.SelectedItem.ToString());

            searchCriteria.SearchType = searchType;

            SizeCriteria sizeCriteria = (SizeCriteria)EnumEx.GetValueFromDescription(typeof(SizeCriteria),
                                                                                     sizeCriteriaCombo.SelectedItem.ToString());

            if ((searchType == SearchType.Folders || searchType == SearchType.Both) &&
                sizeCriteria != SizeCriteria.Any)
            {
                folderSizeLabel.Visible = true;
            }
            else
            {
                folderSizeLabel.Visible = false;
            }
        }
Ejemplo n.º 3
0
        private SizeValidation validateSizeCriteria()
        {
            SizeCriteria sizeCriteria = (SizeCriteria)EnumEx.GetValueFromDescription(typeof(SizeCriteria),
                                                                                     sizeCriteriaCombo.SelectedItem.ToString());

            double firstSize;
            double secondSize;

            long firstTotalSize  = 0;
            long secondTotalSize = 0;

            if (sizeCriteria != SizeCriteria.Any)
            {
                if (double.TryParse(firstSizeTextBox.Text, out firstSize))
                {
                    int firstSizeScale = (int)EnumEx.GetValueFromDescription(typeof(FileSizeScale),
                                                                             firstSizeScaleCombo.SelectedItem.ToString());

                    firstTotalSize = (long)(firstSize * Math.Pow(1024, firstSizeScale));
                }
                else
                {
                    return(sizeCriteria == SizeCriteria.Between ?
                           SizeValidation.FirstSizeBad : SizeValidation.SizeBad);
                }
            }

            if (sizeCriteria == SizeCriteria.Between)
            {
                if (double.TryParse(secondSizeTextBox.Text, out secondSize))
                {
                    int secondSizeScale = (int)EnumEx.GetValueFromDescription(typeof(FileSizeScale),
                                                                              secondSizeScaleCombo.SelectedItem.ToString());

                    secondTotalSize = (long)(secondSize * Math.Pow(1024, secondSizeScale));
                }
                else
                {
                    return(SizeValidation.SecondSizeBad);
                }
            }

            switch (sizeCriteria)
            {
            case SizeCriteria.LessThan:
                if (firstTotalSize == 0)
                {
                    return(SizeValidation.LessThanZero);
                }

                break;

            case SizeCriteria.Between:
                if (firstTotalSize > secondTotalSize)
                {
                    return(SizeValidation.NegativeSpan);
                }

                break;
            }

            searchCriteria.SizeCriteria = sizeCriteria;
            searchCriteria.FirstSize    = firstTotalSize;
            searchCriteria.SecondSize   = secondTotalSize;

            return(SizeValidation.Good);
        }