Example #1
0
 private static bool StartProcess(string filePath_Model, string filePath_Output)
 {
     Reader.Reader       reader    = new Reader.Reader(filePath_Model);
     Datamodel.Datamodel datamodel = reader.getDatamodel();
     Generator.Generator generator = new Generator.Generator(filePath_Output, datamodel);
     return(generator.generateCode());
 }
Example #2
0
        public void ForwardDataToReaders(Reader.Reader reader, DeltaCD deltaCD)
        {
            var    collection = new DeltaCD();
            string temp       = string.Empty;

            if (deltaCD.Add.Count > 0)
            {
                collection.Add.Add(deltaCD.Add[0]);
                for (int i = 0; i < 9; i++)
                {
                    collection.Update.Add(deltaCD.Update[i]);
                }
            }
            else
            {
                for (int i = 0; i < 10; i++)
                {
                    collection.Update.Add(deltaCD.Update[i]);
                }
            }
            temp = collection.ToString();
            Logger.Log(LogComponent.REPLICATOR_RECEIVER, LogComponent.READER, DateTime.Now, temp);

            reader.ReceivedData = collection;
        }
Example #3
0
 public void InitiateSendingData(Reader.Reader reader, DeltaCD deltaCD)
 {
     if ((deltaCD.Add.Count + deltaCD.Update.Count) >= 10)
     {
         ForwardDataToReaders(reader, deltaCD);
     }
 }
Example #4
0
        public void InitiateSendingData_Test()
        {
            try
            {
                ReplicatorReceiverSvc svc    = new ReplicatorReceiverSvc();
                Reader.Reader         reader = new Reader.Reader(1);
                DeltaCD deltaCD = new DeltaCD();


                svc.InitiateSendingData(reader, deltaCD);

                List <CollectionDescription> addList    = new List <CollectionDescription>();
                List <CollectionDescription> updateList = new List <CollectionDescription>();

                addList.Add(new CollectionDescription
                {
                    ID         = 1,
                    DataSet    = 1,
                    Collection = new HistoricalCollection
                    {
                        ReceiverPropertyArray = new List <ReceiverProperty>
                        {
                            new ReceiverProperty(Code.CODE_ANALOG, 1010),
                            new ReceiverProperty(Code.CODE_DIGITAL, 1)
                        }
                    }
                });

                for (int i = 1; i < 10; i++)
                {
                    updateList.Add(new CollectionDescription
                    {
                        ID         = i + 1,
                        DataSet    = 1,
                        Collection = new HistoricalCollection
                        {
                            ReceiverPropertyArray = new List <ReceiverProperty>
                            {
                                new ReceiverProperty(Code.CODE_ANALOG, 1010),
                                new ReceiverProperty(Code.CODE_DIGITAL, 1)
                            }
                        }
                    });
                }

                deltaCD.Add    = addList;
                deltaCD.Update = updateList;


                svc.InitiateSendingData(reader, deltaCD);
            }
            catch (Exception)
            {
                Assert.Pass();
            }

            Assert.Pass();
        }
Example #5
0
 public void StoreData(Reader.Reader reader, CollectionDescription cd, DeltaCD dcd, int dataset)
 {
     if (dataset == 1)
     {
         if (!reader.ContainsDataset1)
         {
             dcd.Add.Add(cd);
             reader.ContainsDataset1 = true;
         }
         else
         {
             dcd.Update.Add(cd);
         }
     }
     else if (dataset == 2)
     {
         if (!reader.ContainsDataset2)
         {
             dcd.Add.Add(cd);
             reader.ContainsDataset2 = true;
         }
         else
         {
             dcd.Update.Add(cd);
         }
     }
     else if (dataset == 3)
     {
         if (!reader.ContainsDataset3)
         {
             dcd.Add.Add(cd);
             reader.ContainsDataset3 = true;
         }
         else
         {
             dcd.Update.Add(cd);
         }
     }
     else //if (dataset == 4)
     {
         if (!reader.ContainsDataset4)
         {
             dcd.Add.Add(cd);
             reader.ContainsDataset4 = true;
         }
         else
         {
             dcd.Update.Add(cd);
         }
     }
 }
Example #6
0
 /// <summary>
 /// Erstellt Reader und Generator und führt deren Interface-Methoden aus.
 /// </summary>
 /// <param name="filePath_Model">Gibt dem Reader den Dateipfad mit.</param>
 /// <param name="filePath_Output">Gibt dem Generator den Ausgabepfad mit.</param>
 public Datamodel.Datamodel ExchangeData(string filePath_Model, string filePath_Output)
 {
     Reader.Reader       reader    = new Reader.Reader(filePath_Model);
     Datamodel.Datamodel datamodel = reader.getDatamodel();
     Generator.Generator generator = new Generator.Generator(filePath_Output, datamodel);
     if (generator.generateCode())
     {
         return(datamodel);
     }
     else
     {
         return(null);
     }
 }
Example #7
0
        private static void Main(string[] args)
        {
            var printer = new Printer.Printer();

            if (args.Length == 0)
            {
                printer.PrintLine("No input file path was specified.");
                Console.Read();
                return;
            }
            try
            {
                var filePath   = args[0].Trim();
                var reader     = new Reader.Reader();
                var cheeseList = reader.Load(filePath);

                printer.PrintLine("");
                printer.PrintLine(
                    "This application has been designed and implemented by Masoud ZehtabiOskuie as an assessment for Senior C# Developer role");
                var currentDate = Helper.GetDateTime('_', filePath, 1);

                var cheeseValidator = new CheeseValidator();
                var priceCalculationRulesContainer = new PriceCalculationRulesContainer();
                var priceResolversContainer        = new PriceResolversContainer();
                var priceCalculator = new PriceCalculator(cheeseValidator, priceCalculationRulesContainer,
                                                          priceResolversContainer);

                var daysManager  = new DaysManager(3000, currentDate);
                var storeManager = new StoreManager(priceCalculator, printer, daysManager)
                {
                    Cheeses = (List <ICheese>)cheeseList
                };
                storeManager.OpenStore();
            }
            catch (FileNotFoundException)
            {
                printer.PrintLine("File Does not exists. Please make sure that the path is correct.");
            }
            catch (XmlSchemaException)
            {
                printer.PrintLine("The XML files is not well format.");
            }
            catch (DateTimeFormatException dex)
            {
                printer.PrintLine(dex.Message);
            }
            Console.Read();
        }
        public void ReadDataFromDataBase()
        {
            try
            {
                ReplicatorDbContext _context = new ReplicatorDbContext();

                string        dateFrom = "2020-06-13 16:58:02.347";
                string        dateTo   = "2020-06-13 16:58:02.677";
                Reader.Reader reader   = new Reader.Reader(1);

                Code c         = Code.CODE_ANALOG;
                int  datasetID = 1;
                reader.service.ReadDataFromDataBase(c, datasetID, _context, dateFrom, dateTo);

                c = Code.CODE_DIGITAL;
                reader.service.ReadDataFromDataBase(c, datasetID, _context, dateFrom, dateTo);

                c         = Code.CODE_CUSTOM;
                datasetID = 2;
                reader.service.ReadDataFromDataBase(c, datasetID, _context, dateFrom, dateTo);

                c = Code.CODE_LIMITSET;
                reader.service.ReadDataFromDataBase(c, datasetID, _context, dateFrom, dateTo);

                c         = Code.CODE_SINGLENODE;
                datasetID = 3;
                reader.service.ReadDataFromDataBase(c, datasetID, _context, dateFrom, dateTo);

                c = Code.CODE_MULTIPLENODE;
                reader.service.ReadDataFromDataBase(c, datasetID, _context, dateFrom, dateTo);

                c         = Code.CODE_CONSUMER;
                datasetID = 4;
                reader.service.ReadDataFromDataBase(c, datasetID, _context, dateFrom, dateTo);

                c = Code.CODE_SOURCE;
                reader.service.ReadDataFromDataBase(c, datasetID, _context, dateFrom, dateTo);
            }
            catch (Exception)
            {
                Assert.Fail();
            }
            Assert.Pass();
        }
