using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using WebApplication1.Models;

namespace WebApplication1.Controllers {
  public class ExoEmployeController : Controller {
    public ActionResult Index() {
      ViewBag.Message = "Enregistrez des employés : ";
			ModelState.SetModelValue( "Poste", new ValueProviderResult( string.Empty, string.Empty, CultureInfo.InvariantCulture ) );
			//ModelState.Add( "Poste", new System.Web.Mvc.ModelState() { Value = new ValueProviderResult( string.Empty, string.Empty, CultureInfo.InvariantCulture ) } );
      return View();
    }
    [HttpPost, ActionName( "Index" )]
    public ActionResult Creer( Employe nvEmploye ) {
			if( nvEmploye.Id % 10 == 0 ) {
				ModelState.AddModelError( "Id", "Cet Id est déjà utilisé" );
			}
      if( !ModelState.IsValid ) {
        ViewBag.Message = "La vérification JS n'a pas ralé (ou est désactivée), mais le serveur n'est pas content : ";
        int nbErreurs = ModelState.Values.SelectMany( ms => ms.Errors ).Count();
        ModelState.AddModelError( string.Empty, $"C'est la cata. {nbErreurs} erreur(s) sur les propriétés." );
        return View("Index");
      }
      ModelState.Clear();
			ModelState.SetModelValue("Poste", new ValueProviderResult( string.Empty, string.Empty, CultureInfo.InvariantCulture ) );
      ViewBag.Message = $"Employé {nvEmploye.Nom} créé. Passez au suivant : ";
      return View("Index");
    }
  }
}