コード例 #1
0
 public static void FromHexStringNullOrEmpty()
 {
     Assert.Throws <ArgumentNullException>(()
                                           => IntegerConverter.FromHexString(null));
     Assert.Throws <ArgumentOutOfRangeException>(()
                                                 => IntegerConverter.FromHexString(""));
 }
コード例 #2
0
        public static int GetRecommendedThroughput(int partitionCount, double maximumRequestUnitValue, int minimumThroughput, int maximumThroughput, double growthRate)
        {
            if (partitionCount <= 0)
            {
                return(minimumThroughput);
            }

            if (maximumRequestUnitValue <= minimumThroughput)
            {
                maximumRequestUnitValue = minimumThroughput;
                growthRate = 1.0;
            }

            var result = Math.Ceiling(maximumRequestUnitValue / 100 * growthRate) * 100;

            result = result * partitionCount + BufferThroughput;

            if (result <= minimumThroughput)
            {
                return(minimumThroughput);
            }
            else if (result >= maximumThroughput)
            {
                return(maximumThroughput);
            }

            return(IntegerConverter.ToInteger(result));
        }
コード例 #3
0
 public static dynamic GetTSObject(IntegerConverter dynObject)
 {
     if (dynObject is null)
     {
         return(null);
     }
     return(dynObject.teklaObject);
 }
コード例 #4
0
        public LargeInteger(string decimalNumber)
        {
            if (decimalNumber[0] == '-')
            {
                throw new Exception("Cannot contain negative numbers");
            }

            value = IntegerConverter.FromDecimalString(decimalNumber);
        }
コード例 #5
0
ファイル: Benchmark.cs プロジェクト: xuhongliang/nein-math
        static Integer[] Integers(int size)
        {
            var values = new Integer[ValCount];

            for (var i = 0; i < ValCount; i++)
            {
                values[i] = IntegerConverter.FromByteArray(RandomBytes(size));
            }
            return(values);
        }
コード例 #6
0
#pragma warning disable IDE0060
        public static DateTime DeserializeStatic(ref JsonReader reader, JsonSerializerOptions options)
        {
            reader.SkipWhiteSpace();
            var str = reader.ReadNotNullStringSegmentRaw();

            if (IntegerConverter.TryRead(str, out ulong ticks))
            {
                return(unixEpoch.AddSeconds(ticks));
            }

            throw new JsonParsingException("Invalid Unix timestamp.");
        }
        private static object CreateProperty(object obj, string[] names, int nameIndex)
        {
            // If next field is index then create an array
            string subField      = names.Length > nameIndex + 1 ? names[nameIndex + 1] : null;
            int?   subFieldIndex = IntegerConverter.ToNullableInteger(subField);

            if (subFieldIndex != null)
            {
                return(new List <object>());
            }

            // Else create a dictionary
            return(new Dictionary <string, object>());
        }
コード例 #8
0
        public static bool MatchEnum(object expectedType, object value)
        {
            if (value == null)
            {
                return(false);
            }

            if (!(expectedType is Type))
            {
                return(false);
            }

            var type = expectedType as Type;

#if !CORE_NET
            if (type.IsEnum == false)
            {
                return(false);
            }
#endif

            try
            {
                int?intValue = IntegerConverter.ToNullableInteger(value);
                if (intValue != null && Enum.ToObject(type, intValue) != null)
                {
                    return(true);
                }
            }
            catch
            {
                // Ignore...
            }

            try
            {
                string strValue = StringConverter.ToNullableString(value);
                if (strValue != null && Enum.Parse(type, strValue) != null)
                {
                    return(true);
                }
            }
            catch
            {
                // Ignore...
            }

            return(false);
        }
コード例 #9
0
        public LargeInteger(byte[] bytes)
        {
            if (bytes != null)
            {
                if (bytes[0] > 127)
                {
                    bytes = ByteManipulator.BigEndianTruncate(bytes, bytes.Length + 1); //add big endian padding to get only positive numbers
                }

                if (BitConverter.IsLittleEndian)
                {
                    bytes = bytes.Reverse().ToArray();
                }

                value = IntegerConverter.FromByteArray(bytes);
            }
            else
            {
                value = 0;
            }
        }
コード例 #10
0
        protected internal virtual void applyQueryParams(MetricsQuery query, MultivaluedMap <string, string> queryParameters)
        {
            DateConverter dateConverter = new DateConverter();

            dateConverter.ObjectMapper = objectMapper;

            if (queryParameters.getFirst(QUERY_PARAM_START_DATE) != null)
            {
                DateTime startDate = dateConverter.convertQueryParameterToType(queryParameters.getFirst(QUERY_PARAM_START_DATE));
                query.startDate(startDate);
            }

            if (queryParameters.getFirst(QUERY_PARAM_END_DATE) != null)
            {
                DateTime endDate = dateConverter.convertQueryParameterToType(queryParameters.getFirst(QUERY_PARAM_END_DATE));
                query.endDate(endDate);
            }

            IntegerConverter intConverter = new IntegerConverter();

            intConverter.ObjectMapper = objectMapper;

            if (queryParameters.getFirst(QUERY_PARAM_FIRST_RESULT) != null)
            {
                int firstResult = intConverter.convertQueryParameterToType(queryParameters.getFirst(QUERY_PARAM_FIRST_RESULT)).Value;
                query.offset(firstResult);
            }

            if (queryParameters.getFirst(QUERY_PARAM_MAX_RESULTS) != null)
            {
                int maxResults = intConverter.convertQueryParameterToType(queryParameters.getFirst(QUERY_PARAM_MAX_RESULTS)).Value;
                query.limit(maxResults);
            }

            if (queryParameters.getFirst(QUERY_PARAM_AGG_BY_REPORTER) != null)
            {
                query.aggregateByReporter();
            }
        }
コード例 #11
0
        /// <summary>
        /// Converts map element into an integer or returns default value if conversion is not possible.
        /// </summary>
        /// <param name="key">a key of element to get.</param>
        /// <param name="defaultValue">the default value</param>
        /// <returns>integer value of the element or default value if conversion is not supported.</returns>
        /// See <see cref="IntegerConverter.ToIntegerWithDefault(object, int)"/>
        public int GetAsIntegerWithDefault(string key, int defaultValue)
        {
            var value = Get(key);

            return(IntegerConverter.ToIntegerWithDefault(value, defaultValue));
        }