Example #9
0
        public void Reader_ConstructorWithParameters_ReturnsValidValues(int id)
        {
            Reader.Reader reader = new Reader.Reader(id);

            Reader.Services.ReaderSvc service = new Reader.Services.ReaderSvc();
            DeltaCD             receivedData  = new DeltaCD();
            ReplicatorDbContext _context      = new ReplicatorDbContext();

            var addList    = receivedData.Add;
            var UpdateList = receivedData.Update;

            bool equal  = !addList.Except(reader.ReceivedData.Add).Any();
            bool equal2 = !addList.Except(reader.ReceivedData.Update).Any();



            Assert.AreEqual(reader.ID, id);
            Assert.IsTrue(equal && equal2);
        }
Example #10
0
        public void CanGetMultipleValueOfAnalyzeNode()
        {
            // Arrange
            string          workingDirectory = Environment.CurrentDirectory;
            string          filepath         = Directory.GetParent(workingDirectory).Parent.FullName + "/Ressources/classdiagram.graphml";
            List <UML_Base> classes          = new List <UML_Base>();
            UML_Class       expectedClass    = new UML_Class("Employee", "n0");
            UML_Class       expectedClass2   = new UML_Class("User", "n1");

            classes.Add(expectedClass);
            classes.Add(expectedClass2);

            // Act
            Reader.Reader   instanceForDatamodel = new Reader.Reader(filepath);
            List <UML_Base> listOfClasses        = instanceForDatamodel.AnalyzeNode();

            // Assert
            Assert.Equal(classes, listOfClasses);
        }
Example #11
0
        public void checkClass()
        {
            // Arrange
            string workingDirectory = Environment.CurrentDirectory;
            string filepath         = Directory.GetParent(workingDirectory).Parent.FullName + "/Ressources/classdiagram.graphml";

            UML_Class expectedClass = new UML_Class("Employee", "n0");

            // Act
            Reader.Reader instanceForDatamodel = new Reader.Reader(filepath);

            List <UML_Base> baseModel = instanceForDatamodel.AnalyzeNode();

            // Assert
            foreach (var @class in baseModel)
            {
                Assert.Equal(@class.GetType(), expectedClass.GetType());
            }
        }
Example #12
0
        public void checkInterface()
        {
            // Arrange
            string workingDirectory = Environment.CurrentDirectory;
            string filepath         = Directory.GetParent(workingDirectory).Parent.FullName + "/Ressources/interfacediagram.graphml";
            string id = "n0";

            UML_Interface expectedInterface = new UML_Interface("Employee", id);

            // Act
            Reader.Reader instanceForDatamodel = new Reader.Reader(filepath);

            List <UML_Base> baseModel = instanceForDatamodel.AnalyzeNode();

            // Assert
            foreach (UML_Interface @interface in baseModel)
            {
                Assert.Equal(@interface.GetType(), expectedInterface.GetType());
            }
        }
Example #13
0
        public void CanGetValueOfAnalyzeNode()
        {
            // Arrange
            string workingDirectory = Environment.CurrentDirectory;
            string filepath         = Directory.GetParent(workingDirectory).Parent.FullName + "/Ressources/classdiagram.graphml";

            List <UML_Base> expectedClassList = new List <UML_Base>();
            UML_Class       expectedClass     = new UML_Class("Employee", "n0");

            expectedClassList.Add(expectedClass);


            // Act
            XmlReader reader = new XmlTextReader(filepath);

            Reader.Reader   instanceForDatamodel = new Reader.Reader(filepath);
            List <UML_Base> baseModelList        = instanceForDatamodel.AnalyzeNode();


            // Assert
            Assert.Equal <UML_Base>(expectedClassList, baseModelList);
        }
Example #14
0
        public void Reader_EmptyConstructor_ReturnsDefaults()
        {
            //Reader.Reader reader0 = new Reader.Reader(1);


            Reader.Reader reader = new Reader.Reader();


            Reader.Services.ReaderSvc service = new Reader.Services.ReaderSvc();
            DeltaCD             receivedData  = new  DeltaCD();
            ReplicatorDbContext _context      = new ReplicatorDbContext();

            var addList    = receivedData.Add;
            var UpdateList = receivedData.Update;

            bool equal  = !addList.Except(reader.ReceivedData.Add).Any();
            bool equal2 = !addList.Except(reader.ReceivedData.Update).Any();



            Assert.AreEqual(reader.ID, 0);
            Assert.IsTrue(equal && equal2);
        }
