Ejemplo n.º 1
0
        public Save Reset(string id)
        {
            using (var client = new LLCContext())
            {
                var link = client.Links.FirstOrDefault(x => x.Id == id);
                if (link != null)
                {
                    link.ReportNotBeforeDate = DateTime.Today;
                    link.Valid = true;
                    client.Links.Update(link);
                    Console.WriteLine("Updated link");
                    var report = client.Reports.FirstOrDefault(x => x.Link == id);
                    if (report != null)
                    {
                        client.Reports.Remove(report);
                        Console.WriteLine("Removed report");
                    }
                }

                client.SaveChanges();
                return(new Save {
                    Status = true
                });
            }
        }
Ejemplo n.º 2
0
        public Save AddPackage(Packages package)
        {
            var now = DateTime.Now;

            using (var client = new LLCContext())
            {
                Console.WriteLine("Adding package");
                client.Packages.Add(package);

                try
                {
                    client.SaveChanges();
                    return(new Save {
                        Status = true
                    });
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                    return(new Save {
                        Status = false
                    });
                }
            }
        }
Ejemplo n.º 3
0
        public List <ReportsExt> WarningLinks()
        {
            using (var client = new LLCContext())
            {
                var results =
                    (from reports in client.Reports
                     join link    in client.Links on reports.Link equals link.Id
                     join source  in client.Sources on link.Source equals source.Id
                     where reports.ReportType == "Warning"
                     select new ReportsExt
                {
                    AttemptCount = link.AttemptCount,
                    ContentSize = reports.ContentSize,
                    DateLastChecked = link.DateLastChecked,
                    DateLastFound = link.DateLastFound,
                    Id = reports.Id,
                    Link = link.Id,
                    Mean = reports.Mean,
                    ReportType = reports.ReportType,
                    SdMaximum = reports.SdMaximum,
                    Source = source.Name,
                    StandardDeviation = reports.StandardDeviation,
                    Stat = reports.Stat,
                    Url = link.Url
                })
                    .ToList();

                return(results);
            }
        }
Ejemplo n.º 4
0
        public Save DeletePackage(string key)
        {
            using (var client = new LLCContext())
            {
                var package = PackageFromKey(key);
                client.Packages.Remove(package);

                var files = client.PackageFiles.Where(x => x.PackageId == package.Id);
                client.PackageFiles.RemoveRange(files);

                Console.WriteLine("Removing package and files");

                try
                {
                    client.SaveChanges();
                    return(new Save {
                        Status = true
                    });
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                    return(new Save {
                        Status = false
                    });
                }
            }
        }
Ejemplo n.º 5
0
        public List <SourcesExt> Sources()
        {
            using (var client = new LLCContext())
            {
                var sources = client.Sources.Select(x => new SourcesExt {
                    AllowLinkChecking    = x.AllowLinkChecking,
                    AllowLinkExtractions = x.AllowLinkExtractions,
                    DateCreated          = x.DateCreated,
                    Description          = x.Description,
                    Id         = x.Id,
                    Name       = x.Name,
                    S3bucketId = x.S3bucketId
                })
                              .ToList();

                foreach (var m in sources)
                {
                    // Skip the internal sources
                    if (m.S3bucketId != null)
                    {
                        var bucket = client.Buckets.FirstOrDefault(x => x.Id == m.S3bucketId);
                        m.S3bucketName         = bucket.Name;
                        m.S3bucketSearchPrefix = bucket.SearchPrefix;
                    }
                }

                sources = sources.OrderBy(x => x.Id).ToList();
                return(sources);
            }
        }
