PhoneToolMX/PhoneToolMX/Controllers/PhoneController.cs

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);
}
}
}