Example #15
0
        public void ReplicatorReceiverTest_ConstructorWithParameters_ReturnsDefaults()
        {
            var dataCD1 = new CollectionDescription {
                ID = 0, DataSet = 0, Collection = new HistoricalCollection {
                }
            };
            Dictionary <int, Reader.Reader> readers1 = new Dictionary <int, Reader.Reader>();

            Reader.Reader rd1 = new Reader.Reader(1);
            Reader.Reader rd2 = new Reader.Reader(2);
            Reader.Reader rd3 = new Reader.Reader(3);
            Reader.Reader rd4 = new Reader.Reader(4);

            readers1.Add(1, rd1);
            readers1.Add(2, rd2);
            readers1.Add(3, rd3);
            readers1.Add(4, rd4);
            //{
            //    {
            //        1,
            //        new Reader.Reader
            //        {
            //            ID = 1,
            //            ContainsDataset1 = false,
            //            ContainsDataset2 = false,
            //            ContainsDataset3= false,
            //            ContainsDataset4 = false,
            //            ReceivedData = new DeltaCD
            //            {
            //                Add = new  List<CollectionDescription>
            //                {
            //                    new CollectionDescription
            //                    {
            //                        ID = 1,
            //                        DataSet = 1,
            //                        Collection = new HistoricalCollection
            //                        {
            //                            ReceiverPropertyArray = new List<ReceiverProperty>
            //                            {
            //                                new ReceiverProperty
            //                                {
            //                                    Code = Code.CODE_ANALOG,
            //                                    ReceiverValue = 1110
            //                                },
            //                                new ReceiverProperty
            //                                {
            //                                    Code = Code.CODE_DIGITAL,
            //                                    ReceiverValue = 1
            //                                }
            //                            }
            //                        }
            //                    }
            //                },
            //                Update = new  List<CollectionDescription>
            //                {
            //                    new CollectionDescription
            //                    {
            //                        ID = 2,
            //                        DataSet = 1,
            //                        Collection = new HistoricalCollection
            //                        {
            //                            ReceiverPropertyArray = new List<ReceiverProperty>
            //                            {
            //                                new ReceiverProperty
            //                                {
            //                                    Code = Code.CODE_ANALOG,
            //                                    ReceiverValue = 1210
            //                                },
            //                                new ReceiverProperty
            //                                {
            //                                    Code = Code.CODE_DIGITAL,
            //                                    ReceiverValue = 0
            //                                }
            //                            }
            //                        }
            //                    },
            //                    new CollectionDescription
            //                    {
            //                        ID = 3,
            //                        DataSet = 1,
            //                        Collection = new HistoricalCollection
            //                        {
            //                            ReceiverPropertyArray = new List<ReceiverProperty>
            //                            {
            //                                new ReceiverProperty
            //                                {
            //                                    Code = Code.CODE_ANALOG,
            //                                    ReceiverValue = 1310
            //                                },
            //                                new ReceiverProperty
            //                                {
            //                                    Code = Code.CODE_DIGITAL,
            //                                    ReceiverValue = 1
            //                                }
            //                            }
            //                        }
            //                    }
            //                },
            //            }
            //        }
            //    },
            //    {
            //        2,
            //        new Reader.Reader
            //        {
            //            ID = 2,
            //            ContainsDataset1 = false,
            //            ContainsDataset2 = false,
            //            ContainsDataset3= false,
            //            ContainsDataset4 = false,
            //            ReceivedData = new DeltaCD
            //            {
            //                Add = new  List<CollectionDescription>
            //                {
            //                    new CollectionDescription
            //                    {
            //                        ID = 1,
            //                        DataSet = 1,
            //                        Collection = new HistoricalCollection
            //                        {
            //                            ReceiverPropertyArray = new List<ReceiverProperty>
            //                            {
            //                                new ReceiverProperty
            //                                {
            //                                    Code = Code.CODE_ANALOG,
            //                                    ReceiverValue = 1110
            //                                },
            //                                new ReceiverProperty
            //                                {
            //                                    Code = Code.CODE_DIGITAL,
            //                                    ReceiverValue = 1
            //                                }
            //                            }
            //                        }
            //                    }
            //                },
            //                Update = new  List<CollectionDescription>
            //                {
            //                    new CollectionDescription
            //                    {
            //                        ID = 2,
            //                        DataSet = 1,
            //                        Collection = new HistoricalCollection
            //                        {
            //                            ReceiverPropertyArray = new List<ReceiverProperty>
            //                            {
            //                                new ReceiverProperty
            //                                {
            //                                    Code = Code.CODE_ANALOG,
            //                                    ReceiverValue = 1210
            //                                },
            //                                new ReceiverProperty
            //                                {
            //                                    Code = Code.CODE_DIGITAL,
            //                                    ReceiverValue = 0
            //                                }
            //                            }
            //                        }
            //                    },
            //                    new CollectionDescription
            //                    {
            //                        ID = 3,
            //                        DataSet = 1,
            //                        Collection = new HistoricalCollection
            //                        {
            //                            ReceiverPropertyArray = new List<ReceiverProperty>
            //                            {
            //                                new ReceiverProperty
            //                                {
            //                                    Code = Code.CODE_ANALOG,
            //                                    ReceiverValue = 1310
            //                                },
            //                                new ReceiverProperty
            //                                {
            //                                    Code = Code.CODE_DIGITAL,
            //                                    ReceiverValue = 1
            //                                }
            //                            }
            //                        }
            //                    }
            //                },
            //            }
            //        }
            //    },
            //    {
            //        3,
            //        new Reader.Reader
            //        {
            //            ID = 1,
            //            ContainsDataset1 = false,
            //            ContainsDataset2 = false,
            //            ContainsDataset3= false,
            //            ContainsDataset4 = false,
            //            ReceivedData = new DeltaCD
            //            {
            //                Add = new  List<CollectionDescription>
            //                {
            //                    new CollectionDescription
            //                    {
            //                        ID = 1,
            //                        DataSet = 1,
            //                        Collection = new HistoricalCollection
            //                        {
            //                            ReceiverPropertyArray = new List<ReceiverProperty>
            //                            {
            //                                new ReceiverProperty
            //                                {
            //                                    Code = Code.CODE_ANALOG,
            //                                    ReceiverValue = 1110
            //                                },
            //                                new ReceiverProperty
            //                                {
            //                                    Code = Code.CODE_DIGITAL,
            //                                    ReceiverValue = 1
            //                                }
            //                            }
            //                        }
            //                    }
            //                },
            //                Update = new  List<CollectionDescription>
            //                {
            //                    new CollectionDescription
            //                    {
            //                        ID = 2,
            //                        DataSet = 1,
            //                        Collection = new HistoricalCollection
            //                        {
            //                            ReceiverPropertyArray = new List<ReceiverProperty>
            //                            {
            //                                new ReceiverProperty
            //                                {
            //                                    Code = Code.CODE_ANALOG,
            //                                    ReceiverValue = 1210
            //                                },
            //                                new ReceiverProperty
            //                                {
            //                                    Code = Code.CODE_DIGITAL,
            //                                    ReceiverValue = 0
            //                                }
            //                            }
            //                        }
            //                    },
            //                    new CollectionDescription
            //                    {
            //                        ID = 3,
            //                        DataSet = 1,
            //                        Collection = new HistoricalCollection
            //                        {
            //                            ReceiverPropertyArray = new List<ReceiverProperty>
            //                            {
            //                                new ReceiverProperty
            //                                {
            //                                    Code = Code.CODE_ANALOG,
            //                                    ReceiverValue = 1310
            //                                },
            //                                new ReceiverProperty
            //                                {
            //                                    Code = Code.CODE_DIGITAL,
            //                                    ReceiverValue = 1
            //                                }
            //                            }
            //                        }
            //                    }
            //                },
            //            }
            //        }
            //    },
            //    {
            //        4,
            //        new Reader.Reader
            //        {
            //            ID = 1,
            //            ContainsDataset1 = false,
            //            ContainsDataset2 = false,
            //            ContainsDataset3= false,
            //            ContainsDataset4 = false,
            //            ReceivedData = new DeltaCD
            //            {
            //                Add = new  List<CollectionDescription>
            //                {
            //                    new CollectionDescription
            //                    {
            //                        ID = 1,
            //                        DataSet = 1,
            //                        Collection = new HistoricalCollection
            //                        {
            //                            ReceiverPropertyArray = new List<ReceiverProperty>
            //                            {
            //                                new ReceiverProperty
            //                                {
            //                                    Code = Code.CODE_ANALOG,
            //                                    ReceiverValue = 1110
            //                                },
            //                                new ReceiverProperty
            //                                {
            //                                    Code = Code.CODE_DIGITAL,
            //                                    ReceiverValue = 1
            //                                }
            //                            }
            //                        }
            //                    }
            //                },
            //                Update = new  List<CollectionDescription>
            //                {
            //                    new CollectionDescription
            //                    {
            //                        ID = 2,
            //                        DataSet = 1,
            //                        Collection = new HistoricalCollection
            //                        {
            //                            ReceiverPropertyArray = new List<ReceiverProperty>
            //                            {
            //                                new ReceiverProperty
            //                                {
            //                                    Code = Code.CODE_ANALOG,
            //                                    ReceiverValue = 1210
            //                                },
            //                                new ReceiverProperty
            //                                {
            //                                    Code = Code.CODE_DIGITAL,
            //                                    ReceiverValue = 0
            //                                }
            //                            }
            //                        }
            //                    },
            //                    new CollectionDescription
            //                    {
            //                        ID = 3,
            //                        DataSet = 1,
            //                        Collection = new HistoricalCollection
            //                        {
            //                            ReceiverPropertyArray = new List<ReceiverProperty>
            //                            {
            //                                new ReceiverProperty
            //                                {
            //                                    Code = Code.CODE_ANALOG,
            //                                    ReceiverValue = 1310
            //                                },
            //                                new ReceiverProperty
            //                                {
            //                                    Code = Code.CODE_DIGITAL,
            //                                    ReceiverValue = 1
            //                                }
            //                            }
            //                        }
            //                    }
            //                },
            //            }
            //        }
            //    }
            //};
            var result1 = new ReplicatorReceiver.ReplicatorReceiver(readers1);

            // Dataset 0
            List <ReceiverProperty> receiverPropertyList = new List <ReceiverProperty>(2);

            receiverPropertyList.Add(new ReceiverProperty(ECode.CODE_ANALOG, 1001));
            receiverPropertyList.Add(new ReceiverProperty(ECode.CODE_ANALOG, 1002));
            HistoricalCollection  historicalCollection = new HistoricalCollection(receiverPropertyList);
            CollectionDescription cd = new CollectionDescription(0, 0, historicalCollection);

            result1.DataCD = cd;

            // Dataset 1
            receiverPropertyList.Clear();
            receiverPropertyList.Add(new ReceiverProperty(ECode.CODE_ANALOG, 1001));
            receiverPropertyList.Add(new ReceiverProperty(ECode.CODE_DIGITAL, 1));
            historicalCollection = new HistoricalCollection(receiverPropertyList);
            cd = new CollectionDescription(1, 1, historicalCollection);

            result1.DataCD = cd;

            // Dataset 2
            receiverPropertyList.Clear();
            receiverPropertyList.Add(new ReceiverProperty(ECode.CODE_CUSTOM, 3000));
            receiverPropertyList.Add(new ReceiverProperty(ECode.CODE_LIMITSET, 4001));
            historicalCollection = new HistoricalCollection(receiverPropertyList);
            cd = new CollectionDescription(1, 1, historicalCollection);

            result1.DataCD = cd;

            // Dataset 3
            receiverPropertyList.Clear();
            receiverPropertyList.Add(new ReceiverProperty(ECode.CODE_SINGLENODE, 6000));
            receiverPropertyList.Add(new ReceiverProperty(ECode.CODE_MULTIPLENODE, 5001));
            historicalCollection = new HistoricalCollection(receiverPropertyList);
            cd = new CollectionDescription(1, 1, historicalCollection);

            result1.DataCD = cd;

            // Dataset 4
            receiverPropertyList.Clear();
            receiverPropertyList.Add(new ReceiverProperty(ECode.CODE_CONSUMER, 2001));
            receiverPropertyList.Add(new ReceiverProperty(ECode.CODE_SOURCE, 7001));
            historicalCollection = new HistoricalCollection(receiverPropertyList);
            cd = new CollectionDescription(1, 1, historicalCollection);

            result1.DataCD = cd;


            var dataCD = new CollectionDescription {
                ID = 0, DataSet = 0, Collection = new HistoricalCollection {
                }
            };
            Dictionary <int, Reader.Reader> readers = new Dictionary <int, Reader.Reader>();
            var result = new ReplicatorReceiver.ReplicatorReceiver(readers);


            var  hcollection = dataCD.Collection;
            bool equal       = !hcollection.ReceiverPropertyArray.Except(result.DataCD.Collection.ReceiverPropertyArray).Any();


            Assert.IsTrue(result.DataCD.ID == dataCD.ID && result.DataCD.DataSet == dataCD.DataSet && equal);

            foreach (var item in result.DataDeltaCDs.Values)
            {
                Assert.AreEqual(item.Add, new List <CollectionDescription>());
                Assert.AreEqual(item.Update, new List <CollectionDescription>());
            }
        }
