public ActionResult Register()
        {
            var model = new RegisterViewModel
            {
                UserTypes = new List<SelectListItem>
                {
                    new SelectListItem
                    {
                        Text = "Select User Type",
                        Value = "0"
                    }
                },
                CallCenters = new List<SelectListItem>
                {
                    new SelectListItem
                    {
                        Text = "Select a Call Center",
                        Value = "0"
                    }
                }
            };
            var conString = ConfigurationManager.ConnectionStrings["DisasterDB"].ConnectionString;
            using (var conn = new SqlConnection(conString))
            {
                var query = "SELECT * FROM [UserTypes]";

                var command = new SqlCommand(query, conn);
                conn.Open();
                var reader = command.ExecuteReader();
                while (reader.Read())
                {
                    model.UserTypes.Add(
                        new SelectListItem
                        {
                            Text = reader["Title"].ToString(),
                            Value = reader["Id"].ToString()
                        }
                    );
                }
                reader.Close();
            }

            using (var conn = new SqlConnection(conString))
            {
                var query = "SELECT * FROM [CallCenter]";

                var command = new SqlCommand(query, conn);
                conn.Open();
                var reader = command.ExecuteReader();
                while (reader.Read())
                {
                    model.CallCenters.Add(
                        new SelectListItem
                        {
                            Text = reader["Name"].ToString(),
                            Value = reader["Id"].ToString()
                        }
                    );
                }
                reader.Close();
            }
            return View(model);
        }
 public ActionResult Register(RegisterViewModel model)
 {
     if (ModelState.IsValid)
     {
         var conString = ConfigurationManager.ConnectionStrings["DisasterDB"].ConnectionString;
         var hashPassword = model.Password.GetHashCode();
         using (var conn = new SqlConnection(conString))
         using (var cmd = conn.CreateCommand())
         {
             conn.Open();
             cmd.CommandType = CommandType.StoredProcedure;
             cmd.CommandText = "Register";
             cmd.Parameters.AddWithValue("@firstName", model.FirstName);
             cmd.Parameters.AddWithValue("@lastName", model.LastName);
             cmd.Parameters.AddWithValue("@address", model.Address);
             cmd.Parameters.AddWithValue("@city", model.City);
             cmd.Parameters.AddWithValue("@state", model.State);
             cmd.Parameters.AddWithValue("@country", "United States");
             cmd.Parameters.AddWithValue("@zip", Convert.ToInt32(model.Zip));
             cmd.Parameters.AddWithValue("@email", model.Email);
             cmd.Parameters.AddWithValue("@phone", model.Phone);
             cmd.Parameters.AddWithValue("@userType", Convert.ToInt32(model.UserType));
             cmd.Parameters.AddWithValue("@password", hashPassword);
             cmd.Parameters.AddWithValue("@callcenter", Convert.ToInt32(model.CallCenter));
             cmd.ExecuteNonQuery();
         }
         Session["isAuthenticated"] = true;
         Session["userName"] = model.Email;
         return RedirectToAction("Index", "Home");
     }
     return View(model);
 }