コード例 #12
0
        /// <summary>
        /// Converts map element into an integer or returns null if conversion is not possible.
        /// </summary>
        /// <param name="key">a key of element to get.</param>
        /// <returns>integer value of the element or null if conversion is not supported.</returns>
        /// See <see cref="IntegerConverter.ToNullableInteger(object)"/>
        public int?GetAsNullableInteger(string key)
        {
            var value = Get(key);

            return(IntegerConverter.ToNullableInteger(value));
        }
コード例 #13
0
 public PagingParams(object skip, object take, object total = null)
 {
     Skip  = IntegerConverter.ToNullableInteger(skip);
     Take  = IntegerConverter.ToNullableInteger(take);
     Total = BooleanConverter.ToBooleanWithDefault(total, false);
 }
コード例 #14
0
 /// <summary>
 /// Converts array element into an integer or returns null if conversion is not possible.
 /// </summary>
 /// <param name="index">an index of element to get.</param>
 /// <returns>integer value of element or null if conversion is not supported.</returns>
 /// See <see cref="IntegerConverter.ToNullableInteger(object)"/>
 public int?GetAsNullableInteger(int index)
 {
     return(IntegerConverter.ToNullableInteger(this[index]));
 }
コード例 #15
0
        /// <summary>
        /// Checks if object has a property with specified name.
        /// The object can be a user defined object, map or array.The property name
        /// correspondently must be object property, map key or array index.
        /// </summary>
        /// <param name="obj">an object to introspect.</param>
        /// <param name="name">a name of the property to check.</param>
        /// <returns>true if the object has the property and false if it doesn't.</returns>
        public static bool HasProperty(object obj, string name)
        {
            if (obj == null || name == null)
            {
                return(false);
            }

            var jObject = obj as JObject;

            if (jObject != null)
            {
                var thisObj = jObject;
                foreach (var property in thisObj.Properties())
                {
                    if (name.Equals(property.Name, StringComparison.OrdinalIgnoreCase))
                    {
                        return(true);
                    }
                }
                return(false);
            }

            var jArray = obj as JArray;

            if (jArray != null)
            {
                var list  = jArray;
                var index = IntegerConverter.ToNullableInteger(name);
                return(index >= 0 && index < list.Count);
            }

            var map = obj as IDictionary;

            if (map != null)
            {
                foreach (var key in map.Keys)
                {
                    if (name.Equals(key.ToString(), StringComparison.OrdinalIgnoreCase))
                    {
                        return(true);
                    }
                }
                return(false);
            }

            var genDictionary = obj as IDictionary <string, object>;

            if (genDictionary != null)
            {
                foreach (var key in genDictionary.Keys)
                {
                    if (name.Equals(key, StringComparison.OrdinalIgnoreCase))
                    {
                        return(true);
                    }
                }
                return(false);
            }

            var enumerable = obj as IEnumerable;

            if (enumerable != null)
            {
                var index       = IntegerConverter.ToNullableInteger(name);
                var genericEnum = enumerable.Cast <object>();
                return(index >= 0 && index < genericEnum.Count());
            }

            return(PropertyReflector.HasProperty(obj, name));
        }
