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


/**********************/
//Developed with: ASP.net MVC 4 Repository Pattern ;) 
//© 2013 All Right Reserved For Hamidreza Pahlavan and MVC Group
// Http://crystalweb.ir
/**********************/


namespace Controllers
{
    public class HomeController : Controller
    {
        //
        // GET: /Home/

        // یک متغیر از نوع ریپوزیتوری کاربر ایجاد می نماییم
        public DAL.IUserRepository userRepository;

        //دو کانستراکتور برای کلاس کنترلر ایجاد می کنیم

        public HomeController()
        {
            this.userRepository = new DAL.UserRepository(new Models.DatabaseContex());
        }


        public HomeController(DAL.IUserRepository userRepository)
        {
            this.userRepository = userRepository;
        }



        public ActionResult Index()
        {
            return View();
        }

        [HttpGet]
        public ActionResult CreateUser()
        {

            return View("~/Views/Home/Index.cshtml");
        }



        [HttpPost]
        public ActionResult CreateUser(Models.User Input)
        {

            if (ModelState.IsValid)
            {


                userRepository.InsertUser(Input);
                userRepository.Save();

                return RedirectToAction("index");

            }

            return View("~/Views/Home/Index.cshtml");
        }


        public ActionResult ShowUser()
        {

            var oUser = userRepository.GetUsers();


            return (View(oUser));
        }

        protected override void Dispose(bool disposing)
        {
            userRepository.Dispose();
            base.Dispose(disposing);
        }


    }
}