Example #16
0
        static void Main(string[] args)
        {
            Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"));
            // Writers
            Dictionary <int, Writer.Writer> writers = new Dictionary <int, Writer.Writer>();

            // Readers
            Dictionary <int, Reader.Reader> readers = new Dictionary <int, Reader.Reader>();

            Reader.Reader rd1 = new Reader.Reader(1);
            Reader.Reader rd2 = new Reader.Reader(2);
            Reader.Reader rd3 = new Reader.Reader(3);
            Reader.Reader rd4 = new Reader.Reader(4);

            readers.Add(1, rd1);
            readers.Add(2, rd2);
            readers.Add(3, rd3);
            readers.Add(4, rd4);

            // Sender
            ReplicatorSender.ReplicatorSender s = new ReplicatorSender.ReplicatorSender();

            // Receiver
            ReplicatorReceiver.ReplicatorReceiver r = new ReplicatorReceiver.ReplicatorReceiver(readers);

            s.service.StartForwardingData(s, r);


            while (true)
            {
                System.Console.WriteLine("-------------------------------");
                System.Console.WriteLine("0 - Exit");
                System.Console.WriteLine("1 - Turn off writer");
                System.Console.WriteLine("2 - Show writers");
                System.Console.WriteLine("3 - Start new writer");
                System.Console.WriteLine("4 - Start 100 writers");
                System.Console.WriteLine("5 - Read data form database: ");
                System.Console.WriteLine("-------------------------------");

                string c = System.Console.ReadLine();

                System.Console.WriteLine();

                if (c == "0")
                {
                    foreach (var item in writers.Keys)
                    {
                        writers[item].StopSendingData();
                    }
                    break;
                }
                else if (c == "1")
                {
                    System.Console.WriteLine("Writer No: ");
                    int number;
                    try
                    {
                        number = int.Parse(System.Console.ReadLine());
                        writers[number].StopSendingData();
                        writers.Remove(number);

                        System.Console.WriteLine($"Writer {number} has been turned off.\n");
                    }
                    catch (Exception)
                    {
                        System.Console.WriteLine("Writer with that ID doesn't exist!");
                    }
                }
                else if (c == "2")
                {
                    System.Console.WriteLine("Writer list:");
                    foreach (var item in writers.Values)
                    {
                        System.Console.WriteLine($"\tWriter {item.ID}");
                    }
                }
                else if (c == "3")
                {
                    writerCounter++;
                    writers.Add(writerCounter, new Writer.Writer(writerCounter));
                    writers[writerCounter].StartSendingData(s);
                }
                else if (c == "4")
                {
                    for (int i = 0; i < 100; i++)
                    {
                        writerCounter++;
                        writers.Add(writerCounter, new Writer.Writer(writerCounter));
                        writers[writerCounter].StartSendingData(s);
                    }
                }
                else if (c == "5")
                {
                    System.Console.WriteLine("Choose code: \n");
                    System.Console.WriteLine("1) CODE_ANALOG: ");
                    System.Console.WriteLine("2) CODE_DIGITAL: ");
                    System.Console.WriteLine("3) CODE_CUSTOM: ");
                    System.Console.WriteLine("4) CODE_LIMITSET: ");
                    System.Console.WriteLine("5) CODE_SINGLENODE: ");
                    System.Console.WriteLine("6) CODE_MULTIPLENODE: ");
                    System.Console.WriteLine("7) CODE_CONSUMER: ");
                    System.Console.WriteLine("8) CODE_SOURCE: ");

                    int code_option = 0;

                    try
                    {
                        code_option = int.Parse(System.Console.ReadLine());
                        if (code_option < 1 && code_option > 8)
                        {
                            System.Console.WriteLine("Wrong input!");
                            break;
                        }
                    }
                    catch (Exception)
                    {
                        System.Console.WriteLine("Wrong input!");
                        break;
                    }



                    System.Console.WriteLine("From: ");
                    string dateFrom = System.Console.ReadLine();
                    System.Console.WriteLine("To: ");
                    string dateTo = System.Console.ReadLine();

                    switch (code_option)
                    {
                    case 1:
                        System.Console.WriteLine(rd1.service.ReadDataFromDataBase(ECode.CODE_ANALOG, 1, rd1._context, dateFrom, dateTo));
                        break;

                    case 2:
                        System.Console.WriteLine(rd1.service.ReadDataFromDataBase(ECode.CODE_DIGITAL, 1, rd1._context, dateFrom, dateTo));
                        break;

                    case 3:
                        System.Console.WriteLine(rd1.service.ReadDataFromDataBase(ECode.CODE_CUSTOM, 2, rd2._context, dateFrom, dateTo));
                        break;

                    case 4:
                        System.Console.WriteLine(rd1.service.ReadDataFromDataBase(ECode.CODE_LIMITSET, 2, rd2._context, dateFrom, dateTo));
                        break;

                    case 5:
                        System.Console.WriteLine(rd1.service.ReadDataFromDataBase(ECode.CODE_SINGLENODE, 3, rd3._context, dateFrom, dateTo));
                        break;

                    case 6:
                        System.Console.WriteLine(rd1.service.ReadDataFromDataBase(ECode.CODE_MULTIPLENODE, 3, rd3._context, dateFrom, dateTo));
                        break;

                    case 7:
                        System.Console.WriteLine(rd1.service.ReadDataFromDataBase(ECode.CODE_CONSUMER, 4, rd4._context, dateFrom, dateTo));
                        break;

                    case 8:
                        System.Console.WriteLine(rd1.service.ReadDataFromDataBase(ECode.CODE_SOURCE, 4, rd4._context, dateFrom, dateTo));
                        break;

                    default:
                        System.Console.WriteLine("Wrong input");
                        break;
                    }
                }
                else
                {
                    System.Console.WriteLine("Wrong input!");
                }
            }

            System.Console.ReadLine();
        }