Ejemplo n.º 6
0
        public List <LinksExt> LinkChecker(string source, int offset, int maximum)
        {
            using (var client = new LLCContext())
            {
                var result = client.Links.Where(x => x.Source == source)
                             .Skip(offset)
                             .Take(maximum)
                             .Select(x => new LinksExt
                {
                    AllTimeMaxDownloadTime    = x.AllTimeMaxDownloadTime,
                    AllTimeMinDownloadTime    = x.AllTimeMinDownloadTime,
                    AllTimeStdDevDownloadTime = x.AllTimeStdDevDownloadTime,
                    AttemptCount    = x.AttemptCount,
                    DateFirstFound  = x.DateFirstFound,
                    DateLastChecked = x.DateLastChecked,
                    DateLastFound   = x.DateLastFound,
                    DateUpdated     = x.DateUpdated,
                    DisabledDate    = x.DisabledDate,
                    DisabledUser    = x.DisabledUser,
                    Id = x.Id,
                    PastWeekMaxDownloadTime    = x.PastWeekMaxDownloadTime,
                    PastWeekMinDownloadTime    = x.PastWeekMinDownloadTime,
                    PastWeekStdDevDownloadTime = x.PastWeekStdDevDownloadTime,
                    ReportNotBeforeDate        = x.ReportNotBeforeDate,
                    Source = x.Source,
                    Url    = x.Url,
                    Valid  = x.Valid
                })
                             .ToList();

                return(result);
            }
        }
Ejemplo n.º 7
0
        public Save DeleteSetting(SettingsExt setting)
        {
            using (var client = new LLCContext())
            {
                Console.WriteLine(JsonConvert.SerializeObject(setting));

                client.Settings.Remove(new Settings
                {
                    Id = setting.Id
                });

                try
                {
                    client.SaveChanges();
                    return(new Save {
                        Status = true
                    });
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                    return(new Save {
                        Status = false
                    });
                }
            }
        }
Ejemplo n.º 8
0
        public Save DeleteSource(SourcesExt source)
        {
            using (var client = new LLCContext())
            {
                Console.WriteLine(JsonConvert.SerializeObject(source));

                var obj = Source(source.Id, SearchType.Id);
                client.Buckets.Remove(new Buckets
                {
                    Id = obj.S3bucketId
                });

                client.Sources.Remove(new Sources
                {
                    Id         = source.Id,
                    S3bucketId = obj.S3bucketId
                });

                try
                {
                    client.SaveChanges();
                    return(new Save {
                        Status = true
                    });
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                    return(new Save {
                        Status = false
                    });
                }
            }
        }
Ejemplo n.º 9
0
        public List <ObjectsExt> LinkExtractor(string bucket, int offset, int maximum)
        {
            using (var client = new LLCContext())
            {
                var result = client.Objects.Where(
                    x => x.Bucket == bucket &&
                    x.DisabledDate == null &&
                    x.Key.Contains(".htm") &&
                    (x.DateLinksLastExtracted == null || x.DateLinksLastExtracted < x.ContentLastModified) &&
                    x.IsFolder == false)
                             .Skip(offset)
                             .Take(maximum)
                             .Select(x => new ObjectsExt
                {
                    Bucket = x.Bucket,
                    ContentLastModified    = x.ContentLastModified,
                    DateFirstFound         = x.DateFirstFound,
                    DateLastFound          = x.DateLastFound,
                    DateLinksLastExtracted = x.DateLinksLastExtracted,
                    DisabledDate           = x.DisabledDate,
                    DisabledUser           = x.DisabledUser,
                    Etag     = x.Etag,
                    Id       = x.Id,
                    IsFolder = x.IsFolder,
                    ItemName = x.ItemName,
                    Key      = x.Key
                })
                             .ToList();

                return(result);
            }
        }
Ejemplo n.º 10
0
        public List <PackagesExt> Packages()
        {
            using (var client = new LLCContext())
            {
                var packages = client.Packages
                               .Select(x => new PackagesExt
                {
                    DateUploaded     = x.DateUploaded,
                    Delete           = false,
                    Description      = x.Description,
                    FileName         = x.FileName,
                    Id               = x.Id,
                    ImsDescription   = x.ImsDescription,
                    ImsSchema        = x.ImsSchema,
                    ImsSchemaVersion = x.ImsSchemaVersion,
                    ImsTitle         = x.ImsTitle,
                    Key              = x.Key,
                    Name             = x.Name,
                    PackageProcessed = x.PackageProcessed,
                    UploadedBy       = x.UploadedBy
                })
                               .ToList();


                return(packages);
            }
        }
