
using Microsoft.AspNetCore.Mvc;
using System;
using System.Linq;
using EFCore_Kontext;
using EFC_GO;


namespace ITVisions.Components
{
 [ViewComponent(Name = "FlugDetails")]
 public class FlugDetailsViewComponentController : ViewComponent
 {
  WWWingsContext ctx; // = new EF7_Kontext.WWWingsContext();
  public FlugDetailsViewComponentController(WWWingsContext ctx)
  {
   this.ctx = ctx;
   System.Diagnostics.Debug.WriteLine("FlugDetailsViewComponent: Kontextinstanz #" + ctx.ID);
  }

  //public IViewComponentResult Invoke(int FlugNr)
  //{
  // var flug = ctx.Flug.SingleOrDefault(x => x.FlugNr == FlugNr);
  // return View(flug);
  //}


   /// <summary>
   /// Aufruf entweder mit Flug-Objekt oder Flugnummer
   /// </summary>
   /// <param name="FlugNr"></param>
   /// <param name="flug"></param>
   /// <returns></returns>
  public IViewComponentResult Invoke(int? FlugNr = null, Flug flug = null)
  {
   if (flug !=null) return View(flug);


    var flugObj = ctx.Flug.SingleOrDefault(x => x.FlugNr == FlugNr);
    return View(flugObj);

  
  }
 }
}