//Get Resource from Resource GUID private string GetWindowsAccountByResGUID(string ls_guid, Microsoft.Office.Project.Server.Library.PSContextInfo contextInfo, string url) { try { Guid trackingGuid = Guid.NewGuid(); string lcid = "1033"; ResourceDerived.SetImpersonationContext(true, contextInfo.UserName, contextInfo.UserGuid, trackingGuid, contextInfo.SiteGuid, lcid); ResourceDerived Resource = new ResourceDerived(); Resource.Url = url + "/_vti_bin/psi/resource.asmx"; //WebSvcResource.Resource Resource = new WebSvcResource.Resource(); WebSvcResource.ResourceDataSet lo_resDS = new WebSvcResource.ResourceDataSet(); //Resource.Credentials = System.Net.CredentialCache.DefaultCredentials; string nameColumn = lo_resDS.Resources.RES_UIDColumn.ColumnName; string resAccount = lo_resDS.Resources.WRES_ACCOUNTColumn.ColumnName; PSLibrary.Filter.FieldOperationType equal = PSLibrary.Filter.FieldOperationType.Equal; PSLibrary.Filter lo_filter = new PSLibrary.Filter(); lo_filter.FilterTableName = lo_resDS.Resources.TableName; lo_filter.Fields.Add(new PSLibrary.Filter.Field(resAccount)); lo_filter.Criteria = new PSLibrary.Filter.FieldOperator(equal, nameColumn, ls_guid); lo_resDS = Resource.ReadResources(lo_filter.GetXml(), false); return((string)lo_resDS.Tables[lo_resDS.Resources.TableName].Rows[0][1]); } catch (Exception ex) { string logEntry = "Error: " + ex.Message + ex.StackTrace; ErrorTrap(3010, logEntry); return(""); } }
public static Guid GetResourceGuidByWindowsAccount(string ls_name) { string errLoc = ""; try { WebSvcResource.Resource res = new WebSvcResource.Resource(); WebSvcResource.ResourceDataSet lo_resDS = new WebSvcResource.ResourceDataSet(); res.Credentials = System.Net.CredentialCache.DefaultCredentials; string nameColumn = lo_resDS.Resources.WRES_ACCOUNTColumn.ColumnName; string resUID = lo_resDS.Resources.RES_UIDColumn.ColumnName; PSLibrary.Filter.FieldOperationType equal = PSLibrary.Filter.FieldOperationType.Equal; PSLibrary.Filter lo_filter = new PSLibrary.Filter(); lo_filter.FilterTableName = lo_resDS.Resources.TableName; lo_filter.Fields.Add(new PSLibrary.Filter.Field(resUID)); lo_filter.Criteria = new PSLibrary.Filter.FieldOperator(equal, nameColumn, ls_name); errLoc = "ReadResources()"; lo_resDS = res.ReadResources(lo_filter.GetXml(), false); errLoc = "Returning Guid"; return((Guid)lo_resDS.Tables[lo_resDS.Resources.TableName].Rows[0][0]); } catch (Exception ex) { Trace.WriteLine(ex.ToString()); using (var myLog = new EventLog("EPM Live", ".", "EPM Live Helper")) { myLog.WriteEntry($"Error at GetResourceGuidByWindowsAccount: {ex.Message}{ex.StackTrace}", EventLogEntryType.Error, 401); return(new Guid()); } } }