Hi people am new to MVC3 and learning, I am wondering is it possible to allow the user on my website when they add a game to check if the game has allready been enterd. I want this feature so any gamer on my website can not write a overall review of the same game. The reason for this i have a page in which users can talke about the game. So that is why i want a way in checking the database when adding a new game that if the game exsits.

My controller is the following:

```
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Entity;
using System.Linq;
using PagedList;
using System.Web;
using System.Web.Mvc;
using System.IO;
using Test.Models;

namespace Test.Controllers
{ 
    public class GameController : Controller
    {
        private gamezoneDBEntities db = new gamezoneDBEntities();

        //
        // GET: /Game/

        public ViewResult Index(string Ordering, string WordFilter, string DisplaySearchResults, int? CounterForPage)
        {

            {
                var Info = db.tblGames.Include(x => x.tblConsole);

            }

            var Games = from b in db.tblGames
            .Where(U => U.UserName == User.Identity.Name)
                        select b;

            switch (Ordering)
            {
                case "HeadlineName":
                    Games = Games.OrderBy(b => b.GameName);
                    break;
                case "DatePosted":
                    Games = Games.OrderBy(b => b.ReleaseYear);
                    break;
                case "DiscriptionDate":
                    Games = Games.OrderBy(b => b.ReleaseYear);
                    break;
                default:
                    Games = Games.OrderByDescending(b => b.ReleaseYear);
                    break;
            }

            int pageSize = 3;
            int pageNumber = (CounterForPage ?? 1);
            var PageNumberResults = Games.ToPagedList(pageNumber, pageSize);
            ViewBag.PageNumberResults = Games.Count();
            if (PageNumberResults.Any())
            {
                return View(PageNumberResults);
            }

            return View("Error");
        }

        [HttpPost]
        public ActionResult Create(tblGame tblgame,
           HttpPostedFileBase image1,
           HttpPostedFileBase image2)
        {
            try
            {
                if (ModelState.IsValid)
                {

                    if (image1 != null)
                    {
                        string image = image1.FileName;
                        tblgame.Image = image;
                        var image1Path = Path.Combine(Server.MapPath("~/Content/UploadImages"), image);
                        image1.SaveAs(image1Path);
                    }

                    if (image2 != null)
                    {

                        string Image2 = image2.FileName;
                        tblgame.Image2 = Image2;
                        var image2Path = Path.Combine(Server.MapPath("~/Content/UploadImages"), Image2);
                        image2.SaveAs(image2Path);
                    }
                    db.tblGames.Add(tblgame);
                    db.SaveChanges();
                    return RedirectToAction("Index");
                }
                ViewBag.ConsoleNameIDFK = new SelectList(db.tblConsoles, "ConsoleName", "ConsoleName", tblgame.ConsoleNameIDFK);
                return View(tblgame);
            }
            catch
            {
                return View("Upload_Image_Failed");
            }

        }

        //
        // GET: /Game/Create

        public ActionResult Create()
        {

            ViewBag.ConsoleNameIDFK = new SelectList(db.tblConsoles, "ConsoleName", "ConsoleName");
            return View(new tblGame { UserName = @User.Identity.Name });

        } 

        public ViewResult Details(int id)
        {
            tblGame tblgame = db.tblGames.Find(id);
            return View(tblgame);
        }

        //
        // GET: /Game/Edit/5

        public ActionResult Edit(int id)
        { 
                tblGame tblgame = db.tblGames.Single(i => i.GameID == id);
                ViewBag.ConsoleNameIDFK = tblgame.ConsoleNameIDFK;
                return View(tblgame);
            }

        [HttpPost]
        public ActionResult Edit(tblGame tblgame, HttpPostedFileBase Image, int id,
            HttpPostedFileBase image2)
        {
            if (ModelState.IsValid)
            {

                if (Image != null)
                {
                    string image = Image.FileName;
                    tblgame.Image = image;
                    var image1Path = Path.Combine(Server.MapPath("~/Content/UploadImages"), image);
                    Image.SaveAs(image1Path);
                }

                if (image2 != null)

                {

                    string Image2 = image2.FileName;
                    tblgame.Image2 = Image2;
                    var image2Path = Path.Combine(Server.MapPath("~/Content/UploadImages"), Image2);
                    image2.SaveAs(image2Path);
                }

                db.tblGames.Attach(tblgame);
                db.Entry(tblgame).State = EntityState.Modified;
                db.SaveChanges();
                return RedirectToAction("Edit");
            }

            ViewBag.ConsoleNameIDFK = new SelectList(db.tblConsoles, "ConsoleName", "ConsoleName", tblgame.ConsoleNameIDFK);
            return View(tblgame);
        }

        //
        // GET: /Game/Delete/5

        public ActionResult Delete(int id)
        {
            tblGame tblgame = db.tblGames.Find(id);
            return View(tblgame);
        }

        //
        // POST: /Game/Delete/5

        [HttpPost, ActionName("Delete")]
        public ActionResult DeleteConfirmed(int id)

        {
            try
            {

                tblGame tblgame = db.tblGames.Find(id);
                db.tblGames.Remove(tblgame);
                db.SaveChanges();
                return RedirectToAction("Index");
            }
            catch
            {
                return View("Error");

            }
        }  

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

```

I have had extermly hard time trying to see if game allreday exsits as i have code that makes users unique. I need this code otherwise I could have had a statment that checks the database for all games and throw an error if a game exsisted with this code i have added its a bit hard for me that is why i have come here. 

I have added the following to my controller:

```
[HttpPost]
public ActionResult Create(tblGame tblgame, HttpPostedFileBase image1, HttpPostedFileBase image2)
{
    try
    {
        if (ModelState.IsValid)
        {
            var mygame = db.tblGames.Where(x => x.GameName == tblgame.GameName).SingleOrDefault();
            if (mygame != null)
            {
                if (image1 != null)
                                {
                                    string image = image1.FileName;
                                    tblgame.Image = image;
                                    var image1Path = Path.Combine(Server.MapPath("~/Content/UploadImages"), image);
                                    image1.SaveAs(image1Path);
                                }

                                if (image2 != null)
                                {

                                    string Image2 = image2.FileName;
                                    tblgame.Image2 = Image2;
                                    var image2Path = Path.Combine(Server.MapPath("~/Content/UploadImages"), Image2);
                                    image2.SaveAs(image2Path);
                                }
                                db.tblGames.Add(tblgame);
                                db.SaveChanges();
                                return RedirectToAction("Index");
            }
            else
            {
                //otherwise we add a generic error to the model state
                ModelState.AddModelError("", "A game review already exists");
            }
        }
    }
    catch
    {
        return View("Upload_Image_Failed");
    }
    //if arrive here the model is returned back to the view with the errors added
    return View(tblgame);
}

```