Example #1
0
        private async void DropOnClick(object sender, EventArgs eventArgs)
        {
            if (this.convertProgress.Visible)
            {
                return;
            }

            var ofd = new OpenFileDialog
            {
                CheckFileExists = true,
                Multiselect     = true,
                Filter          = "Image files (*.flif, *.png)|*.flif;*.png",
            };

            var result = ofd.ShowDialog(this);

            if (result == DialogResult.OK)
            {
                this.convertProgress.Visible = true;
                await ConvertProvider.Convert(this.convertProgress, ofd.FileNames.ToList());

                this.convertProgress.Visible = false;
            }

            ofd.Dispose();
        }
        public void Convert_ToBool_Exception()
        {
            var convertProvider = new ConvertProvider();
            var converter       = convertProvider.GetConverter(typeof(bool));

            var rawData = "";

            Assert.Throws <InvalidDataException>(() =>
            {
                converter.Convert(rawData);
            });
        }
        public void Convert_ToString_Success()
        {
            var convertProvider = new ConvertProvider();
            var converter       = convertProvider.GetConverter(typeof(string));

            var rawData = "some data";
            var result  = converter.Convert(rawData);

            var expected = "some data";

            Assert.AreEqual(expected, result);
        }
        public void Convert_ToBool_False_Success()
        {
            var convertProvider = new ConvertProvider();
            var converter       = convertProvider.GetConverter(typeof(bool));

            var rawData = "FaLsE";
            var result  = converter.Convert(rawData);

            var expected = false;

            Assert.AreEqual(expected, result);
        }
        public void Convert_ToInt_Exception_FromDouble()
        {
            var convertProvider = new ConvertProvider();
            var converter       = convertProvider.GetConverter(typeof(int));

            var rawData = "10.56";

            Assert.Throws <InvalidDataException>(() =>
            {
                converter.Convert(rawData);
            });
        }
        public void Convert_ToInt_Exception_ContainsChar()
        {
            var convertProvider = new ConvertProvider();
            var converter       = convertProvider.GetConverter(typeof(int));

            var rawData = "101" + "some string";

            Assert.Throws <InvalidDataException>(() =>
            {
                converter.Convert(rawData);
            });
        }
        public void Convert_ToInt_Success()
        {
            var convertProvider = new ConvertProvider();
            var converter       = convertProvider.GetConverter(typeof(int));

            var rawData = "101";
            var result  = converter.Convert(rawData);

            var expected = 101;

            Assert.AreEqual(expected, result);
        }
        public void Convert_ToDouble_Success_FromInt()
        {
            var convertProvider = new ConvertProvider();
            var converter       = convertProvider.GetConverter(typeof(double));

            var rawData = "10";
            var result  = converter.Convert(rawData);

            var expected = 10;

            Assert.AreEqual(expected, result);
        }
        public void Convert_ToLong_Exception_ContainsChar()
        {
            var convertProvider = new ConvertProvider();
            var converter       = convertProvider.GetConverter(typeof(long));

            var rawData = ((long)int.MaxValue + 10).ToString() + "some string";

            Assert.Throws <InvalidDataException>(() =>
            {
                converter.Convert(rawData);
            });
        }
        public void Convert_ToLong_Success()
        {
            var convertProvider = new ConvertProvider();
            var converter       = convertProvider.GetConverter(typeof(long));

            var rawData = ((long)int.MaxValue + 10).ToString();
            var result  = converter.Convert(rawData);

            var expected = 2147483657;

            Assert.AreEqual(expected, result);
        }
Example #11
0
        /// <summary>
        /// Convert a field value into a write able value
        /// </summary>
        /// <param name="fieldValue">object value to convert</param>
        /// <returns>converted value</returns>
        public object CreateValueForField(object fieldValue)
        {
            object val = null;

            if (fieldValue == null)
            {
                if (NullValue == null)
                {
                    //Did not respect nullable type, so hence second part of boolean expression
                    if (FieldTypeInternal.IsValueType && !IsNullableType)
                    {
                        throw new BadUsageException("Null Value found. You must specify a NullValueAttribute in the " + FieldInfo.Name +
                                                    " field of type " + FieldTypeInternal.Name + ", because this is a ValueType.");
                    }
                    else
                    {
                        val = null;
                    }
                }
                else
                {
                    val = NullValue;
                }
            }
            else if (FieldTypeInternal == fieldValue.GetType())
            {
                val = fieldValue;
            }
            else
            {
                if (ConvertProvider == null)
                {
                    val = Convert.ChangeType(fieldValue, FieldTypeInternal, null);
                }
                else
                {
                    try
                    {
                        val = Convert.ChangeType(fieldValue, FieldTypeInternal, null);
                    }
                    catch
                    {
                        val = ConvertProvider.StringToField(fieldValue.ToString());
                    }
                }
            }

            return(val);
        }
