Exemplo n.º 1
0
        async void checkLabEndTime_Elapsed(object sender, ElapsedEventArgs e)
        {
            try
            {
                if (conn.State != ConnectionState.Open)
                {
                    conn.ConnectionString = ConnectionString;
                    conn.Open();
                }
            }
            catch (Exception ex)
            {
                // Log.Write(EventKind.Critical, Log.FormatExceptionInfo(ex), null);
                //Log exception message
            }
            SqlCommand    closeLabs       = new SqlCommand("Select * from Labs where ((datediff(minute, end_time, getdate())) = 0) ", conn);
            SqlDataReader closeLabsReader = closeLabs.ExecuteReader();

            if (closeLabsReader != null)
            {
                try
                {
                    while (closeLabsReader.Read())
                    {
                        string        labName      = closeLabsReader.GetString(1);
                        int           labID        = closeLabsReader.GetInt32(0);
                        SqlCommand    VMList       = new SqlCommand("Select * from LabVMs where Lab_ID = " + labID, conn);
                        SqlDataReader VMListReader = VMList.ExecuteReader();
                        while (VMListReader.Read())
                        {
                            SqlCommand updateLabsStatus = new SqlCommand("update labs set status='Deleting' where id = " + labID, conn);
                            updateLabsStatus.ExecuteNonQuery();

                            string        serviceName            = VMListReader.GetString(1);
                            SqlCommand    closeParticipantList   = new SqlCommand("Delete from LabParticipants where LabID = " + labID, conn);
                            SqlDataReader closeParticipantReader = closeParticipantList.ExecuteReader();

                            SqlCommand    closeLabConfigOb     = new SqlCommand("Delete from LabConfigurations where LabID = " + labID, conn);
                            SqlDataReader closeLabConfigReader = closeLabConfigOb.ExecuteReader();

                            SqlCommand deleteVMPath = new SqlCommand("Delete from LabVMs where Lab_ID = " + labID, conn);
                            deleteVMPath.ExecuteNonQuery();

                            SqlCommand deleteLabsStatus = new SqlCommand("Delete from Labs where id = " + labID, conn);
                            deleteLabsStatus.ExecuteNonQuery();

                            VMManager vmm    = new VMManager(SubscriptionID, CertThumbPrint);
                            string    status = await vmm.DeleteQCVM(serviceName).ConfigureAwait(continueOnCapturedContext: false);
                        }
                    }
                }
                catch (Exception exc)
                {
                    //Log Exception
                    // Log.Write(EventKind.Critical, Log.FormatExceptionInfo(exc), null);
                }
            }
        }
        async public Task <JsonResult> DeleteQCVM(int id)
        {
            VMManager            vmm = new VMManager(ConfigurationManager.AppSettings["SubcriptionID"], ConfigurationManager.AppSettings["CertificateThumbprint"]);
            ApplicationDbContext db  = new ApplicationDbContext();
            var cloudService         = db.QuickCreates.Where(l => l.ID == id).FirstOrDefault();
            await vmm.DeleteQCVM(cloudService.ServiceName);

            db.QuickCreates.Remove(cloudService);
            db.SaveChanges();
            return(Json(new { Status = 0 }));
        }
Exemplo n.º 3
0
        public JsonResult DeleteQCVM(int id)
        {
            VMManager            vmm = new VMManager(ConfigurationManager.AppSettings["SubcriptionID"], ConfigurationManager.AppSettings["CertificateThumbprint"]);
            ApplicationDbContext db  = new ApplicationDbContext();
            var cloudService         = db.QuickCreates.Where(l => l.ID == id).FirstOrDefault();

            try
            {
                string res = vmm.DeleteQCVM(cloudService.ServiceName).Result;
            }
            catch (Exception e)
            {
                // string message = e.InnerException.ToString();
                db.QuickCreates.Remove(cloudService);
                db.SaveChanges();
            }
            if (cloudService != null)
            {
                db.QuickCreates.Remove(cloudService);
                db.SaveChanges();
            }
            return(Json(new { success = true }, JsonRequestBehavior.AllowGet));
            // return Json(new { Status = 0 });
        }