Ejemplo n.º 11
0
        public List <BucketLocationsModel> BucketLocations(BucketLocationsRequest m)
        {
            using (var client = new LLCContext())
            {
                var buckets  = Buckets();
                var response = new List <BucketLocationsModel>();
                var links    = client.ObjectLinks.Where(x => x.Link == m.id);
                var dist     = new List <string>();
                if (links != null)
                {
                    foreach (var link in links)
                    {
                        var obj = client.Objects.FirstOrDefault(x => x.Id == link.Object);
                        var url = string.Format("https://{0}.s3.amazonaws.com/{1}", buckets.FirstOrDefault(x => x.Id == obj.Bucket).Name, obj.Key);
                        if (!dist.Contains(url))
                        {
                            dist.Add(url);
                        }
                    }

                    foreach (var d in dist)
                    {
                        response.Add(new BucketLocationsModel
                        {
                            data = d
                        });
                    }
                }

                return(response);
            }
        }
Ejemplo n.º 12
0
 public Links LinkFromUrl(string url)
 {
     using (var client = new LLCContext())
     {
         var obj = client.Links.FirstOrDefault(x => x.Url == url);
         return(obj);
     }
 }
Ejemplo n.º 13
0
 public Links Link(string id)
 {
     using (var client = new LLCContext())
     {
         var obj = client.Links.FirstOrDefault(x => x.Id == id);
         return(obj);
     }
 }
Ejemplo n.º 14
0
 public int LinksCount(string source)
 {
     using (var client = new LLCContext())
     {
         var count = client.Links.Where(x => x.Source == source).Count();
         return(count);
     }
 }
Ejemplo n.º 15
0
 public Reports Report(string id)
 {
     using (var client = new LLCContext())
     {
         var obj = client.Reports.FirstOrDefault(x => x.Link == id);
         return(obj);
     }
 }
Ejemplo n.º 16
0
 public List <Buckets> Buckets()
 {
     using (var client = new LLCContext())
     {
         var buckets = client.Buckets.ToList();
         return(buckets);
     }
 }
Ejemplo n.º 17
0
 public Objects Object(string id)
 {
     using (var client = new LLCContext())
     {
         var obj = client.Objects.FirstOrDefault(x => x.Id == id);
         return(obj);
     }
 }
Ejemplo n.º 18
0
 public void RemoveReport(Reports report)
 {
     using (var client = new LLCContext())
     {
         client.Reports.Remove(report);
         client.SaveChanges();
     }
 }
Ejemplo n.º 19
0
 public Packages PackageFromKey(string key)
 {
     using (var client = new LLCContext())
     {
         var package = client.Packages.FirstOrDefault(x => x.Key == key);
         return(package);
     }
 }
Ejemplo n.º 20
0
 public Objects ObjectFromKey(string key)
 {
     using (var client = new LLCContext())
     {
         var obj = client.Objects.FirstOrDefault(x => x.Key == key);
         return(obj);
     }
 }
Ejemplo n.º 21
0
 public Objects AddObject(Objects obj)
 {
     using (var client = new LLCContext())
     {
         var update = client.Objects.Add(obj);
         client.SaveChanges();
         return(obj);
     }
 }
Ejemplo n.º 22
0
 public Links AddLink(Links link)
 {
     using (var client = new LLCContext())
     {
         var update = client.Links.Add(link);
         client.SaveChanges();
         return(link);
     }
 }
Ejemplo n.º 23
0
 public Stats AddStat(Stats stat)
 {
     using (var client = new LLCContext())
     {
         var update = client.Stats.Add(stat);
         client.SaveChanges();
         return(stat);
     }
 }
