public void AddResults(string path, int l, float c)
        {
            ImageObj imageObj = new ImageObj();

            imageObj.Path = path;
            byte[] img = File.ReadAllBytes(path);
            imageObj.ImageDetails = new Blob()
            {
                Image = img
            };
            imageObj.Confidence = c;

            LabelObj el;

            try
            {
                el = LabelObjs.First(i => i.Label == l);
                Entry(el).Collection(i => i.ImageObjs).Load();
            }
            catch (InvalidOperationException)
            {
                el = null;
            }

            if (el == null)
            {
                imageObj.LabelObject = new LabelObj()
                {
                    Label = l, StatCount = 1
                };
                imageObj.LabelObject.ImageObjs = new List <ImageObj>();
                imageObj.LabelObject.ImageObjs.Add(imageObj);

                ImageObjs.Add(imageObj);
                LabelObjs.Add(imageObj.LabelObject);
                ImageDetails.Add(imageObj.ImageDetails);
            }
            else
            {
                imageObj.LabelObject = el;
                imageObj.LabelObject.StatCount++;
                imageObj.LabelObject.ImageObjs.Add(imageObj);

                ImageObjs.Add(imageObj);
                ImageDetails.Add(imageObj.ImageDetails);
            }

            SaveChanges();
        }
        public void ClearDb()
        {
            foreach (var item in ImageObjs)
            {
                ImageObjs.Remove(item);
            }

            foreach (var item in ImageDetails)
            {
                ImageDetails.Remove(item);
            }

            foreach (var item in LabelObjs)
            {
                LabelObjs.Remove(item);
            }

            SaveChanges();
        }
        public Tuple <int, float> FindResults(string path)
        {
            Tuple <int, float> tmpInf = null;

            byte[]   img = File.ReadAllBytes(path);
            ImageObj el;

            try
            {
                el = ImageObjs.First(i => i.Path == path);
            }
            catch (InvalidOperationException)
            {
                el = null;
            }

            if (el != null)
            {
                Entry(el).Reference(i => i.LabelObject).Load();
                Entry(el).Reference(i => i.ImageDetails).Load();
                if (img.Length == el.ImageDetails.Image.Length)
                {
                    bool check = true;
                    for (int i = 0; i < img.Length; i++)
                    {
                        if (img[i] != el.ImageDetails.Image[i])
                        {
                            check = false;
                            break;
                        }
                    }

                    if (check)
                    {
                        tmpInf = new Tuple <int, float>(el.LabelObject.Label, el.Confidence);
                    }
                }
            }

            return(tmpInf);
        }