コード例 #16
0
        private void WriteUp_Click(object sender, RoutedEventArgs e)
        {
            Console.WriteLine(ListViewHeaderSet);
            IntegerConverter integerConverter = new IntegerConverter();

            //WE GET THE SELECTED ITEM LISTVIEW
            Contracts selected = (Contracts)lvUsers.SelectedItem;
            string    content  = System.IO.File.ReadAllText($@"C:\Users\gnpie\OneDrive\Escritorio\proyectos\Portal Ciudadano\{ListViewHeaderSet.ToString()}\{selected.Name}.txt");

            //ON THE RELATED .TXT WE SEEK THE VARIABLES CONTAINDE ON IT
            List <int> listOfLegalDocumentVariablesIndices = new List <int>();
            bool       variableFinded = true;
            int        lastsearching  = 0;

            while (variableFinded == true)
            {
                int startIndex = content.IndexOf("${", lastsearching);
                if (startIndex == -1)
                {
                    variableFinded = false;
                }
                if (startIndex != -1)
                {
                    listOfLegalDocumentVariablesIndices.Add(startIndex + 2);
                }
                int endIndex = content.IndexOf("}", lastsearching);
                if (endIndex != -1)
                {
                    listOfLegalDocumentVariablesIndices.Add(endIndex);
                }
                lastsearching = endIndex + 1;
            }

            int           iterator = 0;
            List <string> listOfLegalDocumentVariablesNames = new List <string>();

            while (iterator <= listOfLegalDocumentVariablesIndices.Count - 2)
            {
                int    length = listOfLegalDocumentVariablesIndices[iterator + 1] - listOfLegalDocumentVariablesIndices[iterator];
                string piece  = content.Substring(listOfLegalDocumentVariablesIndices[iterator], length);
                listOfLegalDocumentVariablesNames.Add(piece);
                iterator = iterator + 2;
            }

            // INITIALIZATION OF WORD DOCUMENT
            Microsoft.Office.Interop.Word.Application word = new Microsoft.Office.Interop.Word.Application();
            word.Documents.Add();
            word.Visible       = true;
            word.DisplayAlerts = Microsoft.Office.Interop.Word.WdAlertLevel.wdAlertsNone;
            Microsoft.Office.Interop.Word.Document doc = word.ActiveDocument;

            //WE FIND THE SELECTED CASE DATA

            Client selectedClient = new Client();

            foreach (Client item in AllClients)
            {
                if (item.clients_name == lbUsers.Text)
                {
                    selectedClient = item;
                }
            }

            //WE STORE THE INPUTS (TEXTBOXES) CONTENT, FOR THE DOCUMENT CONSTRUCTOR


            int maxLoops = VisualTreeHelper.GetChildrenCount(StackLayoutMap);
            Dictionary <string, string> labelsAndTextBoxesDict = new Dictionary <string, string>();

            for (int i = 0; i < maxLoops; i = i + 2)
            {
                string xamlLabelEle = VisualTreeHelper.GetChild(StackLayoutMap, i).ToString();
                //ver lector de xml xdoc
                string xamlTextBoxEle = "";
                if (i == maxLoops - 1)
                {
                    xamlTextBoxEle = VisualTreeHelper.GetChild(StackLayoutMap, i).ToString();
                }
                else
                {
                    xamlTextBoxEle = VisualTreeHelper.GetChild(StackLayoutMap, i + 1).ToString();
                }
                int startOnTextBox = xamlTextBoxEle.IndexOf("TextBox: ") + 9;
                int startOnLabel   = xamlLabelEle.IndexOf("Label: ") + 7;

                string textPropertiOfXamlElementTextBox  = xamlTextBoxEle.Substring(startOnTextBox); //HERE WE GET THE CONTENT OF TEXTBOX, WITH A TRICK
                string contentPropertiOfXamlElementLabel = xamlLabelEle.Substring(startOnLabel);

                labelsAndTextBoxesDict.Add(contentPropertiOfXamlElementLabel, textPropertiOfXamlElementTextBox);
            }

            // SECTIONS VARIABLES

            string rut = selectedClient.clients_rut;

            string[] rutArr                 = rut.Split('-');
            string   verifyingDigit         = integerConverter.Convert(Convert.ToInt64(rutArr[1]));
            string   theRestOFTheRut        = rutArr[0].Replace(".", "");
            long     theRestOFTheRutInteger = Convert.ToInt64(theRestOFTheRut);
            string   theRestOFTheRutOnWords = integerConverter.Convert(theRestOFTheRutInteger);
            string   stringifiedRut         = theRestOFTheRutOnWords + " guion " + verifyingDigit;

            string introduction  = $"EN SANTIAGO, REPÚBLICA DE CHILE, a {integerConverter.Convert(DateTime.Today.Day)} de {DateTime.Now.ToString("MMMM")} del año {integerConverter.Convert(DateTime.Today.Year)}, ante mí, R. ALFREDO MARTÍN ILLANES, abogado, Notario Púbico Titular de la Décimo Quinta Notaria de Santiago, con oficio en calle Mardoqueo Fernández doscientos uno, oficinas ciento uno y ciento dos, comuna de Providencia, comparece: ";
            string comparecencia = $"{selectedClient.clients_name}, {selectedClient.clients_nationality}, {selectedClient.clients_civilStatus}, {selectedClient.clients_job}, cédula nacional de identidad número {stringifiedRut}";
            string prefacio      = @" el compareciente mayor de edad, quien me acredita su identidad con la cédula personal antes citada y expone: ";

            //SECTION 1.a
            Microsoft.Office.Interop.Word.Paragraph paragraph1A = doc.Content.Paragraphs.Add(System.Reflection.Missing.Value);
            paragraph1A.Range.Text      = (selected.Name).ToUpper();
            paragraph1A.Range.Font.Size = 14;
            paragraph1A.Range.Font.Bold = 1;
            paragraph1A.Range.Font.Name = "Helvetica";
            paragraph1A.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
            paragraph1A.Range.InsertParagraphAfter();
            //SECTION 1.b
            Microsoft.Office.Interop.Word.Paragraph paragraph1B = doc.Content.Paragraphs.Add(System.Reflection.Missing.Value);
            paragraph1B.Range.Text      = selectedClient.clients_name.ToUpper();
            paragraph1B.Range.Font.Size = 14;
            paragraph1B.Range.Font.Bold = 1;
            paragraph1B.Range.Font.Name = "Helvetica";
            paragraph1B.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
            paragraph1B.Range.InsertParagraphAfter();
            //SECTION 1.c
            Microsoft.Office.Interop.Word.Paragraph paragraph1C = doc.Content.Paragraphs.Add(System.Reflection.Missing.Value);
            paragraph1C.Range.Text      = "A";
            paragraph1C.Range.Font.Size = 14;
            paragraph1C.Range.Font.Bold = 1;
            paragraph1C.Range.Font.Name = "Helvetica";
            paragraph1C.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
            paragraph1C.Range.InsertParagraphAfter();
            //SECTION 1.d
            Microsoft.Office.Interop.Word.Paragraph paragraph1D = doc.Content.Paragraphs.Add(System.Reflection.Missing.Value);
            paragraph1D.Range.Text      = "MEMIN";
            paragraph1D.Range.Font.Size = 14;
            paragraph1D.Range.Font.Bold = 1;
            paragraph1D.Range.Font.Name = "Helvetica";
            paragraph1D.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
            paragraph1D.Range.InsertParagraphAfter();

            //SECTION 2
            Microsoft.Office.Interop.Word.Paragraph paragraph2 = doc.Content.Paragraphs.Add(System.Reflection.Missing.Value);
            paragraph2.Range.Text      = introduction + comparecencia + prefacio;
            paragraph2.Range.Font.Size = 12;
            paragraph2.Range.Font.Bold = 0;
            paragraph2.Range.Font.Name = "Helvetica";
            paragraph2.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphJustify;
            //paragraph.Range.ParagraphFormat.LineSpacing = (float) Microsoft.Office.Interop.Word.WdLineSpacing.wdLineSpace1pt5;
            paragraph2.Range.InsertParagraphAfter();
            //SECTION 3
            Microsoft.Office.Interop.Word.Paragraph paragraph3 = doc.Content.Paragraphs.Add(System.Reflection.Missing.Value);

            //============================================================================================================================


            foreach (KeyValuePair <string, string> entry in labelsAndTextBoxesDict)
            {
                if (content.Contains(entry.Key))
                {
                    int a;
                    if (Int32.TryParse(entry.Value, out a))
                    {
                        IntegerConverter intConverter = new IntegerConverter();
                        content = content.Replace("${" + entry.Key + "}", intConverter.Convert(Int64.Parse(entry.Value)));
                    }
                    else
                    {
                        content = content.Replace("${" + entry.Key + "}", entry.Value);
                    }
                }
            }

            /*string modifiedContent = content.Replace("${ANTECEDENTES}", "");
             * string modifiedContent2 = modifiedContent.Replace("${FOJAS}", "");
             * string modifiedContent3 = modifiedContent2.Replace("${NUMERO}", "");
             * string modifiedContent4 = modifiedContent3.Replace("${AÑO}", "");
             * string modifiedContent5 = modifiedContent4.Replace("${CIRCUNSCRIPCION}", "");
             * string modifiedContent6 = modifiedContent5.Replace("${PRECIO}", "");*/
            paragraph3.Range.Text      = content;
            paragraph3.Range.Font.Size = 12;
            paragraph3.Range.Font.Bold = 0;
            paragraph3.Range.Font.Name = "Helvetica";
            paragraph3.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphJustify;
            //paragraph.Range.ParagraphFormat.LineSpacing = (float)Microsoft.Office.Interop.Word.WdLineSpacing.wdLineSpaceDouble;
            paragraph3.Range.InsertParagraphAfter();

            //SIGN SECTION
            Microsoft.Office.Interop.Word.Paragraph sign1 = doc.Content.Paragraphs.Add(System.Reflection.Missing.Value);
            paragraph1B.Range.Text      = selectedClient.clients_name.ToUpper();
            paragraph1B.Range.Font.Size = 14;
            paragraph1B.Range.Font.Bold = 1;
            paragraph1B.Range.Font.Name = "Helvetica";
            paragraph1B.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft;
            paragraph1B.Range.InsertParagraphAfter();
            Microsoft.Office.Interop.Word.Paragraph rut1 = doc.Content.Paragraphs.Add(System.Reflection.Missing.Value);
            paragraph1B.Range.Text      = selectedClient.clients_rut;
            paragraph1B.Range.Font.Size = 14;
            paragraph1B.Range.Font.Bold = 1;
            paragraph1B.Range.Font.Name = "Helvetica";
            paragraph1B.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft;
            paragraph1B.Range.InsertParagraphAfter();
        }
