fixes edition of membership

main
Paul Schneider 8 years ago
parent 52aae3ec8d
commit d108ee6871
5 changed files with 49 additions and 45 deletions

@ -28,16 +28,13 @@ namespace Yavsc.Controllers
} }
// GET: CircleMembers/Details/5 // GET: CircleMembers/Details/5
public async Task<IActionResult> Details(string id) public async Task<IActionResult> Details(long id)
{ {
var uid = User.GetUserId(); var uid = User.GetUserId();
if (id == null)
{
return HttpNotFound();
}
CircleMember circleMember = await _context.CircleMembers CircleMember circleMember = await _context.CircleMembers
.Where(c=>c.Circle.OwnerId == uid).SingleAsync(m => m.MemberId == id); .Include(m=>m.Circle)
.FirstOrDefaultAsync(c=>c.CircleId == id);
if (circleMember == null) if (circleMember == null)
{ {
return HttpNotFound(); return HttpNotFound();
@ -77,20 +74,16 @@ namespace Yavsc.Controllers
} }
// GET: CircleMembers/Edit/5 // GET: CircleMembers/Edit/5
public async Task<IActionResult> Edit(string id) public async Task<IActionResult> Edit(long id)
{ {
if (id == null) var uid = User.GetUserId();
{ CircleMember circleMember = await _context.CircleMembers
return HttpNotFound(); .Include(m=>m.Member)
} .SingleOrDefaultAsync(m => m.CircleId == id && m.MemberId == uid);
CircleMember circleMember = await _context.CircleMembers.SingleAsync(m => m.MemberId == id);
if (circleMember == null) if (circleMember == null)
{ {
return HttpNotFound(); return HttpNotFound();
} }
ViewData["CircleId"] = new SelectList(_context.Circle, "Id", "Circle", circleMember.CircleId);
ViewData["MemberId"] = new SelectList(_context.Users, "Id", "Member", circleMember.MemberId);
return View(circleMember); return View(circleMember);
} }
@ -112,14 +105,14 @@ namespace Yavsc.Controllers
// GET: CircleMembers/Delete/5 // GET: CircleMembers/Delete/5
[ActionName("Delete")] [ActionName("Delete")]
public async Task<IActionResult> Delete(string id) public async Task<IActionResult> Delete(long id)
{ {
if (id == null) var uid = User.GetUserId();
{
return HttpNotFound();
}
CircleMember circleMember = await _context.CircleMembers.SingleAsync(m => m.MemberId == id); CircleMember circleMember = await _context.CircleMembers
.Include(m=>m.Circle)
.Include(m=>m.Member)
.SingleOrDefaultAsync(m => m.CircleId == id && m.MemberId == uid);
if (circleMember == null) if (circleMember == null)
{ {
return HttpNotFound(); return HttpNotFound();
@ -131,9 +124,9 @@ namespace Yavsc.Controllers
// POST: CircleMembers/Delete/5 // POST: CircleMembers/Delete/5
[HttpPost, ActionName("Delete")] [HttpPost, ActionName("Delete")]
[ValidateAntiForgeryToken] [ValidateAntiForgeryToken]
public async Task<IActionResult> DeleteConfirmed(string id) public async Task<IActionResult> DeleteConfirmed(long id)
{ {
CircleMember circleMember = await _context.CircleMembers.SingleAsync(m => m.MemberId == id); CircleMember circleMember = await _context.CircleMembers.SingleAsync(m => m.CircleId == id);
_context.CircleMembers.Remove(circleMember); _context.CircleMembers.Remove(circleMember);
await _context.SaveChangesAsync(User.GetUserId()); await _context.SaveChangesAsync(User.GetUserId());
return RedirectToAction("Index"); return RedirectToAction("Index");

@ -6,17 +6,27 @@
<h2>Delete</h2> <h2>Delete</h2>
<h3>Are you sure you want to delete this?</h3> <h3>Supprimer cette appartenance au cercle?</h3>
<div> <div>
<h4>CircleMember</h4>
<hr /> <hr />
<dl class="dl-horizontal"> <dl>
<dt>
Cercle
</dt>
<dd>
@Html.DisplayFor(m=>m.Circle)
</dd>
<dt>
Membre
</dt>
<dd>
@Html.DisplayFor(m=>m.Member)
</dd>
</dl> </dl>
<form asp-action="Delete">
<div class="form-actions no-color">
<input type="submit" value="Delete" class="btn btn-default" /> |
<a asp-action="Index">Back to List</a>
</div>
</form>
</div> </div>
<form asp-action="Delete">
<div class="form-actions no-color">
<input type="submit" value="Delete" class="btn btn-default" /> |
<a asp-action="Index">Back to List</a>
</div>
</form>

@ -1,18 +1,17 @@
@model CircleMember @model CircleMember
@{ @{
ViewData["Title"] = "Details"; ViewData["Title"] = $"{Model.Member.UserName}, du cercle {Model.Circle.Name}" ;
} }
<h2>Details</h2> <h2></h2>
<div> <div>
<h4>CircleMember</h4> <h4>Un membre du cercle @Model.Circle.Name</h4>
<hr /> <hr />
<dl class="dl-horizontal"> @Html.DisplayFor(m=>Model.Member)
</dl>
</div> </div>
<p> <p>
@Html.ActionLink("Edit", "Edit", new { /* id = Model.PrimaryKey */ }) | @Html.ActionLink(SR["Delete"], "Delete", new { id = Model.CircleId }) |
<a asp-action="Index">Back to List</a> <a asp-action="Index">@SR["Back to List"]</a>
</p> </p>

@ -8,7 +8,7 @@
<form asp-action="Edit"> <form asp-action="Edit">
<div class="form-horizontal"> <div class="form-horizontal">
<h4>CircleMember</h4> <h4>Circle Member</h4>
<hr /> <hr />
<div asp-validation-summary="ValidationSummary.ModelOnly" class="text-danger"></div> <div asp-validation-summary="ValidationSummary.ModelOnly" class="text-danger"></div>
<input type="hidden" asp-for="MemberId" /> <input type="hidden" asp-for="MemberId" />
@ -22,6 +22,6 @@
</form> </form>
<div> <div>
<a asp-action="Index">Back to List</a> <a asp-action="Index">@SR["Back to List"]</a>
</div> </div>

@ -17,6 +17,10 @@
</tr> </tr>
@foreach (var item in Model) { @foreach (var item in Model) {
var itemKey = new { Id = item.CircleId } ;
<tr> <tr>
<td> <td>
@Html.DisplayFor(m=>item.Circle) @Html.DisplayFor(m=>item.Circle)
@ -26,9 +30,7 @@
</td> </td>
<td> <td>
@Html.ActionLink("Edit", "Edit", new { /* id=item.PrimaryKey */ }) | @Html.ActionLink("Delete", "Delete", itemKey)
@Html.ActionLink("Details", "Details", new { /* id=item.PrimaryKey */ }) |
@Html.ActionLink("Delete", "Delete", new { /* id=item.PrimaryKey */ })
</td> </td>
</tr> </tr>
} }

Loading…