public ActionResult AddFile( ContributorProjectViewModel cur_project, HttpPostedFileBase new_file )
        {
            //User role security check
            int role = (int)HttpContext.Session["userRole"];

            //Ensure user is contributor
            if (role == UserRole.CONTRIBUTOR)
            {
                //Function body
                foreach (string file_name in Request.Files)
                {
                    if ( (Request.Files[file_name] != null) &&
                                (Request.Files[file_name].ContentLength > 0) )
                    {
                        string path = AppDomain.CurrentDomain.BaseDirectory + "/uploads/";
                        string filename = Path.GetFileName(Request.Files[file_name].FileName);
                        Request.Files[file_name].SaveAs(Path.Combine(path, filename));

                        return RedirectToAction(ActionName.AN_CONTRIBUTE_IDEA, PermissionSpace.PS_CONTRIBUTOR_HOME);
                    }
                    else
                    {
                        // *** Handle issue gracefully
                        return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
                    }
                }

                return View();
            }
            else if (role == UserRole.ADMIN)
            {
                //Output error message box *** REWRITE ERROR MESSAGES ***
                MessageBox.Show(" :-( We're extremely sorry about the inconvenience! " +
                    "There was an error while processing your " +
                "edit and, unfortunately, your edit will be lost. " +
                "Please re-submit your edit after we redirect you. ", Popups.POP_UP_TITLE, MessageBoxButtons.OK,
                MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, (MessageBoxOptions)0x40000);

                //Redirect to correct
                return RedirectToAction(ActionName.AN_ADD_FILE, PermissionSpace.PS_ADMIN_HOME);
            }
            else if (role == UserRole.AMBASSADOR)
            {
                //Output error message box
                MessageBox.Show(" :-( We're extremely sorry about the inconvenience! " +
                    "There was an error while processing your " +
                "edit and, unfortunately, your edit will be lost. " +
                "Please re-submit your edit after we redirect you. ", Popups.POP_UP_TITLE, MessageBoxButtons.OK,
                MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, (MessageBoxOptions)0x40000);

                //Redirect to correct
                return RedirectToAction(ActionName.AN_ADD_FILE, PermissionSpace.PS_AMBASSADOR_HOME);
            }
            else
            {
                //Redirect to correct
                return RedirectToAction(ActionName.AN_INDEX, PermissionSpace.PS_DEFAULT_HOME);
            }
        }
        public ActionResult ContributeIdea(ContributorProjectViewModel idea)
        {
            //User role security check
            int role = (int)HttpContext.Session["userRole"];

            //Ensure user is contributor
            if (role == UserRole.CONTRIBUTOR)
            {

                if (ModelState.IsValid)
                {
                    //If commit(idea) is successful it returns true
                    if (contributor_access.SubmitProject(idea))
                    {
                        return RedirectToAction(ActionName.AN_INDEX, PermissionSpace.PS_CONTRIBUTOR_HOME);
                    }
                    else
                    {
                        //Gracefully indicate that project submission was unsuccessful ***
                    }
                }

                return View(idea);

            }
            else if (role == UserRole.ADMIN)
            {
                //Output error message box
                MessageBox.Show(" :-( We're extremely sorry about the inconvenience! " +
                    "There was an error while processing your " +
                "submission and, unfortunately, your idea will be lost. " +
                "Please re-submit your idea after we redirect you. " , Popups.POP_UP_TITLE, MessageBoxButtons.OK,
                MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, (MessageBoxOptions)0x40000);

                //Redirect to correct index
                return RedirectToAction(ActionName.AN_CONTRIBUTE_IDEA, PermissionSpace.PS_ADMIN_HOME);
            }
            else if (role == UserRole.AMBASSADOR)
            {
                //Output error message box
                MessageBox.Show(" :-( We're extremely sorry about the inconvenience! " +
                    "There was an error while processing your " +
                "submission and, unfortunately, your idea will be lost. " +
                "Please re-submit your idea after we redirect you. ", Popups.POP_UP_TITLE, MessageBoxButtons.OK,
                MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, (MessageBoxOptions)0x40000);

                //Redirect to correct index
                return RedirectToAction(ActionName.AN_CONTRIBUTE_IDEA, PermissionSpace.PS_AMBASSADOR_HOME);
            }
            else
            {
                //Redirect to correct index
                return RedirectToAction(ActionName.AN_INDEX, PermissionSpace.PS_DEFAULT_HOME);
            }
        }