コード例 #17
0
 public static void FromByteArrayNull()
 {
     Assert.Throws <ArgumentNullException>(()
                                           => IntegerConverter.FromByteArray(null));
 }
コード例 #18
0
        public void FromByteArray(byte[] value, Integer expected)
        {
            var actual = IntegerConverter.FromByteArray(value);

            Assert.Equal(expected, actual);
        }
コード例 #19
0
        public void TestIntegerConverter()
        {
            IntegerConverter integerConverter = new IntegerConverter();

            Assert.True(integerConverter.CanConvertTo(typeof(byte)));
            Assert.True(integerConverter.CanConvertTo(typeof(sbyte)));
            Assert.True(integerConverter.CanConvertTo(typeof(short)));
            Assert.True(integerConverter.CanConvertTo(typeof(ushort)));
            Assert.True(integerConverter.CanConvertTo(typeof(int)));
            Assert.True(integerConverter.CanConvertTo(typeof(uint)));
            Assert.True(integerConverter.CanConvertTo(typeof(long)));
            Assert.True(integerConverter.CanConvertTo(typeof(ulong)));

            Assert.False(integerConverter.CanConvertTo(typeof(string)));
            Assert.False(integerConverter.CanConvertTo(typeof(float)));
            Assert.False(integerConverter.CanConvertTo(typeof(double)));
            Assert.False(integerConverter.CanConvertTo(typeof(decimal)));
            Assert.False(integerConverter.CanConvertTo(typeof(Enum)));

            Assert.True(integerConverter.CanConvertFrom(" 10  "));
            Assert.True(integerConverter.CanConvertFrom("123"));
            Assert.True(integerConverter.CanConvertFrom("1,2,3,4   "));
            Assert.True(integerConverter.CanConvertFrom("   1,234,567  "));
            Assert.True(integerConverter.CanConvertFrom(" 000,000"));
            Assert.True(integerConverter.CanConvertFrom(" 3e7  "));
            Assert.True(integerConverter.CanConvertFrom("500e-2"));
            Assert.True(integerConverter.CanConvertFrom("    6E4  "));
            Assert.True(integerConverter.CanConvertFrom(" 2E+5"));
            Assert.True(integerConverter.CanConvertFrom("    0xFF"));
            Assert.True(integerConverter.CanConvertFrom("0X123   "));
            Assert.True(integerConverter.CanConvertFrom(" 0x1F2A   "));
            Assert.True(integerConverter.CanConvertFrom("-0X1"));

            Assert.False(integerConverter.CanConvertFrom("abc"));
            Assert.False(integerConverter.CanConvertFrom(""));
            Assert.False(integerConverter.CanConvertFrom("   "));
            Assert.False(integerConverter.CanConvertFrom("."));
            Assert.False(integerConverter.CanConvertFrom("  abc123"));
            Assert.False(integerConverter.CanConvertFrom("0x   "));
            Assert.False(integerConverter.CanConvertFrom("  e4  "));
            Assert.False(integerConverter.CanConvertFrom("23e  "));
            Assert.False(integerConverter.CanConvertFrom(" 1 2 3"));
            Assert.False(integerConverter.CanConvertFrom(" 1E-4 "));
            Assert.False(integerConverter.CanConvertFrom(" --4"));
            Assert.False(integerConverter.CanConvertFrom("ABCDEF"));
            Assert.False(integerConverter.CanConvertFrom("0x0X1"));

            Assert.Equal((byte)1, integerConverter.Convert(typeof(byte), "1"));
            Assert.Equal((sbyte)123, integerConverter.Convert(typeof(sbyte), " 123"));
            Assert.Equal((short)-23, integerConverter.Convert(typeof(short), "-23    "));
            Assert.Equal((ushort)5000, integerConverter.Convert(typeof(ushort), "   5,0,0,0   "));
            Assert.Equal(-20000, integerConverter.Convert(typeof(int), " -2e4 "));
            Assert.Equal(2300000u, integerConverter.Convert(typeof(uint), "23e5"));
            Assert.Equal(1234567890L, integerConverter.Convert(typeof(long), "1,234,567,890  "));
            Assert.Equal(123456789UL, integerConverter.Convert(typeof(ulong), "  1,2,3,4,5,6,7,8,9"));
            Assert.Equal(123400L, integerConverter.Convert(typeof(object), "    1,234E2    "));

            Assert.Equal((byte)3, integerConverter.Convert(typeof(byte), "+0x3"));
            Assert.Equal((sbyte)123, integerConverter.Convert(typeof(sbyte), " 0X7B   "));
            Assert.Equal((short)-35, integerConverter.Convert(typeof(short), "-0x23  "));
            Assert.Equal((ushort)2748, integerConverter.Convert(typeof(ushort), "   +0xABC   "));
            Assert.Equal(-11259375, integerConverter.Convert(typeof(int), " -0xAbCdEf "));
            Assert.Equal(65535u, integerConverter.Convert(typeof(uint), "0XFFFF"));
            Assert.Equal(-78187493520L, integerConverter.Convert(typeof(long), "-0x1234567890  "));
            Assert.Equal(0UL, integerConverter.Convert(typeof(ulong), "  0x0 "));
            Assert.Equal(3735928559L, integerConverter.Convert(typeof(object), "    0XDEADBEEF    "));

            Assert.Throws <InvalidOperationException>(() => integerConverter.Convert(typeof(byte), ","));
            Assert.Throws <InvalidOperationException>(() => integerConverter.Convert(typeof(sbyte), "256"));
            Assert.Throws <InvalidOperationException>(() => integerConverter.Convert(typeof(short), "1234567890"));
            Assert.Throws <InvalidOperationException>(() => integerConverter.Convert(typeof(object), "123e-2"));
            Assert.Throws <InvalidOperationException>(() => integerConverter.Convert(typeof(uint), "-0xF"));
        }
