|
using System;
using System.Collections.Generic;
using System.Reflection;
using System.Text;
using SecuredLibrary.BusinessObjects;
using SecuredLibrary.Common;
using SecuredLibrary.Controlers.Interfaces;
using SecuredLibrary.Controlers.ViewInterfaces;
using SecuredLibrary.Model.Interfaces;
namespace SecuredLibrary.Controlers
{
public class DisplayAllObjectsToSecurePresenter : IDisplayAllObjectsToSecurePresenter
{
private IDisplayAllObjectsToSecureView view;
public DisplayAllObjectsToSecurePresenter(IDisplayAllObjectsToSecureView View)
{
view = View;
}
#region IPresenter Members
/// <summary>
/// Initializes view.
/// </summary>
public void InitView()
{
view.CurrentUser = new User();
view.Presenter = this;
view.SecuredMethodList = new List<string>();
}
/// <summary>
/// Refreshes data
/// </summary>
public void Refresh()
{
//Scan assembly in order to find Methods marked with "MethodSecuredAttribute" and add its full name to view.SecuredMethodList
Type[] currentTypes = GetType().Assembly.GetTypes();
for (int i = 0; i < currentTypes.Length; i++)
{
Type tempType = currentTypes[i];
string classFullName = tempType.FullName;
MethodInfo[] methods = tempType.GetMethods();
for (int y = 0; y < methods.Length; y++)
{
MethodInfo method = methods[y];
object[] tempAttributes = method.GetCustomAttributes(typeof (MethodSecuredAttribute), false);
if (tempAttributes.Length != 0)
{
string methodFullName = classFullName + "." + method.Name;
view.SecuredMethodList.Add(methodFullName);
}
}
}
}
/// <summary>
/// Gets or sets view
/// </summary>
public IView View
{
get { return view; }
set { view = (IDisplayAllObjectsToSecureView)value; }
}
#endregion
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.