Example #17
0
 public Model(Alea.Gpu gpu, Reader.Reader reader)
 {
     GPU            = gpu;
     LearningReader = reader;
 }
Example #18
0
        //[TestCase(0)]
        public void StoreDataTest(int dataset)
        {
            Reader.Reader         reader  = new Reader.Reader(1);
            Reader.Reader         reader2 = new Reader.Reader(2);
            Reader.Reader         reader3 = new Reader.Reader(3);
            Reader.Reader         reader4 = new Reader.Reader(4);
            ReplicatorReceiverSvc svc     = new ReplicatorReceiverSvc();
            CollectionDescription cd      = new CollectionDescription();
            DeltaCD deltaCD = new DeltaCD();

            DeltaCD deltaCD2 = new DeltaCD
            {
                Add = new List <CollectionDescription>
                {
                    new CollectionDescription
                    {
                        ID         = 1,
                        DataSet    = 1,
                        Collection = new HistoricalCollection
                        {
                            ReceiverPropertyArray = new List <ReceiverProperty>
                            {
                                new ReceiverProperty
                                {
                                    Code          = Code.CODE_ANALOG,
                                    ReceiverValue = 1001
                                },
                                new ReceiverProperty
                                {
                                    Code          = Code.CODE_DIGITAL,
                                    ReceiverValue = 0
                                }
                            }
                        }
                    }
                },
                Update = new List <CollectionDescription>
                {
                    new CollectionDescription
                    {
                        ID         = 2,
                        DataSet    = 2,
                        Collection = new HistoricalCollection
                        {
                            ReceiverPropertyArray = new List <ReceiverProperty>
                            {
                                new ReceiverProperty
                                {
                                    Code          = Code.CODE_CONSUMER,
                                    ReceiverValue = 2200
                                },
                                new ReceiverProperty
                                {
                                    Code          = Code.CODE_SOURCE,
                                    ReceiverValue = 7701
                                }
                            }
                        }
                    }
                }
            };

            try
            {
                svc.StoreData(reader, cd, deltaCD, dataset);
                svc.StoreData(reader2, cd, deltaCD, dataset);
                svc.StoreData(reader3, cd, deltaCD, dataset);
                svc.StoreData(reader4, cd, deltaCD, dataset);

                svc.StoreData(reader, cd, deltaCD2, dataset);
                svc.StoreData(reader2, cd, deltaCD2, dataset);
                svc.StoreData(reader3, cd, deltaCD2, dataset);
                svc.StoreData(reader4, cd, deltaCD2, dataset);
            }
            catch (Exception)
            {
                Assert.Fail();
            }
            Assert.Pass();
            //Assert.AreEqual(true, svc.StoreData(reader, cd, deltaCD, dataset));
        }
