29 lines
1.1 KiB
C#
29 lines
1.1 KiB
C#
using Microsoft.AspNetCore.Authorization;
|
|
using Microsoft.AspNetCore.Identity;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using PhoneToolMX.Data;
|
|
using PhoneToolMX.Helpers;
|
|
using PhoneToolMX.Models;
|
|
using PhoneToolMX.Models.ViewModels;
|
|
|
|
namespace PhoneToolMX.Controllers
|
|
{
|
|
[Authorize]
|
|
public class PhoneController : BaseController<Phone, PhoneVM>
|
|
{
|
|
public PhoneController(UserManager<User> mgr, PTMXContext ctx) : base(mgr, ctx) {}
|
|
|
|
protected override private async Task PreForm(PhoneVM pvm)
|
|
{
|
|
var myExts = _context.GetOwned<Extension>(await CurrentUser());
|
|
var phoneModels = _context.PhoneModels.ToList();
|
|
var selectedExts = pvm?.Extensions == null ? null : myExts.Where(x => pvm.Extensions.Contains(x.Id)).ToList();
|
|
ViewBag.MyExtensions = myExts;
|
|
ViewBag.SelectedExtensions = selectedExts;
|
|
ViewBag.PrimaryExtension = selectedExts?.FirstOrDefault(x => x.Id == (pvm.PrimaryExtension ?? -1));
|
|
ViewBag.ModelNumbers = phoneModels;
|
|
ViewBag.CurrentModel = pvm?.Model == null ? null : phoneModels.Where(m => m.Id == pvm.Model);
|
|
}
|
|
}
|
|
}
|