コード例 #20
0
        public static void SetProperty(object obj, string name, object value)
        {
            if (obj == null)
            {
                throw new ArgumentNullException(nameof(obj), "Object cannot be null");
            }
            if (name == null)
            {
                throw new ArgumentNullException(nameof(name), "Method name cannot be null");
            }

            var type   = obj.GetType().GetTypeInfo();
            var isDict = type.GetInterfaces().Contains(typeof(IDictionary)) || type.GetInterfaces().Contains(typeof(IDictionary <,>));

            if (isDict)
            {
                var mapObj = (IDictionary <string, object>)obj;

                foreach (var key in mapObj.Keys)
                {
                    if (name.Equals(key, StringComparison.OrdinalIgnoreCase))
                    {
                        mapObj[key] = value;
                        return;
                    }
                }

                mapObj[name] = value;
            }
            else if (obj.GetType().IsArray)
            {
                var array  = ((Array)obj);
                var length = array.Length;
                var index  = IntegerConverter.ToIntegerWithDefault(name, -1);

                if (index >= 0 && index < length)
                {
                    array.SetValue(value, index);
                }
            }
            else if (type.GetInterfaces().Contains(typeof(IList)) || type.GetInterfaces().Contains(typeof(IList <>)))
            {
                var list  = (IList <object>)obj;
                var index = IntegerConverter.ToIntegerWithDefault(name, -1);
                if (index < 0)
                {
                    return;
                }

                if (index < list.Count)
                {
                    list[index] = value;
                }
                else
                {
                    while (index - 1 >= list.Count)
                    {
                        list.Add(null);
                    }
                    list.Add(value);
                }
            }
            else
            {
                PropertyReflector.SetProperty(obj, name, value);
            }
        }
コード例 #21
0
        void ListViewSelectionChange(object sender, SelectionChangedEventArgs args)
        {
            //WE GET THE SELECTED ITEM LISTVIEW
            Contracts selected = (Contracts)lvUsers.SelectedItem;
            string    content  = System.IO.File.ReadAllText($@"C:\Users\gnpie\OneDrive\Escritorio\proyectos\Portal Ciudadano\{ListViewHeaderSet.ToString()}\{selected.Name}.txt");

            //ON THE RELATED .TXT WE SEEK THE VARIABLES CONTAINED ON IT
            List <int> listOfLegalDocumentVariablesIndices = new List <int>();
            bool       variableFinded = true;
            int        lastsearching  = 0;

            while (variableFinded == true)
            {
                int startIndex = content.IndexOf("${", lastsearching);
                if (startIndex == -1)
                {
                    variableFinded = false;
                }
                if (startIndex != -1)
                {
                    listOfLegalDocumentVariablesIndices.Add(startIndex + 2);
                }
                int endIndex = content.IndexOf("}", lastsearching);
                if (endIndex != -1)
                {
                    listOfLegalDocumentVariablesIndices.Add(endIndex);
                }
                lastsearching = endIndex + 1;
            }

            int           iterator = 0;
            List <string> listOfLegalDocumentVariablesNames = new List <string>(); //HERE ARE THE VARIABLES FOR THE DOCUMENT BUILDING


            while (iterator <= listOfLegalDocumentVariablesIndices.Count - 2)
            {
                int    length = listOfLegalDocumentVariablesIndices[iterator + 1] - listOfLegalDocumentVariablesIndices[iterator];
                string piece  = content.Substring(listOfLegalDocumentVariablesIndices[iterator], length);
                listOfLegalDocumentVariablesNames.Add(piece);
                iterator = iterator + 2;
            }
            //HERE GOES THE XALM MANIPULATION
            if (listOfLegalDocumentVariablesNames.Count > 0)
            {
                int i = 0;

                StackLayoutMap.Children.Clear();
                do
                {
                    IntegerConverter integerConverter = new IntegerConverter();
                    string           textboxName      = integerConverter.Convert(i + 1).Trim();

                    var label = new Label
                    {
                        Content = listOfLegalDocumentVariablesNames[i]
                    };

                    var textbox = new TextBox();

                    if (listOfLegalDocumentVariablesNames[i] == "ANTECEDENTES")
                    {
                        textbox = new TextBox
                        {
                            Text         = "",
                            Name         = textboxName,
                            Height       = 180,
                            TextWrapping = TextWrapping.Wrap
                        };
                    }
                    else
                    {
                        textbox = new TextBox
                        {
                            Text = "",
                            Name = textboxName
                        };
                    }


                    StackLayoutMap.Children.Add(label);
                    StackLayoutMap.Children.Add(textbox);
                    textboxesList.Add(textboxName);

                    i = i + 1;
                }while (i < listOfLegalDocumentVariablesNames.Count);
            }
        }