Example #19
0
        public void ForwardDataToReadersTest()
        {
            CollectionDescription cd  = new CollectionDescription();
            ReplicatorReceiverSvc svc = new ReplicatorReceiverSvc();

            Reader.Reader reader  = new Reader.Reader(1);
            Reader.Reader reader2 = new Reader.Reader(2);
            Reader.Reader reader3 = new Reader.Reader(3);
            Reader.Reader reader4 = new Reader.Reader(4);


            DeltaCD deltaCD = new DeltaCD
            {
                Add = new List <CollectionDescription>
                {
                    new CollectionDescription
                    {
                        ID         = 1,
                        DataSet    = 1,
                        Collection = new HistoricalCollection
                        {
                            ReceiverPropertyArray = new List <ReceiverProperty>
                            {
                                new ReceiverProperty
                                {
                                    Code          = Code.CODE_ANALOG,
                                    ReceiverValue = 1111
                                },
                                new ReceiverProperty
                                {
                                    Code          = Code.CODE_DIGITAL,
                                    ReceiverValue = 0
                                }
                            }
                        }
                    }
                },
                Update = new List <CollectionDescription>
                {
                    new CollectionDescription
                    {
                        ID         = 1,
                        DataSet    = 1,
                        Collection = new HistoricalCollection
                        {
                            ReceiverPropertyArray = new List <ReceiverProperty>
                            {
                                new ReceiverProperty
                                {
                                    Code          = Code.CODE_ANALOG,
                                    ReceiverValue = 1111
                                },
                                new ReceiverProperty
                                {
                                    Code          = Code.CODE_DIGITAL,
                                    ReceiverValue = 0
                                }
                            }
                        }
                    },
                    new CollectionDescription
                    {
                        ID         = 2,
                        DataSet    = 1,
                        Collection = new HistoricalCollection
                        {
                            ReceiverPropertyArray = new List <ReceiverProperty>
                            {
                                new ReceiverProperty
                                {
                                    Code          = Code.CODE_ANALOG,
                                    ReceiverValue = 2222
                                },
                                new ReceiverProperty
                                {
                                    Code          = Code.CODE_DIGITAL,
                                    ReceiverValue = 1
                                }
                            }
                        }
                    },
                    new CollectionDescription
                    {
                        ID         = 3,
                        DataSet    = 1,
                        Collection = new HistoricalCollection
                        {
                            ReceiverPropertyArray = new List <ReceiverProperty>
                            {
                                new ReceiverProperty
                                {
                                    Code          = Code.CODE_ANALOG,
                                    ReceiverValue = 1111
                                },
                                new ReceiverProperty
                                {
                                    Code          = Code.CODE_DIGITAL,
                                    ReceiverValue = 0
                                }
                            }
                        }
                    },
                    new CollectionDescription
                    {
                        ID         = 4,
                        DataSet    = 1,
                        Collection = new HistoricalCollection
                        {
                            ReceiverPropertyArray = new List <ReceiverProperty>
                            {
                                new ReceiverProperty
                                {
                                    Code          = Code.CODE_ANALOG,
                                    ReceiverValue = 1111
                                },
                                new ReceiverProperty
                                {
                                    Code          = Code.CODE_DIGITAL,
                                    ReceiverValue = 0
                                }
                            }
                        }
                    },
                    new CollectionDescription
                    {
                        ID         = 5,
                        DataSet    = 1,
                        Collection = new HistoricalCollection
                        {
                            ReceiverPropertyArray = new List <ReceiverProperty>
                            {
                                new ReceiverProperty
                                {
                                    Code          = Code.CODE_ANALOG,
                                    ReceiverValue = 1111
                                },
                                new ReceiverProperty
                                {
                                    Code          = Code.CODE_DIGITAL,
                                    ReceiverValue = 0
                                }
                            }
                        }
                    },
                    new CollectionDescription
                    {
                        ID         = 6,
                        DataSet    = 1,
                        Collection = new HistoricalCollection
                        {
                            ReceiverPropertyArray = new List <ReceiverProperty>
                            {
                                new ReceiverProperty
                                {
                                    Code          = Code.CODE_ANALOG,
                                    ReceiverValue = 1111
                                },
                                new ReceiverProperty
                                {
                                    Code          = Code.CODE_DIGITAL,
                                    ReceiverValue = 0
                                }
                            }
                        }
                    },
                    new CollectionDescription
                    {
                        ID         = 7,
                        DataSet    = 1,
                        Collection = new HistoricalCollection
                        {
                            ReceiverPropertyArray = new List <ReceiverProperty>
                            {
                                new ReceiverProperty
                                {
                                    Code          = Code.CODE_ANALOG,
                                    ReceiverValue = 1111
                                },
                                new ReceiverProperty
                                {
                                    Code          = Code.CODE_DIGITAL,
                                    ReceiverValue = 0
                                }
                            }
                        }
                    },
                    new CollectionDescription
                    {
                        ID         = 8,
                        DataSet    = 1,
                        Collection = new HistoricalCollection
                        {
                            ReceiverPropertyArray = new List <ReceiverProperty>
                            {
                                new ReceiverProperty
                                {
                                    Code          = Code.CODE_ANALOG,
                                    ReceiverValue = 1111
                                },
                                new ReceiverProperty
                                {
                                    Code          = Code.CODE_DIGITAL,
                                    ReceiverValue = 0
                                }
                            }
                        }
                    },
                    new CollectionDescription
                    {
                        ID         = 9,
                        DataSet    = 1,
                        Collection = new HistoricalCollection
                        {
                            ReceiverPropertyArray = new List <ReceiverProperty>
                            {
                                new ReceiverProperty
                                {
                                    Code          = Code.CODE_ANALOG,
                                    ReceiverValue = 1111
                                },
                                new ReceiverProperty
                                {
                                    Code          = Code.CODE_DIGITAL,
                                    ReceiverValue = 0
                                }
                            }
                        }
                    },
                    new CollectionDescription
                    {
                        ID         = 10,
                        DataSet    = 1,
                        Collection = new HistoricalCollection
                        {
                            ReceiverPropertyArray = new List <ReceiverProperty>
                            {
                                new ReceiverProperty
                                {
                                    Code          = Code.CODE_ANALOG,
                                    ReceiverValue = 1111
                                },
                                new ReceiverProperty
                                {
                                    Code          = Code.CODE_DIGITAL,
                                    ReceiverValue = 0
                                }
                            }
                        }
                    }
                }
            };
            DeltaCD deltaCD2 = new DeltaCD
            {
                Update = new List <CollectionDescription>
                {
                    new CollectionDescription
                    {
                        ID         = 1,
                        DataSet    = 2,
                        Collection = new HistoricalCollection
                        {
                            ReceiverPropertyArray = new List <ReceiverProperty>
                            {
                                new ReceiverProperty
                                {
                                    Code          = Code.CODE_CONSUMER,
                                    ReceiverValue = 2200
                                },
                                new ReceiverProperty
                                {
                                    Code          = Code.CODE_SOURCE,
                                    ReceiverValue = 7701
                                }
                            }
                        }
                    },
                    new CollectionDescription
                    {
                        ID         = 2,
                        DataSet    = 2,
                        Collection = new HistoricalCollection
                        {
                            ReceiverPropertyArray = new List <ReceiverProperty>
                            {
                                new ReceiverProperty
                                {
                                    Code          = Code.CODE_CONSUMER,
                                    ReceiverValue = 2200
                                },
                                new ReceiverProperty
                                {
                                    Code          = Code.CODE_SOURCE,
                                    ReceiverValue = 7701
                                }
                            }
                        }
                    },
                    new CollectionDescription
                    {
                        ID         = 3,
                        DataSet    = 2,
                        Collection = new HistoricalCollection
                        {
                            ReceiverPropertyArray = new List <ReceiverProperty>
                            {
                                new ReceiverProperty
                                {
                                    Code          = Code.CODE_CONSUMER,
                                    ReceiverValue = 2200
                                },
                                new ReceiverProperty
                                {
                                    Code          = Code.CODE_SOURCE,
                                    ReceiverValue = 7701
                                }
                            }
                        }
                    },
                    new CollectionDescription
                    {
                        ID         = 4,
                        DataSet    = 2,
                        Collection = new HistoricalCollection
                        {
                            ReceiverPropertyArray = new List <ReceiverProperty>
                            {
                                new ReceiverProperty
                                {
                                    Code          = Code.CODE_CONSUMER,
                                    ReceiverValue = 2200
                                },
                                new ReceiverProperty
                                {
                                    Code          = Code.CODE_SOURCE,
                                    ReceiverValue = 7701
                                }
                            }
                        }
                    },
                    new CollectionDescription
                    {
                        ID         = 5,
                        DataSet    = 2,
                        Collection = new HistoricalCollection
                        {
                            ReceiverPropertyArray = new List <ReceiverProperty>
                            {
                                new ReceiverProperty
                                {
                                    Code          = Code.CODE_CONSUMER,
                                    ReceiverValue = 2200
                                },
                                new ReceiverProperty
                                {
                                    Code          = Code.CODE_SOURCE,
                                    ReceiverValue = 7701
                                }
                            }
                        }
                    },
                    new CollectionDescription
                    {
                        ID         = 6,
                        DataSet    = 2,
                        Collection = new HistoricalCollection
                        {
                            ReceiverPropertyArray = new List <ReceiverProperty>
                            {
                                new ReceiverProperty
                                {
                                    Code          = Code.CODE_CONSUMER,
                                    ReceiverValue = 2200
                                },
                                new ReceiverProperty
                                {
                                    Code          = Code.CODE_SOURCE,
                                    ReceiverValue = 7701
                                }
                            }
                        }
                    },
                    new CollectionDescription
                    {
                        ID         = 7,
                        DataSet    = 2,
                        Collection = new HistoricalCollection
                        {
                            ReceiverPropertyArray = new List <ReceiverProperty>
                            {
                                new ReceiverProperty
                                {
                                    Code          = Code.CODE_CONSUMER,
                                    ReceiverValue = 2200
                                },
                                new ReceiverProperty
                                {
                                    Code          = Code.CODE_SOURCE,
                                    ReceiverValue = 7701
                                }
                            }
                        }
                    },
                    new CollectionDescription
                    {
                        ID         = 8,
                        DataSet    = 2,
                        Collection = new HistoricalCollection
                        {
                            ReceiverPropertyArray = new List <ReceiverProperty>
                            {
                                new ReceiverProperty
                                {
                                    Code          = Code.CODE_CONSUMER,
                                    ReceiverValue = 2200
                                },
                                new ReceiverProperty
                                {
                                    Code          = Code.CODE_SOURCE,
                                    ReceiverValue = 7701
                                }
                            }
                        }
                    },
                    new CollectionDescription
                    {
                        ID         = 9,
                        DataSet    = 2,
                        Collection = new HistoricalCollection
                        {
                            ReceiverPropertyArray = new List <ReceiverProperty>
                            {
                                new ReceiverProperty
                                {
                                    Code          = Code.CODE_CONSUMER,
                                    ReceiverValue = 2200
                                },
                                new ReceiverProperty
                                {
                                    Code          = Code.CODE_SOURCE,
                                    ReceiverValue = 7701
                                }
                            }
                        }
                    },
                    new CollectionDescription
                    {
                        ID         = 10,
                        DataSet    = 2,
                        Collection = new HistoricalCollection
                        {
                            ReceiverPropertyArray = new List <ReceiverProperty>
                            {
                                new ReceiverProperty
                                {
                                    Code          = Code.CODE_CONSUMER,
                                    ReceiverValue = 2200
                                },
                                new ReceiverProperty
                                {
                                    Code          = Code.CODE_SOURCE,
                                    ReceiverValue = 7701
                                }
                            }
                        }
                    }
                }
            };

            try
            {
                svc.ForwardDataToReaders(reader, deltaCD);
                svc.ForwardDataToReaders(reader2, deltaCD);
                svc.ForwardDataToReaders(reader3, deltaCD);
                svc.ForwardDataToReaders(reader4, deltaCD);

                svc.ForwardDataToReaders(reader, deltaCD2);
                svc.ForwardDataToReaders(reader2, deltaCD2);
                svc.ForwardDataToReaders(reader3, deltaCD2);
                svc.ForwardDataToReaders(reader4, deltaCD2);
            }
            catch (Exception)
            {
                Assert.Fail();
            }
            Assert.Pass();
        }
