/// <summary>
        /// To invoke this, send a request to /?web.test.command=tasks
        /// </summary>
        public static void DispatchTasksList()
        {
            var response = HttpContext.Current.Response;
            var request  = HttpContext.Current.Request;

            response.ContentType = "text/html";

            response.Write("<html>");

            response.Write("<body>");

            if (request.Has("t"))
            {
                AutomatedTask.GetAllTasks().Single(t => t.Name == request["t"]).Execute();
                response.Write("Done: {0}<br/><br/>".FormatWith(request["t"]));
            }

            // Render a list of tasks
            response.Write(AutomatedTask.GetAllTasks().Select(t => "<a href='/?web.test.command=tasks&t={0}'>{0}</a>".FormatWith(t.Name)).ToString("<br/>") +
                           "<br/><br/><a href='/Web.Test.Command=restart' style='display:none;'>Restart Temp Database</a>");

            response.Write("<script src='https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>");

            response.Write("</body>");

            response.Write("</html>");

            response.End();
        }
        private void GetLastUploadDetails(LARSUploadModel model)
        {
            String        taskName = AutomationController.AutomatedTaskName.LARSImport.ToString();
            AutomatedTask at       = db.AutomatedTasks.Where(x => x.TaskName == taskName).FirstOrDefault();

            if (at != null)
            {
                model.IsAutomationInProgress = at.InProgress;
            }

            MetadataUpload dataUpload = db.MetadataUploads.Where(m => m.MetadataUploadTypeId == (Int32)Constants.MetadataUploadType.LearningAim).OrderByDescending(m => m.CreatedDateTimeUtc).FirstOrDefault();

            if (dataUpload != null)
            {
                if (dataUpload.AspNetUser == null)
                {
                    AspNetUser user = db.AspNetUsers.Find(dataUpload.CreatedByUserId);
                    if (user != null)
                    {
                        model.LastUploadedBy = user.Name;
                    }
                }
                else
                {
                    model.LastUploadedBy = dataUpload.AspNetUser.Name ?? dataUpload.AspNetUser.Email;
                }
                model.LastUploadDateTimeUtc = dataUpload.CreatedDateTimeUtc;
                DateTime.SpecifyKind(model.LastUploadDateTimeUtc.Value, DateTimeKind.Utc);
                model.LastUploadFileName = dataUpload.FileName;
            }
        }
        void CommandFile_Created(object sender, System.IO.FileSystemEventArgs e)
        {
            AutomatedTask task = (from t in DataBase.Current.Set <AutomatedTask>() where t.Oid.ToString() == e.Name && t.Computer.Oid == Computer.GetCurrentComputer().Oid select t).SingleOrDefault <AutomatedTask>();

            if (task != null)
            {
                task.Execute();
                System.IO.File.Delete(e.FullPath);
            }
        }
Пример #4
0
        public static void CompleteAutomatedTask(AutomatedTaskName taskName)
        {
            String name = taskName.ToString();
            ProviderPortalEntities db = new ProviderPortalEntities();
            AutomatedTask          at = db.AutomatedTasks.Where(x => x.TaskName == name).FirstOrDefault();

            if (at != null)
            {
                at.InProgress      = false;
                db.Entry(at).State = System.Data.Entity.EntityState.Modified;
                db.SaveChanges();
            }
        }
Пример #5
0
        public static void InitiateTempDatabase(bool enforceRestart, bool mustRenew)
        {
            if (!IsTddExecutionMode())
            {
                return;
            }

            if (Config.Get("PredictableGuidEnabled", defaultValue: false))
            {
                PredictableGuidGenerator.Reset("Default");
                GuidEntity.NewGuidGenerator = PredictableGuidGenerator.Generate;
            }

            IsDatabaseBeingCreated = true;

            try
            {
                DataAccessor.Current.ClearAllPools();

                AutomatedTask.DeleteExecutionStatusHistory();

                if (enforceRestart)
                {
                    TempDatabaseInitiated = null;
                }

                if (TempDatabaseInitiated.HasValue)
                {
                    return;
                }

                var generator = TestDatabaseGenerator.Current.Initialize(isTempDatabaseOptional: true, mustRenew: mustRenew);

                TempDatabaseInitiated = generator.Process();

                Database.Refresh();

                DataAccessor.Current.ClearAllPools();
            }
            finally { IsDatabaseBeingCreated = false; }
        }
        internal static void InitiateTempDatabase(bool enforceRestart, bool mustRenew)
        {
            if (!IsTddExecutionMode())
            {
                return;
            }

            IsDatabaseBeingCreated = true;

            try
            {
                SqlConnection.ClearAllPools();

                AutomatedTask.DeleteExecutionStatusHistory();

                if (enforceRestart)
                {
                    TempDatabaseInitiated = null;
                }

                if (TempDatabaseInitiated.HasValue)
                {
                    return;
                }

                var generator = new TestDatabaseGenerator(isTempDatabaseOptional: true, mustRenew: mustRenew);

                TempDatabaseInitiated = generator.Process();

                Database.Refresh();

                SqlConnection.ClearAllPools();

                // new Action(() => Database.Find<IEmailQueueItem>()).Invoke(retries: 20, waitBeforeRetries: TimeSpan.FromSeconds(1));
            }
            finally
            {
                IsDatabaseBeingCreated = false;
            }
        }
Пример #7
0
        internal static void InitiateTempDatabase(bool enforceRestart, bool mustRenew)
        {
            if (!IsTddExecutionMode())
            {
                return;
            }

            IsDatabaseBeingCreated = true;

            try
            {
                SqlConnection.ClearAllPools();

                AutomatedTask.DeleteExecutionStatusHistory();

                if (enforceRestart)
                {
                    TempDatabaseInitiated = null;
                }

                if (TempDatabaseInitiated.HasValue)
                {
                    return;
                }

                var generator = new TestDatabaseGenerator(isTempDatabaseOptional: true, mustRenew: mustRenew);

                TempDatabaseInitiated = generator.Process();

                Database.Refresh();

                SqlConnection.ClearAllPools();
            }
            finally
            {
                IsDatabaseBeingCreated = false;
            }
        }
 /// <summary>
 /// Send email queue items
 /// </summary>
 static void SendEmailQueueItems(AutomatedTask info)
 {
     EmailService.SendAll();
 }
 /// <summary>
 /// Clean old temp uploads
 /// </summary>
 static void CleanOldTempUploads(AutomatedTask info)
 {
     FileUploadService.DeleteTempFiles(olderThan: TimeSpan.FromHours(1));
 }