コード例 #22
0
        public void FromHexString(string value, Integer expected)
        {
            var actual = IntegerConverter.FromHexString(value);

            Assert.Equal(expected, actual);
        }
コード例 #23
0
        /// <summary>
        /// Gets value of object property specified by its name.
        /// The object can be a user defined object, map or array.The property name
        /// correspondently must be object property, map key or array index.
        /// </summary>
        /// <param name="obj">an object to read property from.</param>
        /// <param name="name">a name of the property to get.</param>
        /// <returns>the property value or null if property doesn't exist or introspection failed.</returns>
        public static object GetProperty(object obj, string name)
        {
            if (obj == null || name == null)
            {
                return(false);
            }

            name = name.ToLower();

            var jObject = obj as JObject;

            if (jObject != null)
            {
                var thisObj = jObject;
                foreach (var property in thisObj.Properties())
                {
                    if (name.Equals(property.Name, StringComparison.OrdinalIgnoreCase))
                    {
                        return(property.Value);
                    }
                }
                return(null);
            }

            var jArray = obj as JArray;

            if (jArray != null)
            {
                var list  = jArray;
                var index = IntegerConverter.ToNullableInteger(name);
                return(index >= 0 && index < list.Count ? list[index.Value] : null);
            }

            var map = obj as IDictionary;

            if (map != null)
            {
                foreach (var key in map.Keys)
                {
                    if (name.Equals(key.ToString(), StringComparison.OrdinalIgnoreCase))
                    {
                        return(map[key]);
                    }
                }
            }

            var genDictionary = obj as IDictionary <string, object>;

            if (genDictionary != null)
            {
                foreach (var key in genDictionary.Keys)
                {
                    if (name.Equals(key, StringComparison.OrdinalIgnoreCase))
                    {
                        return(genDictionary[key]);
                    }
                }
            }

            var enumerable = obj as IEnumerable;

            if (enumerable != null)
            {
                var index = IntegerConverter.ToNullableInteger(name);
                if (index >= 0)
                {
                    var list = (IEnumerable)obj;
                    foreach (var value in list)
                    {
                        if (index == 0)
                        {
                            return(value);
                        }
                        index--;
                    }
                }
                return(null);
            }

            return(PropertyReflector.GetProperty(obj, name));
        }
コード例 #24
0
 protected Integer ToInteger(BigInteger value)
 {
     return(IntegerConverter.FromByteArray(value.ToByteArray()));
 }
コード例 #25
0
        public static DateTimeOffset DeserializeStatic(ref JsonReader reader, JsonSerializerOptions options)
        {
            var str = reader.ReadNotNullStringSegmentRaw();
            var i   = 0;

            switch (str.Length)
            {
            // YYYY
            case 4:
            {
                var y = (str[i++] - (byte)'0') * 1000 + (str[i++] - (byte)'0') * 100 + (str[i++] - (byte)'0') * 10 + (str[i] - (byte)'0');
                return(new DateTimeOffset(y, 1, 1, 0, 0, 0, TimeSpan.Zero));
            }

            // YYYY-MM
            case 7:
            {
                var y = (str[i++] - (byte)'0') * 1000 + (str[i++] - (byte)'0') * 100 + (str[i++] - (byte)'0') * 10 + (str[i++] - (byte)'0');
                if (str[i++] != (byte)'-')
                {
                    goto ERROR;
                }
                var m = (str[i++] - (byte)'0') * 10 + (str[i] - (byte)'0');
                return(new DateTimeOffset(y, m, 1, 0, 0, 0, TimeSpan.Zero));
            }

            // YYYY-MM-DD
            case 10:
            {
                var y = (str[i++] - (byte)'0') * 1000 + (str[i++] - (byte)'0') * 100 + (str[i++] - (byte)'0') * 10 + (str[i++] - (byte)'0');
                if (str[i++] != (byte)'-')
                {
                    goto ERROR;
                }
                var m = (str[i++] - (byte)'0') * 10 + (str[i++] - (byte)'0');
                if (str[i++] != (byte)'-')
                {
                    goto ERROR;
                }
                var d = (str[i++] - (byte)'0') * 10 + (str[i] - (byte)'0');
                return(new DateTimeOffset(y, m, d, 0, 0, 0, TimeSpan.Zero));
            }
            }

            // range-first section requires 19
            if (str.Length < 19)
            {
                goto ERROR;
            }

            var year = (str[i++] - (byte)'0') * 1000 + (str[i++] - (byte)'0') * 100 + (str[i++] - (byte)'0') * 10 + (str[i++] - (byte)'0');

            if (str[i++] != (byte)'-')
            {
                goto ERROR;
            }
            var month = (str[i++] - (byte)'0') * 10 + (str[i++] - (byte)'0');

            if (str[i++] != (byte)'-')
            {
                goto ERROR;
            }
            var day = (str[i++] - (byte)'0') * 10 + (str[i++] - (byte)'0');

            if (str[i++] != (byte)'T')
            {
                goto ERROR;
            }

            var hour = (str[i++] - (byte)'0') * 10 + (str[i++] - (byte)'0');

            if (str[i++] != (byte)':')
            {
                goto ERROR;
            }
            var minute = (str[i++] - (byte)'0') * 10 + (str[i++] - (byte)'0');

            if (str[i++] != (byte)':')
            {
                goto ERROR;
            }
            var second = (str[i++] - (byte)'0') * 10 + (str[i++] - (byte)'0');

            var ticks = 0;

            if (i < str.Length && str[i] == '.')
            {
                i++;

                // *7.
                if (!(i < str.Length) || !IntegerConverter.IsNumber(str[i]))
                {
                    goto END_TICKS;
                }
                ticks += (str[i] - (byte)'0') * 1000000;
                i++;

                if (!(i < str.Length) || !IntegerConverter.IsNumber(str[i]))
                {
                    goto END_TICKS;
                }
                ticks += (str[i] - (byte)'0') * 100000;
                i++;

                if (!(i < str.Length) || !IntegerConverter.IsNumber(str[i]))
                {
                    goto END_TICKS;
                }
                ticks += (str[i] - (byte)'0') * 10000;
                i++;

                if (!(i < str.Length) || !IntegerConverter.IsNumber(str[i]))
                {
                    goto END_TICKS;
                }
                ticks += (str[i] - (byte)'0') * 1000;
                i++;

                if (!(i < str.Length) || !IntegerConverter.IsNumber(str[i]))
                {
                    goto END_TICKS;
                }
                ticks += (str[i] - (byte)'0') * 100;
                i++;

                if (!(i < str.Length) || !IntegerConverter.IsNumber(str[i]))
                {
                    goto END_TICKS;
                }
                ticks += (str[i] - (byte)'0') * 10;
                i++;

                if (!(i < str.Length) || !IntegerConverter.IsNumber(str[i]))
                {
                    goto END_TICKS;
                }
                ticks += (str[i] - (byte)'0') * 1;
                i++;

                // others, lack of precision
                while (i < +str.Length && IntegerConverter.IsNumber(str[i]))
                {
                    i++;
                }
            }

END_TICKS:

            if ((i >= str.Length || str[i] != '-') && str[i] != '+')
            {
                return(new DateTimeOffset(year, month, day, hour, minute, second, TimeSpan.Zero).AddTicks(ticks));
            }

            {
                if (!(i + 5 < str.Length))
                {
                    goto ERROR;
                }

                var minus = str[i++] == '-';

                var h = (str[i++] - (byte)'0') * 10 + (str[i++] - (byte)'0');
                i++;
                var m = (str[i++] - (byte)'0') * 10 + (str[i] - (byte)'0');

                var offset = new TimeSpan(h, m, 0);
                if (minus)
                {
                    offset = offset.Negate();
                }

                return(new DateTimeOffset(year, month, day, hour, minute, second, offset).AddTicks(ticks));
            }


ERROR:
#if SPAN_BUILTIN
            throw new InvalidOperationException("invalid datetime format. value:" + StringEncoding.Utf8.GetString(str));
#else
            unsafe
            {
                fixed(byte *ptr = &str[0])
                {
                    throw new InvalidOperationException("invalid datetime format. value:" + StringEncoding.Utf8.GetString(ptr, str.Length));
                }
            }
#endif
        }
