public override bool ConvertFile(IBaseFile file)
        {
            bool retVal = false;

            try
            {
                XDocument outputDoc = new XDocument(
                    new XElement("file",
                                 new XElement("ALL_INSTANCES"),
                                 new XElement("ROWS")));

                XElement outputInstances = outputDoc.Element("file").Element("ALL_INSTANCES");
                XElement outputRows      = outputDoc.Element("file").Element("ROWS");

                uint ID = 1;

                foreach (Code code in file)
                {
                    outputRows.Add(new XElement("row",
                                                new XElement("code", code.Name),
                                                new XElement("R", code.R),
                                                new XElement("G", code.G),
                                                new XElement("B", code.B)));

                    foreach (Instance instance in code)
                    {
                        outputInstances.Add(new XElement("instance",
                                                         new XElement("ID", ID.ToString()),
                                                         new XElement("start", instance.Start.ToString("0.00")),
                                                         new XElement("end", instance.End.ToString("0.00")),
                                                         new XElement("code", instance.Code)));

                        ++ID;
                    }
                }

                outputDoc.Save(theFilePath);

                retVal = true;
            }
            catch
            {
            }

            return(retVal);
        }
        public override bool ConvertFile(IBaseFile file)
        {
            bool retVal = false;

            try
            {
                XDocument outputDoc = new XDocument(
                    new XElement("file",
                        new XElement("ALL_INSTANCES"),
                        new XElement("ROWS")));

                XElement outputInstances = outputDoc.Element("file").Element("ALL_INSTANCES");
                XElement outputRows = outputDoc.Element("file").Element("ROWS");

                uint ID = 1;

                foreach (Code code in file)
                {
                    outputRows.Add(new XElement("row",
                        new XElement("code", code.Name),
                        new XElement("R", code.R),
                        new XElement("G", code.G),
                        new XElement("B", code.B)));

                    foreach (Instance instance in code)
                    {
                        outputInstances.Add(new XElement("instance",
                            new XElement("ID", ID.ToString()),
                            new XElement("start", instance.Start.ToString("0.00")),
                            new XElement("end", instance.End.ToString("0.00")),
                            new XElement("code", instance.Code)));

                        ++ID;
                    }
                }

                outputDoc.Save(theFilePath);

                retVal = true;
            }
            catch
            {
            }

            return retVal;
        }
