Church.Net.API/Chruch.Net/Areas/dashboard/Controllers/FamilyMembersController.cs
2022-09-08 08:04:32 -07:00

134 lines
4.8 KiB
C#

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Entity;
using System.Linq;
using System.Net;
using System.Web;
using System.Web.Mvc;
using Church.Net.DAL.EF;
using Church.Net.Entity;
namespace Chruch.Net.Areas.dashboard.Controllers
{
public class FamilyMembersController : Controller
{
private ChurchNetContext db = new ChurchNetContext();
// GET: dashboard/FamilyMembers
public ActionResult Index()
{
var familyMembers = db.Users.Include(f => f.Career);
return View(familyMembers.ToList());
}
// GET: dashboard/FamilyMembers/Details/5
public ActionResult Details(string id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
FamilyMember familyMember = db.Users.Find(id);
if (familyMember == null)
{
return HttpNotFound();
}
return View(familyMember);
}
// GET: dashboard/FamilyMembers/Create
public ActionResult Create()
{
ViewBag.CareerId = new SelectList(db.Careers, "CareerId", "Name");
return View();
}
// POST: dashboard/FamilyMembers/Create
// 若要免於過量張貼攻擊,請啟用想要繫結的特定屬性,如需
// 詳細資訊,請參閱 https://go.microsoft.com/fwlink/?LinkId=317598。
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "Id,FirstName,LastName,Gender,Birthday,Married,Baptized,DateOfBaptized,DateOfWalkIn,Address,ComunityAppId,CareerId,ProfileImage,Email,EmailConfirmed,PasswordHash,SecurityStamp,PhoneNumber,PhoneNumberConfirmed,TwoFactorEnabled,LockoutEndDateUtc,LockoutEnabled,AccessFailedCount,UserName")] FamilyMember familyMember)
{
if (ModelState.IsValid)
{
db.Users.Add(familyMember);
db.SaveChanges();
return RedirectToAction("Index");
}
ViewBag.CareerId = new SelectList(db.Careers, "CareerId", "Name", familyMember.CareerId);
return View(familyMember);
}
// GET: dashboard/FamilyMembers/Edit/5
public ActionResult Edit(string id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
FamilyMember familyMember = db.Users.Find(id);
if (familyMember == null)
{
return HttpNotFound();
}
ViewBag.CareerId = new SelectList(db.Careers, "CareerId", "Name", familyMember.CareerId);
return View(familyMember);
}
// POST: dashboard/FamilyMembers/Edit/5
// 若要免於過量張貼攻擊,請啟用想要繫結的特定屬性,如需
// 詳細資訊,請參閱 https://go.microsoft.com/fwlink/?LinkId=317598。
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit([Bind(Include = "Id,FirstName,LastName,Gender,Birthday,Married,Baptized,DateOfBaptized,DateOfWalkIn,Address,ComunityAppId,CareerId,ProfileImage,Email,EmailConfirmed,PasswordHash,SecurityStamp,PhoneNumber,PhoneNumberConfirmed,TwoFactorEnabled,LockoutEndDateUtc,LockoutEnabled,AccessFailedCount,UserName")] FamilyMember familyMember)
{
if (ModelState.IsValid)
{
db.Entry(familyMember).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
ViewBag.CareerId = new SelectList(db.Careers, "CareerId", "Name", familyMember.CareerId);
return View(familyMember);
}
// GET: dashboard/FamilyMembers/Delete/5
public ActionResult Delete(string id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
FamilyMember familyMember = db.Users.Find(id);
if (familyMember == null)
{
return HttpNotFound();
}
return View(familyMember);
}
// POST: dashboard/FamilyMembers/Delete/5
[HttpPost, ActionName("Delete")]
[ValidateAntiForgeryToken]
public ActionResult DeleteConfirmed(string id)
{
FamilyMember familyMember = db.Users.Find(id);
db.Users.Remove(familyMember);
db.SaveChanges();
return RedirectToAction("Index");
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
db.Dispose();
}
base.Dispose(disposing);
}
}
}