コード例 #26
0
        public static TimeSpan DeserializeStatic(ref JsonReader reader, JsonSerializerOptions options)
        {
            var str = reader.ReadNotNullStringSegmentRaw();
            var i   = 0;
            var to  = str.Length;

            // check day exists
            var hasDay = false;
            {
                var foundDot   = false;
                var foundColon = false;
                for (var j = i; j < str.Length; j++)
                {
                    if (str[j] == '.')
                    {
                        if (foundColon)
                        {
                            break;
                        }
                        foundDot = true;
                    }
                    else if (str[j] == ':')
                    {
                        if (foundDot)
                        {
                            hasDay = true;
                        }
                        foundColon = true;
                    }
                }
            }

            // check sign
            var minus = false;

            if (str[i] == '-')
            {
                minus = true;
                i++;
            }

            var day = 0;

            if (hasDay)
            {
                var poolArray = ArrayPool <byte> .Shared.Rent(256);

                try
                {
                    for (; str[i] != '.'; i++)
                    {
                        poolArray[day++] = str[i];
                    }

                    var jsonReader = new JsonReader(poolArray);
                    day = jsonReader.ReadInt32();
                    i++; // skip '.'
                }
                finally
                {
                    ArrayPool <byte> .Shared.Return(poolArray);
                }
            }

            var hour = (str[i++] - (byte)'0') * 10 + (str[i++] - (byte)'0');

            if (str[i++] != (byte)':')
            {
                goto ERROR;
            }
            var minute = (str[i++] - (byte)'0') * 10 + (str[i++] - (byte)'0');

            if (str[i++] != (byte)':')
            {
                goto ERROR;
            }
            var second = (str[i++] - (byte)'0') * 10 + (str[i++] - (byte)'0');

            var ticks = 0;

            if (i < to && str[i] == '.')
            {
                i++;

                // *7.
                if (!(i < to) || !IntegerConverter.IsNumber(str[i]))
                {
                    goto END_TICKS;
                }
                ticks += (str[i] - (byte)'0') * 1000000;
                i++;

                if (!(i < to) || !IntegerConverter.IsNumber(str[i]))
                {
                    goto END_TICKS;
                }
                ticks += (str[i] - (byte)'0') * 100000;
                i++;

                if (!(i < to) || !IntegerConverter.IsNumber(str[i]))
                {
                    goto END_TICKS;
                }
                ticks += (str[i] - (byte)'0') * 10000;
                i++;

                if (!(i < to) || !IntegerConverter.IsNumber(str[i]))
                {
                    goto END_TICKS;
                }
                ticks += (str[i] - (byte)'0') * 1000;
                i++;

                if (!(i < to) || !IntegerConverter.IsNumber(str[i]))
                {
                    goto END_TICKS;
                }
                ticks += (str[i] - (byte)'0') * 100;
                i++;

                if (!(i < to) || !IntegerConverter.IsNumber(str[i]))
                {
                    goto END_TICKS;
                }
                ticks += (str[i] - (byte)'0') * 10;
                i++;

                if (!(i < to) || !IntegerConverter.IsNumber(str[i]))
                {
                    goto END_TICKS;
                }
                ticks += (str[i] - (byte)'0') * 1;
                i++;

                // others, lack of precision
                while (i < to && IntegerConverter.IsNumber(str[i]))
                {
                    i++;
                }
            }

END_TICKS:

            // be careful to overflow
            var ts = new TimeSpan(day, hour, minute, second);
            var tk = TimeSpan.FromTicks(ticks);

            return((minus)
                ? ts.Negate().Subtract(tk)
                : ts.Add(tk));

ERROR:
#if SPAN_BUILTIN
            throw new InvalidOperationException("invalid datetime format. value:" + StringEncoding.Utf8.GetString(str));
#else
            throw new InvalidOperationException("invalid datetime format.");
#endif
        }
コード例 #27
0
 /// <summary>
 /// Converts array element into an integer or returns default value if conversion is not possible.
 /// </summary>
 /// <param name="index">an index of element to get.</param>
 /// <param name="defaultValue">the default value</param>
 /// <returns>integer value of element or default value if conversion is not supported.</returns>
 /// See <see cref="IntegerConverter.ToIntegerWithDefault(object, int)"/>
 public int GetAsIntegerWithDefault(int index, int defaultValue)
 {
     return(IntegerConverter.ToIntegerWithDefault(this[index], defaultValue));
 }
