public static string IsImportResourceAlreadyRunning(SPWeb web) { bool isRunning = false; Guid jobId = Guid.Empty; int percentComplete = 0; string query = "SELECT status, view_log.timerjobuid, epml_log.resulttext from vwQueueTimerLog view_log inner join EPMLIVE_LOG as epml_log on view_log.timerjobuid = epml_log.timerjobuid where siteguid='" + web.Site.ID + "' and webguid='" + web.ID + "' and jobtype=60"; SPSecurity.RunWithElevatedPrivileges(delegate() { using (SqlConnection cn = new SqlConnection(CoreFunctions.getConnectionString(web.Site.WebApplication.Id))) { try { cn.Open(); using (SqlCommand cmd = new SqlCommand(query, cn)) { using (SqlDataReader dr = cmd.ExecuteReader()) { if (dr.Read()) { // Status 0 = Not started, Status 1 = Running, Status 2 = Completed if (dr.GetInt32(0) != 2) { isRunning = true; } jobId = dr.GetGuid(1); string jsonText = dr.GetString(2); try { JavaScriptSerializer jsSerializer = new JavaScriptSerializer(); ResourceImportResult resourceImport = jsSerializer.Deserialize <ResourceImportResult>(jsonText); percentComplete = resourceImport.PercentComplete; } catch { } } } } } catch (Exception ex) { LoggingService.WriteTrace(Area.EPMLiveCore, Categories.EPMLiveCore.Webservice, TraceSeverity.Medium, ex.ToString()); } } }); return(string.Format(@"<ResourceImporter Success=""{0}"" JobUid=""{1}"" PercentComplete=""{2}"" />", isRunning, jobId, percentComplete)); }
public ResourceImporter(SPWeb spWeb, string data, bool isImportCancelled) { if (!spWeb.CurrentUser.IsSiteAdmin) { throw new Exception("You need to be a Site Collection Administrator in order to import resources."); } _spWeb = spWeb; _fileId = data; _dtResources = new DataTable(); _currentProcess = string.Empty; _act = new Act(_spWeb); _isOnline = _act.IsOnline; _dSMResult = new ResourceImportResult(); }
public void UpdateProgressTest_Run_Catch_When_resourceImporter_Isnull() { using (new SPEmulators.SPEmulationContext(SPEmulators.IsolationLevel.Fake)) { ResourceImportJob resourceimportjob = new ResourceImportJob(); using (TestCheck.OpenCloseConnections) { ResourceImportResult res = new ResourceImportResult(); res.TotalRecords = 1; //Act new PrivateObject(resourceimportjob).Invoke("UpdateProgress", res); } } }
public void UpdateProgressTest() { using (new SPEmulators.SPEmulationContext(SPEmulators.IsolationLevel.Fake)) { ResourceImportJob resourceimportjob = new ResourceImportJob(); using (TestCheck.OpenCloseConnections) { ShimResourceImportJob.AllInstances.IsImportCancelledGuid = (ins, gid) => { }; ShimSqlCommand.AllInstances.ExecuteNonQuery = (instance) => { return(0); }; ResourceImportResult res = new ResourceImportResult(); res.TotalRecords = 0; ResourceImporter resimp = new ShimResourceImporter(); new PrivateObject(resourceimportjob).SetField("resourceImporter", resimp); //Act new PrivateObject(resourceimportjob).Invoke("UpdateProgress", res); } } }