public ActionResult Login(User u)
        {
            try
            {
                SPEToolDBEntities db = new SPEToolDBEntities();
                var x = db.Users.SqlQuery("Select * From [User] where Username='******' and password='******'").ToList();
                if (x.Count > 0)
                {
                    Session["email"] = x[0].Email;
                    Session["org"]   = x[0].OrgnizationName;
                    Session["pos"]   = x[0].Position;
                    Session["user"]  = u.Username.ToString();
                    return(RedirectToAction(Session["action"].ToString(), Session["controller"].ToString()));
                }
                else
                {
                    TempData["errorMSG"] = "Either user name or password are incorrect. Please try again.";
                }

                return(RedirectToAction("Account", "Home"));
            }
            catch (Exception e)
            {
                ViewBag.msg = e.Message;
                return(RedirectToAction("Index", "Error"));
            }
        }
        public ActionResult Account(User user)
        {
            try
            {
                using (SPEToolDBEntities dbModel = new SPEToolDBEntities())
                {
                    if (dbModel.Users.Any(x => x.Username == user.Username))
                    {
                        ViewBag.DuplicateMSG = "User already exists.";
                        return(View());
                    }
                    dbModel.Users.Add(user);
                    dbModel.SaveChanges();
                }
                ModelState.Clear();
            }
            catch (Exception e)
            {
                ViewBag.msg = e.Message;
                return(RedirectToAction("Index", "Error"));
            }

            Session["user"]   = user.Username.ToString();
            ViewBag.SucessMSG = "Sucessfully added";
            return(RedirectToAction(Session["action"].ToString(), Session["controller"].ToString()));
        }
        public ActionResult Display(int id)
        {
            try
            {
                SPEToolDBEntities db = new SPEToolDBEntities();

                var projectList = db.Projects.SqlQuery("Select * From Project where ID='" + id + "'").ToList();

                return(View(projectList));
            }
            catch (Exception e)
            {
                ViewBag.msg = e.Message;
                return(RedirectToAction("Index", "Error"));
            }
        }
        public ActionResult Delete(int id)
        {
            try
            {
                SPEToolDBEntities db = new SPEToolDBEntities();
                var projectList      = db.Projects.SqlQuery("Select * From Project where ID='" + id + "'").ToList();

                //           db.Projects.SqlQuery("Delete * From Project where ProjectName='" + name + "'");


                var projects = db.Projects.Where(p => p.ID == id).ToList();
                db.Projects.Remove(projects[0]);
                db.SaveChanges();

                return(RedirectToAction("UserProfile"));
            }
            catch (Exception e)
            {
                ViewBag.msg = e.Message;
                return(RedirectToAction("Index", "Error"));
            }
        }
        public ActionResult UserProfile()
        {
            try
            {
                SPEToolDBEntities db = new SPEToolDBEntities();

                var projectList = db.Projects.SqlQuery("Select * From Project where Username='******'").ToList();
                var p           = db.Projects.SqlQuery("Select * From Project where Username='******'").ToList();

                ViewBag.v = p.LongCount();

                /* EstimatorDBEntities1 db1 = new EstimatorDBEntities1();
                 * var x = db1.Users.SqlQuery("Select Email From [User] where Username='******'").ToList();
                 * ViewBag.email=x[0]; */

                return(View(projectList));
            }
            catch (Exception e)
            {
                ViewBag.msg = e.Message;
                return(RedirectToAction("Index", "Error"));
            }
        }
        public ActionResult SaveTotalEffort()
        {
            Project p = new Project();

            p.Username            = Session["user"].ToString();
            p.ProjectName         = Session["valueProjectName"].ToString();
            p.Technique           = Session["Technique"].ToString();
            p.ProjectCalculations = "<b> Selected Technique: </b> " + Session["Technique"].ToString() + " <br> " +
                                    "<table> <tr> <td>Project Name: </td> <td>" +
                                    "" + Session["valueProjectName"] + "</td> </tr> <tr> <td>Process Model: </td> <td>" + Session["valueProcessModel"] + "</td> </tr> " +
                                    "</table>" +
                                    "<br/> <hr/>" +
                                    "<b>Process Productivity: </b> " +
                                    "<table > <tr> <td>Application Type: </td> <td>" + Session["textApplicationType"] + "</td> </tr> " +
                                    "<tr> <td>Productivity Parameter: </td> <td>" + Session["valueApplicationType"] + "</td> </tr>" +
                                    "</table>" +
                                    "<br/> <hr/>" +
                                    "  <b> Unadjusted Function Points: </b> " +
                                    " <br>" +
                                    "<table> <tr> <th>Elements</th> <th colspan='3'>Complexity Weighting Factors</th> </tr> <tr> <td><h4><i></i></h4></td>" +
                                    " <td><i>Low</i></td> <td><i>Average</i></td> <td><i>High</i></td> </tr> <tr> <td><p>External Inputs (EI)</p></td> <td>" +
                                    Session["EI_LOW"].ToString() + " </td> <td> " + Session["EI_AVERAGE"].ToString() + " </td> <td>" + Session["EI_HIGH"].ToString() + " </td> </tr> " +
                                    "<tr> <td><p>External Outputs (EO)</p></td> <td>" + Session["EO_LOW"].ToString() + " </td> <td> " + Session["EO_AVERAGE"].ToString() + " </td> " +
                                    "<td> " + Session["EO_HIGH"].ToString() + " </td> </tr> <tr> <td><p>External Inquiries (EQ)</p></td> <td>" + Session["EQ_LOW"].ToString() + " </td>" +
                                    " <td> " + Session["EQ_AVERAGE"].ToString() + " </td> <td>" + Session["EQ_HIGH"].ToString() + " </td> </tr> <tr> <td><p>External Interface files (EIF)</p></td>" +
                                    " <td> " + Session["EIF_LOW"].ToString() + "</td> <td> " + Session["EIF_AVERAGE"].ToString() + " </td> <td>" + Session["EIF_HIGH"].ToString() + " </td> </tr> <tr> <td>" +
                                    "<p>Internal Logical files (ILF)</p></td> <td> " + Session["ILF_LOW"].ToString() + " </td> <td>" + Session["ILF_AVERAGE"].ToString() + " </td> " +
                                    "<td>" + Session["ILF_HIGH"].ToString() + " </td> </tr> <tr> <th>Total: </th> <td>" + Session["resultUnadjustedFuctionPoints"].ToString() + "</td> </tr> </table>" +
                                    "<br/> <hr/>" +
                                    "<b>Language Factor: </b> <table> <tr> <td>Selected Language: </td> <td>" + Session["textLanguageFactor"] + "" +
                                    "</td> </tr> </table>" +
                                    "<br/> <hr/>" +
                                    "<b>Value Adjustment Factors: </b> " +
                                    "<table> <tr> <td>Data Communication</td> <td>Distributed Data Processing</td> <td>Performance</td> </tr> <tr>" +
                                    " <td>" + Session["valueFactorDC"].ToString() + "</td> <td>" + Session["valueFactorDDP"].ToString() + "</td> <td>" + Session["valueFactorPER"].ToString() + "</td> </tr> <tr> " +
                                    "<td>Heavly Used Configuration</td> <td>Transaction Rate</td> <td>Online Data Entry</td> </tr> <tr> <td>" + Session["valueFactorHUC"].ToString() + "</td> " +
                                    "<td>" + Session["valueFactorTR"].ToString() + "</td> <td>" + Session["valueFactorODE"].ToString() + "</td> </tr> <tr> <td>End User Efficiency</td> <td>Online Updates" +
                                    "</td> <td>Complex Processing</td> </tr> <tr> <td>" + Session["valueFactorEUE"].ToString() + "</td> <td>" + Session["valueFactorOU"].ToString() + "</td> " +
                                    "<td>" + Session["valueFactorCP"].ToString() + "</td> </tr> <tr> <td>Resuabilty</td> <td>Installation Ease</td> <td>Operational Ease</td> </tr> <tr> <td>" + Session["valueFactorREU"].ToString() + "</td>" +
                                    " <td>" + Session["valueFactorIE"].ToString() + "</td> <td>" + Session["valueFactorOE"].ToString() + "</td> </tr> <tr> <td>Multiple Sites</td> <td>Facilitate Change</td> </tr> <tr>" +
                                    " <td>" + Session["valueFactorMS"].ToString() + "</td> <td>" + Session["valueFactorFC"].ToString() + "</td> </tr> <tr> <th>Total:</th> " +
                                    "<td>" + Session["resultValueAdjustmentFactors"].ToString() + "</td> </tr> </table>" +
                                    "<br/> <hr/>" +
                                    "<b>Final Estimations: </b> <table> <tr> <td>Size: " + Session["resultSize"] + "(LOC)" +
                                    "</td> </tr> <tr> <td>Time:" + Session["resultDevelopmentTime"] + "(years)</td> </tr> <tr> <td>Process Productivity: " +
                                    "" + Session["resultProcessProductivity"] + "</td> </tr> <tr> <td>Total Effort: " +
                                    "" + Session["resultB"] + "(Person-year) </td> </tr> <tr> <td>Effort at delivery time: " + Session["resultEffort"] + "(Persons-years)</td> " +
                                    "</tr> <tr> <td>Manpower Acceleration:" + Session["resultManpowerAcceleration"] + "</td> </tr> </table>";

            try
            {
                using (SPEToolDBEntities db = new SPEToolDBEntities())
                {
                    db.Projects.Add(p);
                    db.SaveChanges();

                    TempData["SuccessMSG"] = "Saved";
                }
            }
            catch (Exception e)
            {
                ViewBag.msg = e.Message;
                return(RedirectToAction("Index", "Error"));
            }

            ViewBag.MSG = "Saved";


            return(RedirectToAction("TotalEffort"));
        }