Пример #1
0
		public async Task<ActionResult> JoinFamily( Guid FamilyID )
		{

			var name = HttpContext.User.Identity.Name;
			var User = await db.Users.FirstOrDefaultAsync( c => c.UserName == name );
			var allowed = false;
			ViewBag.IsInPSite = false;
			foreach ( var role in User.Roles )
			{
				//Check to see if User is a member of Parent, Gophers, or P-Site
				if ( role.Role.Name == "P-Site" )
				{
					allowed = true;
					ViewBag.IsInPSite = true;
				}
			}
			if(!allowed)
			{
				return new HttpUnauthorizedResult();
			}

			var family = await db.Families.FirstOrDefaultAsync( c => c.RID == FamilyID );

			if ( family != null )
			{
				User.Family = family;
				family.PSite.Add( User );
				await db.SaveChangesAsync();
			}

			var familyView = new FamilyInput( family );

			var families = await db.Families.ToListAsync();
/*			ICollection<FamilyView> Families = new Collection<FamilyView>();
			foreach ( var f in families )
			{
				Families.Add( new FamilyView( f ) );
			}
			ViewBag.Families = Families;
*/
			return View( "Family", familyView );
		}
Пример #2
0
		public async Task<ActionResult> Family()
		{


			var name = HttpContext.User.Identity.Name;
			var User = await db.Users.FirstOrDefaultAsync( c => c.UserName == name );

			var allowed = false;
			//Go through User Roles
			foreach(var role in User.Roles)
			{
				//Check to see if User is a member of Parent, Gophers, or P-Site
				if(role.Role.Name == "Parent" || role.Role.Name == "Gophers"  || role.Role.Name == "P-Site" )
				{
					allowed = true;
					ViewBag.IsInPSite = role.Role.Name == "P-Site";
					if(ViewBag.IsInPSite == true)
					{
						//If we succesfully found a P-Site Role, then we can leave.
						break;
					}
				}
			}
			if(!allowed)
			{
				return new HttpUnauthorizedResult();
			}

			FamilyInput familyView = null;
			if(User.Family != null)
			{
				familyView = new FamilyInput( User.Family );
			}

			var families = await db.Families.ToListAsync();
			ICollection<FamilyView> Families = new Collection<FamilyView>();
			foreach ( var family in families )
			{
				Families.Add( new FamilyView( family ) );
			}
			ViewBag.Families = Families;

			return View( familyView );
		}