Exemplo n.º 1
0
		public async Task<ActionResult> FamilyEdit( FamilyView Family )
		{
			if(!ModelState.IsValid)
			{
				return View(Family);
			}
			//Update Family
			var family = await db.Families.FirstOrDefaultAsync( c => c.RID == Family.RID );
			if ( family != null )
			{
				var fatherID = Family.Father.RID.ToString();
				var motherID = Family.Mother.RID.ToString();
				var gopherID = Family.Gopher.RID.ToString();
				var father = await db.Users.FirstOrDefaultAsync( c => c.Id == fatherID );
				var mother = await db.Users.FirstOrDefaultAsync( c => c.Id == motherID );
				var gopher = await db.Users.FirstOrDefaultAsync( c => c.Id == gopherID );
				if ( father != null )
				{
					if ( mother != null )
					{
						if ( gopher != null )
						{
							family.Father.Family = null;
							family.Mother.Family = null;
							family.Gopher.Family = null;
							
							family.Father = father;
							family.Mother = mother;
							family.Gopher = gopher;

							father.Family = family;
							mother.Family = family;
							gopher.Family = family;

							family.Name = Family.Name;
							db.Entry(family).State = EntityState.Modified;
							await db.SaveChangesAsync();

							var families = await db.Families.ToListAsync();
							ICollection<FamilyView> Families = new Collection<FamilyView>();
							foreach ( var f in families )
							{
								Families.Add( new FamilyView( f ) );
							}
							var users = await db.Users.ToListAsync();
							var Retreaters = new Collection<UserView>();
							foreach ( var user in users )
							{
								Boolean result;
								result = ( user.Retreater || user.RetreaterPending ) && user.Family == null;
								if ( result )
								{
									Retreaters.Add( new UserView( user ) );
								}
							}
							ViewBag.Retreaters = new SelectList( Retreaters, "RID", "Name" );
							return View( "Families", Families );
						}
					}
				}
			}
			return HttpNotFound();
		}
Exemplo n.º 2
0
		public async Task<ActionResult> FamilyCreate(FamilyView Family)
		{
			if(!ModelState.IsValid)
			{
				return View(Family);
			}
			var fatherID = Family.Father.RID.ToString();
			var motherID = Family.Mother.RID.ToString();
			var gopherID = Family.Gopher.RID.ToString();
			var father = await db.Users.FirstOrDefaultAsync( c => c.Id == fatherID);
			var mother = await db.Users.FirstOrDefaultAsync( c => c.Id == motherID);
			var gopher = await db.Users.FirstOrDefaultAsync( c => c.Id == gopherID);
			if(father != null)
			{
				if(mother != null)
				{
					if(gopher != null)
					{
						var family = new Family(Family.Name, father, mother, gopher);
						father.Family = family;
						mother.Family = family;
						gopher.Family = family;
						db.Families.Add(family);
						await db.SaveChangesAsync();
					}
				}
			}

			var users = await db.Users.ToListAsync();
			var Retreaters = new Collection<UserView>();
			foreach ( var user in users )
			{
				Boolean result;
				result = ( user.Retreater || user.RetreaterPending ) && user.Family == null;
				if ( result )
				{
					Retreaters.Add( new UserView( user ) );
				}
			}
			ViewBag.Retreaters = new SelectList( Retreaters, "RID", "Name" );
			var families = await db.Families.ToListAsync();
			ICollection<FamilyView> Families = new Collection<FamilyView>();
			foreach ( var family in families )
			{
				Families.Add( new FamilyView( family ) );
			}
			return View( "Families", Families );
		}