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
public async Task<IActionResult> Details(string id)
public async Task<IActionResult> Details(long id)
{
var uid = User.GetUserId();
if (id == null)
{
return HttpNotFound();
}
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)
{
return HttpNotFound();
@ -77,20 +74,16 @@ namespace Yavsc.Controllers
}
// GET: CircleMembers/Edit/5
public async Task<IActionResult> Edit(string id)
{
if (id == null)
public async Task<IActionResult> Edit(long id)
{
return HttpNotFound();
}
CircleMember circleMember = await _context.CircleMembers.SingleAsync(m => m.MemberId == id);
var uid = User.GetUserId();
CircleMember circleMember = await _context.CircleMembers
.Include(m=>m.Member)
.SingleOrDefaultAsync(m => m.CircleId == id && m.MemberId == uid);
if (circleMember == null)
{
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);
}
@ -112,14 +105,14 @@ namespace Yavsc.Controllers
// GET: CircleMembers/Delete/5
[ActionName("Delete")]
public async Task<IActionResult> Delete(string id)
{
if (id == null)
public async Task<IActionResult> Delete(long id)
{
return HttpNotFound();
}
var uid = User.GetUserId();
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)
{
return HttpNotFound();
@ -131,9 +124,9 @@ namespace Yavsc.Controllers
// POST: CircleMembers/Delete/5
[HttpPost, ActionName("Delete")]
[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);
await _context.SaveChangesAsync(User.GetUserId());
return RedirectToAction("Index");

@ -6,17 +6,27 @@
<h2>Delete</h2>
<h3>Are you sure you want to delete this?</h3>
<h3>Supprimer cette appartenance au cercle?</h3>
<div>
<h4>CircleMember</h4>
<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>
</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>
</div>

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

@ -22,6 +22,6 @@
</form>
<div>
<a asp-action="Index">Back to List</a>
<a asp-action="Index">@SR["Back to List"]</a>
</div>

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

Loading…