Exemple #3
0
        static void ProcessFile(FileTypes.Files fileType, string fileName)
        {
            try
            {
                IFileParser        fileParser        = new FileParser();
                IBaseFile          baseFileType      = null;
                IBaseFileProcessor basefileProcessor = null;
                switch (fileType)
                {
                case FileTypes.Files.LPF:
                    baseFileType      = new LPFileType();
                    basefileProcessor = new LPFFileProcessor();
                    break;

                case FileTypes.Files.TOU:
                    baseFileType      = new TOUFileType();
                    basefileProcessor = new TOUFileProcessor();
                    break;
                }
                if (!System.IO.File.Exists(fileName))
                {
                    Console.WriteLine("File does not exist");
                    return;
                }
                System.IO.FileInfo finfo = new System.IO.FileInfo(fileName);
                if (finfo.Extension != ".csv")
                {
                    Console.WriteLine("Invalid File");
                    return;
                }
                var data = fileParser.ParseFile(fileName, baseFileType);

                var         median   = basefileProcessor.CalcMedian(data.ToArray());
                var         outliers = basefileProcessor?.GetOutliers(data.ToArray(), 20, median);
                PublishData pub      = new PublishData();
                pub.DisplayData(outliers, finfo.Name, median);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }
        }
 public IEnumerable <IBaseFile> ParseFile(string fileName, IBaseFile fileInstance)
 {
     try
     {
         _fileName     = fileName;
         _fileInstance = fileInstance;
         if (string.IsNullOrEmpty(fileName))
         {
             return(null);
         }
         if (!System.IO.File.Exists(fileName))
         {
             return(null);
         }
         return(Read());
     }
     catch (Exception e)
     {
         Console.WriteLine(e);
         throw;
     }
 }
 public abstract bool ConvertFile(IBaseFile file);
        public override bool ConvertFile(IBaseFile file)
        {
            bool retVal = false;

            try
            {
                using (StreamWriter sw = new StreamWriter(theFilePath))
                {
                    Random random = new Random();

                    double randID = random.NextDouble();
                    while (randID < 10000000000000000000)
                    {
                        randID *= 10;
                    }

                    sw.Write(String.Format(HEADER_1, randID));

                    String filename1 = "file://localhost/Users/chasepettit/Desktop";
                    String filename2 = "file://localhost/Users/chasepettit/test-updates.TLcodes";

                    sw.Write(HEADER_2A);
                    foreach (char c in filename1)
                    {
                        sw.Write(c);
                        sw.Write("\x00");
                    }
                    sw.Write("\x03" + "\r" + HEADER_2B);

                    sw.Write(HEADER_2C);
                    foreach (char c in filename2)
                    {
                        sw.Write(c);
                        sw.Write("\x00");
                    }
                    sw.Write("\x03" + "\r" + HEADER_2D);

                    sw.Write(HEADER_2E + "0\t\r" + HEADER_2F);


                    sw.Write(HEADER_3);

                    int totalInstances = 0;
                    foreach (Code code in file)
                    {
                        totalInstances += code.InstanceCount;
                    }

                    sw.Write(HEADER_4, file.CodeCount.ToString(), Path.GetFileName(theFilePath), totalInstances.ToString(), "");

                    sw.Write(HEADER_5);

                    StringBuilder temp = new StringBuilder();
                    for (int i = 0; i < file.MaxInstances; i++)
                    {
                        temp.Append("start:" + (i + 1).ToString() + "\tend:" + (i + 1).ToString() + "\t");
                    }

                    sw.Write(TABLE_HEADER, temp.ToString());

                    foreach (Code code in file)
                    {
                        sw.Write(code.Name + "\t19\t" + code.InstanceCount + "\t");

                        foreach (Instance instance in code)
                        {
                            sw.Write(instance.Start.ToString("0.0000000000") + "\t" + instance.End.ToString("0.0000000000") + "\t");
                        }

                        sw.Write("\r");
                    }

                    sw.Write("\r" + TABLE_HEADER_2);

                    foreach (Code code in file)
                    {
                        sw.Write(code.Name + "\t\x3f\x3f" + code.InstanceCount + "\t\r");

                        for (int i = 0; i < code.InstanceCount; i++)
                        {
                            sw.Write("\t" + (i + 1).ToString() + "\t0\t\r");
                        }
                    }

                    sw.Write(TABLE_HEADER_3);

                    foreach (Code code in file)
                    {
                        sw.Write(code.R + "\t" + code.G + "\t" + code.B + "\r");
                    }

                    sw.Write(TABLE_HEADER_4);

                    foreach (Code code in file)
                    {
                        for (int i = 0; i < code.InstanceCount; i++)
                        {
                            sw.Write("x\t");
                        }

                        sw.Write("\r");
                    }

                    sw.Write(TABLE_FOOTER_4);

                    sw.Write("TL ID:\r" + String.Format("{0:0}", randID) + "\r\r");

                    sw.Write(TABLE_FOOTER_5);

                    sw.Write("<row names CF>\r");

                    int j = 1;
                    foreach (Code code in file)
                    {
                        sw.Write(j.ToString() + "\t\x3f\x3f");
                        ++j;

                        foreach (char c in code.Name)
                        {
                            sw.Write(c);
                            sw.Write("\x00");
                        }

                        sw.Write("\x03\r");
                    }

                    sw.Write("</row names CF>\r\r");

                    sw.Write(TABLE_FOOTER_6);

                    sw.Write("<UNIQUE ROW IDs>\r");

                    foreach (Code code in file)
                    {
                        double rowID = random.NextDouble();
                        while (rowID < 10000000000000000000)
                        {
                            rowID *= 10;
                        }

                        sw.Write(String.Format("{0:0}\r", rowID));
                    }

                    sw.Write("\r\r");

                    sw.Write(TABLE_FOOTER_7);
                }

                retVal = true;
            }
            catch
            {
            }

            return(retVal);
        }
 public abstract bool ConvertFile(IBaseFile file);
        public override bool ConvertFile(IBaseFile file)
        {
            bool retVal = false;

            try
            {
                using (StreamWriter sw = new StreamWriter(theFilePath))
                {
                    Random random = new Random();

                    double randID = random.NextDouble();
                    while (randID < 10000000000000000000)
                    {
                        randID *= 10;
                    }

                    sw.Write(String.Format(HEADER_1, randID));

                    String filename1 = "file://localhost/Users/chasepettit/Desktop";
                    String filename2 = "file://localhost/Users/chasepettit/test-updates.TLcodes";

                    sw.Write(HEADER_2A);
                    foreach (char c in filename1)
                    {
                        sw.Write(c);
                        sw.Write("\x00");
                    }
                    sw.Write("\x03" + "\r" + HEADER_2B);

                    sw.Write(HEADER_2C);
                    foreach (char c in filename2)
                    {
                        sw.Write(c);
                        sw.Write("\x00");
                    }
                    sw.Write("\x03" + "\r" + HEADER_2D);

                    sw.Write(HEADER_2E + "0\t\r" + HEADER_2F);

                    sw.Write(HEADER_3);

                    int totalInstances = 0;
                    foreach (Code code in file)
                    {
                        totalInstances += code.InstanceCount;
                    }

                    sw.Write(HEADER_4, file.CodeCount.ToString(), Path.GetFileName(theFilePath), totalInstances.ToString(), "");

                    sw.Write(HEADER_5);

                    StringBuilder temp = new StringBuilder();
                    for (int i = 0; i < file.MaxInstances; i++)
                    {
                        temp.Append("start:" + (i + 1).ToString() + "\tend:" + (i + 1).ToString() + "\t");
                    }

                    sw.Write(TABLE_HEADER, temp.ToString());

                    foreach (Code code in file)
                    {
                        sw.Write(code.Name + "\t19\t" + code.InstanceCount + "\t");

                        foreach (Instance instance in code)
                        {
                            sw.Write(instance.Start.ToString("0.0000000000") + "\t" + instance.End.ToString("0.0000000000") + "\t");
                        }

                        sw.Write("\r");
                    }

                    sw.Write("\r" + TABLE_HEADER_2);

                    foreach (Code code in file)
                    {
                        sw.Write(code.Name + "\t\x3f\x3f" + code.InstanceCount + "\t\r");

                        for (int i = 0; i < code.InstanceCount; i++)
                        {
                            sw.Write("\t" + (i+1).ToString() + "\t0\t\r");
                        }
                    }

                    sw.Write(TABLE_HEADER_3);

                    foreach (Code code in file)
                    {
                        sw.Write(code.R + "\t" + code.G + "\t" + code.B + "\r");
                    }

                    sw.Write(TABLE_HEADER_4);

                    foreach (Code code in file)
                    {
                        for (int i = 0; i < code.InstanceCount; i++)
                        {
                            sw.Write("x\t");
                        }

                        sw.Write("\r");
                    }

                    sw.Write(TABLE_FOOTER_4);

                    sw.Write("TL ID:\r" + String.Format("{0:0}",randID) + "\r\r");

                    sw.Write(TABLE_FOOTER_5);

                    sw.Write("<row names CF>\r");

                    int j = 1;
                    foreach (Code code in file)
                    {
                        sw.Write(j.ToString() + "\t\x3f\x3f");
                        ++j;

                        foreach (char c in code.Name)
                        {
                            sw.Write(c);
                            sw.Write("\x00");
                        }

                        sw.Write("\x03\r");
                    }

                    sw.Write("</row names CF>\r\r");

                    sw.Write(TABLE_FOOTER_6);

                    sw.Write("<UNIQUE ROW IDs>\r");

                    foreach (Code code in file)
                    {
                        double rowID = random.NextDouble();
                        while (rowID < 10000000000000000000)
                        {
                            rowID *= 10;
                        }

                        sw.Write(String.Format("{0:0}\r", rowID));
                    }

                    sw.Write("\r\r");

                    sw.Write(TABLE_FOOTER_7);
                }

                retVal = true;
            }
            catch
            {
            }

            return retVal;
        }