Ejemplo n.º 24
0
 public Reports SetReport(Reports report)
 {
     using (var client = new LLCContext())
     {
         var update = client.Reports.Update(report);
         client.SaveChanges();
         return(report);
     }
 }
Ejemplo n.º 25
0
        public Save SaveSetting(SettingsExt setting, User user)
        {
            Console.WriteLine($"ID is {setting.Id}");
            Console.WriteLine($"ID is null ? {string.IsNullOrEmpty(setting.Id)}");

            var now = DateTime.Now;

            using (var client = new LLCContext())
            {
                if (string.IsNullOrEmpty(setting.Id))
                {
                    Console.WriteLine("Adding setting");

                    var id = Guid.NewGuid().ToString();
                    client.Settings.Add(new Settings
                    {
                        DateCreated  = now,
                        DateModified = now,
                        Description  = setting.Description,
                        Id           = id,
                        ModifiedUser = user.Email,
                        Name         = setting.Name,
                        Value        = setting.Value
                    });
                }
                else
                {
                    Console.WriteLine("Update setting");

                    client.Settings.Update(new Settings
                    {
                        DateModified = now,
                        Description  = setting.Description,
                        Id           = setting.Id,
                        ModifiedUser = user.Email,
                        Name         = setting.Name,
                        Value        = setting.Value
                    });
                }

                try
                {
                    client.SaveChanges();
                    return(new Save {
                        Status = true
                    });
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                    return(new Save {
                        Status = false
                    });
                }
            }
        }
Ejemplo n.º 26
0
 public void RemoveReport(string link)
 {
     using (var client = new LLCContext())
     {
         var report = client.Reports.FirstOrDefault(x => x.Link == link);
         if (report != null)
         {
             client.Reports.Remove(report);
             client.SaveChanges();
         }
     }
 }
Ejemplo n.º 27
0
        public List <Stats> LinkStats(LinksExt link)
        {
            using (var client = new LLCContext())
            {
                var stats =
                    (from stat in client.Stats
                     join l in client.Links on stat.Link equals l.Id
                     where l.Id == link.Id && (l.ReportNotBeforeDate == null || stat.DateChecked >= l.ReportNotBeforeDate)
                     select stat)
                    .ToList();

                return(stats);
            }
        }
Ejemplo n.º 28
0
        public int ObjectsCount(string bucket)
        {
            using (var client = new LLCContext())
            {
                var count = client.Objects.Where(
                    x => x.Bucket == bucket &&
                    x.DisabledDate == null &&
                    x.Key.Contains(".htm") &&
                    (x.DateLinksLastExtracted == null || x.DateLinksLastExtracted < x.ContentLastModified) &&
                    x.IsFolder == false).Count();

                return(count);
            }
        }
Ejemplo n.º 29
0
        public List <SettingsExt> Settings()
        {
            using (var client = new LLCContext())
            {
                var settings = client.Settings
                               .Select(x => new SettingsExt
                {
                    DateCreated  = x.DateCreated,
                    DateModified = x.DateModified,
                    Description  = x.Description,
                    Id           = x.Id,
                    ModifiedUser = x.ModifiedUser,
                    Name         = x.Name,
                    Value        = x.Value
                })
                               .ToList();

                settings = settings.OrderBy(x => x.Name).ToList();
                return(settings);
            }
        }
Ejemplo n.º 30
0
        public List <PackageFilesExt> PackageFiles(string package)
        {
            using (var client = new LLCContext())
            {
                var files =
                    (from p in client.PackageFiles
                     join l in client.Links on p.Link equals l.Id
                     where p.PackageId == package
                     select new PackageFilesExt
                {
                    CourseLocation = p.CourseLocation,
                    Id = p.Id,
                    LinkName = p.LinkName,
                    ParentFolder = p.ParentFolder,
                    Protocol = p.Protocol,
                    Link = l.Url
                })
                    .ToList();

                return(files);
            }
        }