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

namespace WebApplication1.Controllers {
	public class Exo2CalculatriceController : Controller {

		public ActionResult Index( string operateur, Calcul calculEnCours ) {
			try {
				switch( operateur ) {
					case "+":
						calculEnCours.Affichage = calculEnCours.Resultat += calculEnCours.Operande;
						break;
					case "-":
						calculEnCours.Affichage = calculEnCours.Resultat -= calculEnCours.Operande;
						break;
					case "x":
						calculEnCours.Affichage = calculEnCours.Resultat *= calculEnCours.Operande;
						break;
					case "/":
						calculEnCours.Affichage = calculEnCours.Resultat /= calculEnCours.Operande;
						break;
					case "M+":
						calculEnCours.Memoire += calculEnCours.Operande;
						calculEnCours.Affichage = calculEnCours.Operande;
						break;
					case "M-":
						calculEnCours.Memoire -= calculEnCours.Operande;
						calculEnCours.Affichage = calculEnCours.Operande;
						break;
					case "MC":
						calculEnCours.Memoire = 0;
						break;
					case "MR":
						calculEnCours.Operande = calculEnCours.Memoire;
						calculEnCours.Affichage = calculEnCours.Operande;
						break;
					case "±":
						calculEnCours.Affichage = calculEnCours.Resultat = calculEnCours.Operande = -calculEnCours.Operande;
						break;
				}
			}
			catch( Exception erreur ) {
				calculEnCours.Message = $"Erreur {erreur.GetType().Name} : {erreur.Message}";
			}
			return View(calculEnCours);
		}

	}
}