public static List GetChangesetsBetweenDates(string sourceControlPath, DateTime fromDate, DateTime toDate)
{
TfsTeamProjectCollection projectCollection = TfsManager.Instance.ProjectCollection;
VersionControlServer versionControl = projectCollection.GetService();
VersionSpec versionFrom = GetDateVSpec(fromDate);
VersionSpec versionTo = GetDateVSpec(toDate);
IEnumerable results = versionControl.QueryHistory(
sourceControlPath,
VersionSpec.Latest,
0,
RecursionType.Full,
null,
versionFrom,
versionTo,
int.MaxValue,
true,
true);
List changesets = results.Cast().ToList();
return changesets;
}
private static VersionSpec GetDateVSpec(DateTime date)
{
string dateSpec = string.Format("D{0:yyy}-{0:MM}-{0:dd}T{0:HH}:{0:mm}", date);
return VersionSpec.ParseSingleSpec(dateSpec, "");
}
Showing posts with label c#. Show all posts
Showing posts with label c#. Show all posts
Thursday, December 27, 2012
Retrieve historic changesets from tfs
Following code retrieves changesets between given dates from tfs:
Get referrer's controller name in MVC application
Following code retrieves referrer's controller name in .net MVC application:
private string GetReferrerControlerName()
{
var fullUrl = this.Request.UrlReferrer.ToString();
string url = fullUrl;
var request = new HttpRequest(null, url, null);
var response = new HttpResponse(new StringWriter());
var httpContext = new HttpContext(request, response);
var routeData = RouteTable.Routes.GetRouteData(new HttpContextWrapper(httpContext));
var values = routeData.Values;
string controllerName = values["controller"].ToString();
return controllerName;
}
Wednesday, December 26, 2012
Load all referenced assemblies in C#
Following code loads all referenced assemblies of the application. This code goes to "bin" folder and finds all dlls. We could use reflection to do the same, but the problem is when you need assemblies on start up, because of the JIT(Just in time) mechanism of .NET not all the assemblies is yet loaded and thus reflection will not return all referenced assemblies.
private ArrayList GetRefferencedAssemblies()
{
AppDomain domain = AppDomain.CurrentDomain;
var assemblies = new ArrayList();
string[] files = Directory.GetFiles(domain.RelativeSearchPath, "*.dll", SearchOption.TopDirectoryOnly);
foreach (var file in files)
{
AssemblyName assemblyName = AssemblyName.GetAssemblyName(file);
assemblies.Add(assemblyName);
}
return assemblies;
}
Subscribe to:
Posts (Atom)