Example #20
0
        public MainWindow()
        {
            settings_Path = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "\\PC Camera" + slash;
            string[] names  = { "Time_Interval", "Images_Save_Location" };
            string[] values = { time_interval.ToString(), img_path };

            InitializeComponent();
            //  location + dir + @"PC Images\" + time + " PC.jpg"
            CameraChoice  _CameraChoice = new CameraChoice();
            CameraControl cam           = new CameraControl();

            _CameraChoice.UpdateDeviceList();
            var            moniker     = _CameraChoice.Devices[0].Mon;
            ResolutionList resolutions = Camera.GetResolutionList(moniker);

            DirCheck();
            //settings folder maker
            if (!Directory.Exists(settings_Path))
            {
                Directory.CreateDirectory(settings_Path);
            }

            //logger = new Logger(location + current_dir + "log file.txt", current_time);
            //if setting file exists
            if (!File.Exists(settings_Path + settings_file_name))
            {
                // Create a file to write to.
                JSONMaker maker = new JSONMaker(names.Length, names, values, settings_Path + settings_file_name);
            }
            //using (StreamReader sr = File.OpenText(settings_Path + settings_file_name))
            {
                read = new Reader.Reader(settings_Path + settings_file_name);
                //string s = "";
                //s = sr.ReadLine();
                time_interval  = Convert.ToInt32(read.ReturnValueOf("Time_Interval"));
                img_path       = read.ReturnValueOf("Images_Save_Location");
                time_out.Text += Convert.ToString(time_interval) + "\n";
                time_out.Text += Convert.ToString(img_path) + "\n";
                LogCheck();
            }

            Res.Text += "Resolutions " + "\n";
            logger.Information("Resolutions", current_time);
            foreach (Resolution r in resolutions)
            {
                Res.Text += Convert.ToString(r + "\n");
                logger.Information(Convert.ToString(r), current_time);
            }

            cam.SetCamera(moniker, resolutions[0]);
            Res.Text += "Starting Camera" + "\n";
            logger.Information("Starting Camera", current_time);
            var timer = new System.Timers.Timer
            {
                Interval = (1000 * 60) * time_interval
            };

            //this will run the ontimed function when time is elapsed
            timer.Elapsed += ontimed;
            temp           = "current mins are set to: ";
            Res.Text      += temp + Convert.ToString(time_interval) + "\n";
            logger.Information(temp + time_interval, current_time);
            //this starts the timer
            timer.Start();

            void ontimed(object sender, System.Timers.ElapsedEventArgs e)
            {   //the time at which the image got taken
                current_time = DateTime.Now.ToString("dddd dd MMMM yyyy hh.mm tt");
                //the location at which the mage will be stored along with the generic location
                //it is used to store images according to each day
                current_dir = DateTime.Now.ToString("dddd dd MMMM yyyy") + "\\";


                this.Dispatcher.Invoke(() =>
                {
                    try
                    {
                        DirCheck();
                        LogCheck();
                        user_image(current_time, current_dir);
                        pc_img(current_time, current_dir);
                        Log_info("Image captured at time ", current_time);
                        if (check == true)
                        {
                            Log_mins("minutes updated to ", current_time, time_interval);
                            temp      = "current mins are set to: ";
                            Res.Text += temp + Convert.ToString(time_interval) + "\n";
                            logger.Information(temp + time_interval, current_time);
                            check = false;
                        }
                        timer.Interval = (1000 * 60) * time_interval;
                    }
                    catch (Exception ex)
                    {
                        time_out.Text += ex.ToString() + "\n";
                        logger.Error(ex, current_time);
                    }
                });
            }

            void pc_img(string time, string dir)
            {
                var image = ScreenCapture.CaptureDesktop();

                image.Save(img_path + dir + @"PC Images\" + time + " PC.jpg", ImageFormat.Jpeg);

                {
                    /*
                     * System.Drawing.Rectangle bounds = Screen.GetBounds(System.Drawing.Point.Empty);
                     * using (Bitmap bitmap = new Bitmap(bounds.Width, bounds.Height))
                     * {
                     *  using (Graphics g = Graphics.FromImage(bitmap))
                     *  {
                     *      g.CopyFromScreen(System.Drawing.Point.Empty, System.Drawing.Point.Empty, bounds.Size);
                     *  }
                     *  bitmap.Save("D:\\test.jpg", ImageFormat.Jpeg);
                     * }
                     */
                }
            }

            void user_image(string time, string dir)
            {
                this.Dispatcher.Invoke(() =>
                {
                    try
                    {
                        image_taker(time, dir);
                    }
                    catch (Exception ex)
                    {
                        time_out.Text = ex.ToString();
                    }
                });
            }

            void image_taker(string time, string dir)
            {
                try
                {
                    //image taker
                    // cam.SetCamera(moniker, resolutions[0]);
                    cam.SnapshotSourceImage().Save(img_path + dir + @"User Images\" + time + " User.png");
                    // cam.Dispose();
                }
                catch (Exception ex)
                {
                    time_out.Text += ex.ToString() + "\n";
                    logger.Error(ex, current_time);
                }
            }

            void Log_info(string info, string time)
            {
                time_out.Text += info + time + "\n";
                logger.Information(info, time);
            }

            void Log_mins(string info, string time, int mins)
            {
                time_out.Text += info + mins + "\n";
                logger.Information(info + mins, time);
            }

            void DirCheck()
            {
                //checks for directories
                if (!Directory.Exists(img_path + current_dir + @"PC Images\"))
                {
                    Directory.CreateDirectory(img_path + current_dir + @"PC Images\");
                }
                if (!Directory.Exists(img_path + current_dir + @"User Images\"))
                {
                    Directory.CreateDirectory(img_path + current_dir + @"User Images\");
                }
            }

            void LogCheck()
            {
                //checks for the log file
                if (logger == null || !logger.Exists())
                {
                    logger = new Logger(img_path + current_dir + "log file.txt", current_time);
                }
            }
        }