コード例 #28
0
 public int?GetAsNullableInteger()
 {
     return(IntegerConverter.ToNullableInteger(Value));
 }
コード例 #29
0
        public static DateTime DeserializeStatic(ref JsonReader reader, JsonSerializerOptions options)
        {
            var str = reader.ReadNotNullStringSegmentRaw();
            var i   = 0;

            switch (str.Length)
            {
            // YYYY
            case 4:
            {
                var y = (str[i++] - (byte)'0') * 1000 + (str[i++] - (byte)'0') * 100 + (str[i++] - (byte)'0') * 10 + (str[i] - (byte)'0');
                return(new DateTime(y, 1, 1));
            }

            // YYYY-MM
            case 7:
            {
                var y = (str[i++] - (byte)'0') * 1000 + (str[i++] - (byte)'0') * 100 + (str[i++] - (byte)'0') * 10 + (str[i++] - (byte)'0');
                if (str[i++] != (byte)'-')
                {
                    goto ERROR;
                }
                var m = (str[i++] - (byte)'0') * 10 + (str[i] - (byte)'0');
                return(new DateTime(y, m, 1));
            }

            // YYYY-MM-DD
            case 10:
            {
                var y = (str[i++] - (byte)'0') * 1000 + (str[i++] - (byte)'0') * 100 + (str[i++] - (byte)'0') * 10 + (str[i++] - (byte)'0');
                if (str[i++] != (byte)'-')
                {
                    goto ERROR;
                }
                var m = (str[i++] - (byte)'0') * 10 + (str[i++] - (byte)'0');
                if (str[i++] != (byte)'-')
                {
                    goto ERROR;
                }
                var d = (str[i++] - (byte)'0') * 10 + (str[i] - (byte)'0');
                return(new DateTime(y, m, d));
            }
            }

            // range-first section requires 19
            if (str.Length < 19)
            {
                goto ERROR;
            }

            var year = (str[i++] - (byte)'0') * 1000 + (str[i++] - (byte)'0') * 100 + (str[i++] - (byte)'0') * 10 + (str[i++] - (byte)'0');

            if (str[i++] != (byte)'-')
            {
                goto ERROR;
            }
            var month = (str[i++] - (byte)'0') * 10 + (str[i++] - (byte)'0');

            if (str[i++] != (byte)'-')
            {
                goto ERROR;
            }
            var day = (str[i++] - (byte)'0') * 10 + (str[i++] - (byte)'0');

            if (str[i++] != (byte)'T')
            {
                goto ERROR;
            }

            var hour = (str[i++] - (byte)'0') * 10 + (str[i++] - (byte)'0');

            if (str[i++] != (byte)':')
            {
                goto ERROR;
            }
            var minute = (str[i++] - (byte)'0') * 10 + (str[i++] - (byte)'0');

            if (str[i++] != (byte)':')
            {
                goto ERROR;
            }
            var second = (str[i++] - (byte)'0') * 10 + (str[i++] - (byte)'0');

            var ticks = 0;

            if (i < str.Length && str[i] == '.')
            {
                i++;

                // *7.
                if (!(i < str.Length) || !IntegerConverter.IsNumber(str[i]))
                {
                    goto END_TICKS;
                }
                ticks += (str[i] - (byte)'0') * 1000000;
                i++;

                if (!(i < str.Length) || !IntegerConverter.IsNumber(str[i]))
                {
                    goto END_TICKS;
                }
                ticks += (str[i] - (byte)'0') * 100000;
                i++;

                if (!(i < str.Length) || !IntegerConverter.IsNumber(str[i]))
                {
                    goto END_TICKS;
                }
                ticks += (str[i] - (byte)'0') * 10000;
                i++;

                if (!(i < str.Length) || !IntegerConverter.IsNumber(str[i]))
                {
                    goto END_TICKS;
                }
                ticks += (str[i] - (byte)'0') * 1000;
                i++;

                if (!(i < str.Length) || !IntegerConverter.IsNumber(str[i]))
                {
                    goto END_TICKS;
                }
                ticks += (str[i] - (byte)'0') * 100;
                i++;

                if (!(i < str.Length) || !IntegerConverter.IsNumber(str[i]))
                {
                    goto END_TICKS;
                }
                ticks += (str[i] - (byte)'0') * 10;
                i++;

                if (!(i < str.Length) || !IntegerConverter.IsNumber(str[i]))
                {
                    goto END_TICKS;
                }
                ticks += (str[i] - (byte)'0') * 1;
                i++;

                // others, lack of precision
                while (i < str.Length && IntegerConverter.IsNumber(str[i]))
                {
                    i++;
                }
            }

END_TICKS:
            var kind = DateTimeKind.Unspecified;

            if (i < str.Length && str[i] == 'Z')
            {
                kind = DateTimeKind.Utc;
            }
            else if (i < str.Length && str[i] == '-' || str[i] == '+')
            {
                if (!(i + 5 < str.Length))
                {
                    goto ERROR;
                }

                var minus = str[i++] == '-';

                var h = (str[i++] - (byte)'0') * 10 + (str[i++] - (byte)'0');
                i++;
                var m = (str[i++] - (byte)'0') * 10 + (str[i] - (byte)'0');

                var offset = new TimeSpan(h, m, 0);
                if (minus)
                {
                    offset = offset.Negate();
                }

                return(new DateTime(year, month, day, hour, minute, second, DateTimeKind.Utc).AddTicks(ticks).Subtract(offset).ToLocalTime());
            }

            return(new DateTime(year, month, day, hour, minute, second, kind).AddTicks(ticks));

ERROR:
#if SPAN_BUILTIN
            throw new InvalidOperationException("invalid datetime format. value:" + StringEncoding.Utf8.GetString(str));
#else
            throw new InvalidOperationException("invalid datetime format.");
#endif
        }
コード例 #30
0
 public int GetAsIntegerWithDefault(int defaultValue)
 {
     return(IntegerConverter.ToIntegerWithDefault(Value, defaultValue));
 }