Esempio n. 1
0
        public static void Parse2085(TextBox t, string tableData, int fieldid, int tagid)
        {
            db db = new db(System.Configuration.ConfigurationSettings.AppSettings["db"]);
            db.ParameterAdd("@FieldID", fieldid);
            db.ParameterAdd("@TagID", tagid);

            db.ParameterAdd("@IsEstimate", "");
            var parsedData = Regex.Matches(tableData.Trim(), @"(\w*): (\d{1,3}(\,\d{3})*)\s*km\s*(\((\d{4})\))?\s*");
            int year = 0;
            double total = 0d;
            string notes = "";
            int c = 0;
            db.SetSqlStoredProcedure();
            for (var i = 0; i < parsedData.Count; i++)
            {
                if (parsedData[i].Groups[1].Value == "total")
                {
                    Double.TryParse(parsedData[i].Groups[2].Value, out total);
                }
                else if (parsedData[i].Groups[1].Value == "note")
                {
                    notes = parsedData[i].Groups[2].Value;
                }
                if (parsedData[i].Groups[5].Value != "")
                {
                    int.TryParse(parsedData[i].Groups[5].Value, out year);
                }

            }
            if (year == 0)
            {
                return;
            }
            db.ParameterAdd("@Value", total);
            db.ParameterAdd("@Year", year);
            db.ParameterAdd("@Note", notes);
            try
            {
                db.ParameterEdit("@IsEstimate", false);
                var ex = db.ExecuteSql("CIA_Insert_Data");
                if (ex != null)
                {
                    t.Text += ex.Message + "--->" + Environment.NewLine;
                }
            }
            catch (Exception convEx)
            {
                t.Text += convEx.Message + "-->"  + fieldid + Environment.NewLine;
            }
            db.CloseConnection();
        }
Esempio n. 2
0
        public static string ParseTableData(string tableData, int fieldid, int tagid)
        {
            var sb = new StringBuilder();
            var db = new db(System.Configuration.ConfigurationSettings.AppSettings["db"]);
            db.ParameterAdd("@FieldID", fieldid);
            db.ParameterAdd("@TagID", tagid);
            db.ParameterAdd("@Value", "");
            db.ParameterAdd("@Year", "");
            db.ParameterAdd("@IsEstimate", "");
            var parsedData = Regex.Split(tableData.Trim(), @"[\r\n]+").ToList();
            int c = 0;
            var note = parsedData.FirstOrDefault(a => a.Trim().StartsWith("note:"));
            var noteRemove = note;
            if (note == null)
            {
                note = "";
            }
            else
            {
                note = note.Replace("note:", "").Trim();
            }
            db.ParameterAdd("@Note", note);
            db.SetSqlStoredProcedure();
            var noteDateMatch = Regex.Matches(note, @".*\(\b(\d{0,2}\s*\w*\s\d{2,4}|\d{4}|FY\d{0,4}\/?\d{0,4})\s*(est.?)?\b.*$", RegexOptions.Singleline);
            string noteDate = "";
            if (noteDateMatch.Count > 0)
            {
                noteDate = parseDate(noteDateMatch[0].Groups[1].Value);
            }
            parsedData.Remove(noteRemove);
            foreach (var i in parsedData)
            {
                var regExString = @"^\$?(-?\d{1,3}(\,\d{3})*\.?\d*)%?\s*(\w*)?.*\(\b(\w*\s\d{1,2},\s?\d{2,4}|\d{0,2}\s*\w*\s\d{2,4}|\d{4}|FY\d{0,4}\/?\d{0,4})\s*(est.?)?\b.*$";
                var matches = Regex.Match(i.Trim(), regExString);
                if (matches.Groups.Count < 2 && noteDate == "")
                {
                    sb.AppendLine("DID NOT MATCH-->" + i.Trim());
                    continue;
                }
                else if(matches.Groups.Count < 2 && noteDate != "")
                {
                    matches = Regex.Match(i.Trim() + " " + note, regExString);
                    if (matches.Groups.Count < 2 && noteDate != "")
                    {
                        sb.AppendLine("2nd Chance DID NOT MATCH-->" + i.Trim());
                        continue;
                    }
                }
                try
                {
                    var value = Convert.ToDecimal(matches.Groups[1].Value);
                    switch (matches.Groups[3].Value.Trim())
                    {
                        case "thousand":
                            value *= 1000m;
                            break;
                        case "million":
                            value *= 1000000m;
                            break;
                        case "billion":
                            value *= 1000000000m;
                            break;
                        case "trillion":
                            value *= 1000000000000m;
                            break;
                    }
                    db.ParameterEdit("@Value", value);
                    var date = parseDate(matches.Groups[4].Value) ?? noteDate;
                    if (date == "")
                    {
                        continue;
                    }
                    db.ParameterEdit("@Year", date);
                    db.ParameterEdit("@IsEstimate", string.IsNullOrEmpty(matches.Groups[5].Value) ? false : true);
                    var ex = db.ExecuteSql("CIA_Insert_Data");
                    if (ex != null)
                    {
                        sb.AppendLine(ex.Message + "--->");
                    }
                }
                catch (Exception convEx)
                {
                    sb.AppendLine(convEx.Message + "-->" + tagid + "--->" + fieldid);

                }
            }
            db.CloseConnection();
            return sb.ToString();
        }
Esempio n. 3
0
        public static void Parse2121(TextBox t, string tableData, int fieldid, int tagid)
        {
            db db = new db(System.Configuration.ConfigurationSettings.AppSettings["db"]);
            db.ParameterAdd("@FieldID", fieldid);
            db.ParameterAdd("@TagID", tagid);
            db.ParameterAdd("@IsEstimate", false);

            var parsedData = Regex.Match(tableData.Trim(), @"(total:)? (\d{1,3}(\,\d{3})*)\s*km.*\b(\d{4})\b\)$*", RegexOptions.Singleline);
            int year = 0;
            double total = 0d;
            string notes = "";
            int c = 0;
            db.SetSqlStoredProcedure();
            if (parsedData.Groups.Count < 1)
            {
                return;
            }
            db.ParameterAdd("@Value", Convert.ToDouble(parsedData.Groups[2].Value));
            db.ParameterAdd("@Year", parsedData.Groups[4].Value);
            db.ParameterAdd("@Note", "");
            try
            {
                var ex = db.ExecuteSql("CIA_Insert_Data");
                if (ex != null)
                {
                    t.Text += ex.Message + "--->" + Environment.NewLine;
                }
            }
            catch (Exception convEx)
            {
                t.Text += convEx.Message + "-->" + fieldid + Environment.NewLine;
            }
            db.CloseConnection();
        }