Beispiel #1
0
 public PackageController(PackageContext context, ILoggerFactory logger, MyAppData appState, IConfiguration configuration)
 {
     _context       = context;
     _appState      = appState;
     _configuration = configuration;
     _logger        = logger.CreateLogger("Client2.Controllers.PackageController");
 }
Beispiel #2
0
        public static IEnumerable <Package> GetPackages(int?page, int?size, PackageContext context, ILogger logger, MyAppData appState, IConfiguration configuration)
        {
            /* SYNC PACKAGES FROM KTAPI EVERY 24 hours */
            var hours = appState.PackageRetrievedAt != null ?
                        ((TimeSpan)(DateTime.Now - appState.PackageRetrievedAt)).TotalHours :
                        0;

            if (!appState.PackageRetrieved || hours > 24)
            {
                appState.PackageRetrieved   = true;
                appState.PackageRetrievedAt = DateTime.Now;

                context.Database.ExecuteSqlCommand("TRUNCATE TABLE Package");

                var packagesJArray = KtapiService.GetPackagesFromKTAPI(
                    configuration["KTAPI:Key"],
                    configuration["KTAPI:Secret"],
                    configuration["KTAPI:Endpoint"]).Result;
                foreach (Newtonsoft.Json.Linq.JObject pObject in packagesJArray)
                {
                    var package = context.Package.FirstOrDefault(t => t.SfdcId == (String)pObject["id"]);
                    if (package == null)
                    {
                        package        = new Package();
                        package.SfdcId = (String)pObject["id"];
                        context.Package.Add(package);
                    }
                    package.Name = (String)pObject["name"];
                    package.Data = pObject.ToString();
                }

                context.SaveChanges();
            }
            /* END OF SYNC LOGIC */

            if (size != null && page != null)
            {
                return(context.Package
                       .OrderByDescending(x => x.Id)
                       .Skip((int)page * (int)size)
                       .Take((int)size)
                       .Select(item => new Package
                {
                    Id = item.Id,
                    SfdcId = item.SfdcId,
                    Name = item.Name,
                    Data = item.Data,
                })
                       .ToList());
            }
            else
            {
                return(context.Package.ToList());
            }
        }
 public MyController(MyAppData myService)
 {
     // Do something with the service (read some data from it,
     // store it in a private field/property, etc.)
 }
Beispiel #4
0
 public DefaultController(MyAppData data)
 {
     _sdk = data.Sdk as SelfRefreshingClient;
 }
Beispiel #5
0
 public ResearchModel(MyAppData appData)
 {
     this.appData = appData;
 }