Example #12
0
 /// <summary>
 /// Convert a field value to a string representation
 /// </summary>
 /// <param name="fieldValue">Object containing data</param>
 /// <returns>String representation of field</returns>
 internal string CreateFieldString(object fieldValue)
 {
     if (ConvertProvider == null)
     {
         if (fieldValue == null)
         {
             return(string.Empty);
         }
         else
         {
             return(fieldValue.ToString());
         }
     }
     else
     {
         return(ConvertProvider.FieldToString(fieldValue));
     }
 }
Example #13
0
        private async void MainForm_DragDrop(object sender, DragEventArgs e)
        {
            if (this.convertProgress.Visible)
            {
                return;
            }

            var paths = e.Data.GetData(DataFormats.FileDrop) as string[];

            if (paths == null || !paths.Any())
            {
                return;
            }

            this.convertProgress.Visible = true;
            await ConvertProvider.Convert(this.convertProgress, paths.ToList());

            this.convertProgress.Visible = false;
        }
Example #14
0
        /// <summary>
        /// Create field object after extracting the string from the underlying
        /// input data
        /// </summary>
        /// <param name="fieldString">Information extracted?</param>
        /// <param name="line">Underlying input data</param>
        /// <returns>Object to assign to field</returns>
        private AssignResult AssignFromString(ExtractedInfo fieldString, LineInfo line)
        {
            object val;

            var extractedString = fieldString.ExtractedString();

            try
            {
                if (ConvertProvider == null)
                {
                    if (IsStringField)
                    {
                        val = TrimString(extractedString);
                    }
                    else
                    {
                        extractedString = extractedString.Trim();

                        if (extractedString.Length == 0)
                        {
                            return(new AssignResult {
                                Value = GetNullValue(line), NullValueUsed = true
                            });
                        }
                        else
                        {
                            val = Convert.ChangeType(extractedString, FieldTypeInternal, null);
                        }
                    }
                }
                else
                {
                    var trimmedString = extractedString.Trim();

                    if (ConvertProvider.CustomNullHandling == false &&
                        trimmedString.Length == 0)
                    {
                        return(new AssignResult {
                            Value = GetNullValue(line), NullValueUsed = true
                        });
                    }
                    else
                    {
                        if (TrimMode == FileHelpers.TrimMode.Both)
                        {
                            val = ConvertProvider.StringToField(trimmedString);
                        }
                        else
                        {
                            val = ConvertProvider.StringToField(TrimString(extractedString));
                        }

                        if (val == null)
                        {
                            return new AssignResult {
                                       Value = GetNullValue(line), NullValueUsed = true
                            }
                        }
                        ;
                    }
                }

                return(new AssignResult {
                    Value = val
                });
            }
            catch (ConvertException ex)
            {
                ex.FieldName    = FieldInfo.Name;
                ex.LineNumber   = line.mReader.LineNumber;
                ex.ColumnNumber = fieldString.ExtractedFrom + 1;
                throw;
            }
            catch (BadUsageException)
            {
                throw;
            }
            catch (Exception ex)
            {
                if (ConvertProvider == null || ConvertProvider.GetType().Assembly == typeof(FieldBase).Assembly)
                {
                    throw new ConvertException(extractedString, FieldTypeInternal, FieldInfo.Name, line.mReader.LineNumber, fieldString.ExtractedFrom + 1, ex.Message, ex);
                }
                else
                {
                    throw new ConvertException(extractedString, FieldTypeInternal, FieldInfo.Name, line.mReader.LineNumber, fieldString.ExtractedFrom + 1, "Your custom converter: " + ConvertProvider.GetType().Name + " throws an " + ex.GetType().Name + " with the message: " + ex.Message, ex);
                }
            }
        }