private void reloadCust()
 {
     using (LacklusterEntities entity = new LacklusterEntities())
     {
         List <customer> customers = entity.customers.Where(c => c.active == true).ToList();
         gvCustomers.DataSource = customers;
         gvCustomers.DataBind();
     }
 }
Example #2
0
 protected void btnFindMovie_Click(object sender, EventArgs e)
 {
     using (LacklusterEntities entity = new LacklusterEntities())
     {
         List <video> videos = entity.videos.Where(v => v.rented == false && (v.videoID.ToString() == txtMovieID.Text || v.title.Contains(txtMovieID.Text))).Take(20).ToList();
         gvMovies.DataSource = videos;
         gvMovies.DataBind();
     }
 }
 private void reloadEmployees()
 {
     using (LacklusterEntities entity = new LacklusterEntities())
     {
         List <employee> Employees = entity.employees.Where(e => e.active == true).ToList();
         gvEmployees.DataSource = Employees;
         gvEmployees.DataBind();
     }
 }
 protected void btnGetEmployee_Click(object sender, EventArgs e)
 {
     using (LacklusterEntities entity = new LacklusterEntities())
     {
         List <employee> employees = entity.employees.Where(em => (em.empID.ToString() == txtEmployeeInfo.Text || em.lastName == txtEmployeeInfo.Text) && em.active == true).ToList();
         gvEmployees.DataSource = employees;
         gvEmployees.DataBind();
     }
 }
Example #5
0
 protected void btnGetCustomer_Click(object sender, EventArgs e)
 {
     using (LacklusterEntities entity = new LacklusterEntities())
     {
         List <customer> customers = entity.customers.Where(c => (c.custID.ToString() == txtCustomerInfo.Text || c.lastName == txtCustomerInfo.Text) && c.active == true).ToList();
         gvCustomers.DataSource = customers;
         gvCustomers.DataBind();
     }
 }
Example #6
0
        private bool ValidateUser(string userName, string passWord)
        {
            // Try this code for now. If it works, everything below it should be ignored
            // because of the return clause
            if ((0 == string.Compare(userName, "Admin", true)) && (0 == string.Compare(passWord, "Admin", true)))
            {
                return(true);
                // should allow login now.
            }

            // 4/3/18: Added variables cmd2(SqlCommand), lookupSalt(string)
            // and passwordPlusSalt(string)
            string            lookupSalt       = null;
            string            passwordPlusSalt = null;
            HasherOfPasswords hash             = new HasherOfPasswords();

            // Check for invalid userName.
            // userName must not be null and must be between 1 and 15 characters.
            if ((null == userName) || (0 == userName.Length) || (userName.Length > 15))
            {
                System.Diagnostics.Trace.WriteLine("[ValidateUser] Input validation of userName failed.");
                return(false);
            }

            // Check for invalid passWord.
            // passWord must not be null and must be between 1 and 25 characters.
            if ((null == passWord) || (0 == passWord.Length) || (passWord.Length > 25))
            {
                System.Diagnostics.Trace.WriteLine("[ValidateUser] Input validation of passWord failed.");
                return(false);
            }

            using (LacklusterEntities entity = new LacklusterEntities())
            {
                try
                {
                    employee emp = entity.employees.Where(e => e.userName == userName).SingleOrDefault();

                    if (emp == null)
                    {
                        return(false);
                    }
                    else
                    {
                        txtIsManager.Value = emp.manager.ToString();
                        lookupSalt         = emp.salt;
                        passwordPlusSalt   = passWord + lookupSalt;
                        passWord           = hash.HashPassword(passwordPlusSalt);
                        return(emp.llv_password == passWord);
                    }
                }
                catch (Exception)
                {
                    return(false);
                }
            }
        }
Example #7
0
 protected void Page_Load()
 {
     if (!IsPostBack)
     {
         using (LacklusterEntities entity = new LacklusterEntities())
         {
             List <employee> emps = entity.employees.ToList();
             gvEmployees.DataSource = emps;
             gvEmployees.DataBind();
         }
     }
 }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (!String.IsNullOrEmpty(Request.QueryString["ID"]) && Int32.TryParse(Request.QueryString["ID"], out custID))
                {
                    try
                    {
                        using (LacklusterEntities entity = new LacklusterEntities())
                        {
                            customer cust = entity.customers.Where(c => c.custID == custID).Single();
                            lblCustomerID.Text   = cust.custID.ToString();
                            lblCustomerName.Text = cust.firstName + " " + cust.lastName;
                            cFirstName.Text      = cust.firstName;
                            cLastName.Text       = cust.lastName;
                            cAddress.Text        = cust.streetAddress;
                            cCity.Text           = cust.city;
                            cState.Text          = cust.state;

                            int zipFromString = 0;
                            int.TryParse(cZipCode.Text, out zipFromString);

                            if (zipFromString != 0)
                            {
                                cust.zip = zipFromString;
                            }
                            else
                            {
                                cust.zip = 99999;
                            }

                            cPhoneNumber.Text = cust.phone;
                        }
                    }
                    catch (Exception ex)
                    {
                        throw ex;
                        //Response.Redirect("Rent.aspx");
                    }

                    pnlSelectCustomer.Visible = false;
                    pnlMovies.Visible         = true;
                }
                else
                {
                    reloadCust();

                    pnlSelectCustomer.Visible = true;
                    pnlMovies.Visible         = false;
                }
            }
        }
Example #9
0
        protected void btnFindMovie_Click(object sender, EventArgs e)
        {
            using (LacklusterEntities entity = new LacklusterEntities())
            {
                var rented = entity.rentals
                             .Join(entity.videos, r => r.videoID, v => v.videoID, (r, v) => new { r, v })
                             .Where(vi => vi.r.returned == false && vi.v.rented == true && (vi.v.videoID.ToString() == txtMovieID.Text || vi.v.title.Contains(txtMovieID.Text)))
                             .Select(vi => new { vi.v.videoID, vi.r.custID, vi.v.UPC, vi.v.title, vi.r.dayDue }).ToList();

                gvMovies.DataSource = rented;
                gvMovies.DataBind();
            }
        }
Example #10
0
        private void reloadMovies()
        {
            using (LacklusterEntities entity = new LacklusterEntities())
            {
                var rented = entity.rentals
                             .Join(entity.videos, r => r.videoID, v => v.videoID, (r, v) => new { r, v })
                             .Where(vi => vi.r.returned == false && vi.v.rented == true)
                             .Select(vi => new { vi.v.videoID, vi.r.custID, vi.v.UPC, vi.v.title, vi.r.dayDue }).ToList();

                gvMovies.DataSource = rented;
                gvMovies.DataBind();
            }
        }
        protected void btnDelete_Click(object sender, EventArgs e)
        {
            using (LacklusterEntities entity = new LacklusterEntities())
            {
                empID = Int32.Parse(Request.QueryString["ID"]);
                employee emp = entity.employees.Where(em => em.empID == empID).Single();

                emp.active = false;

                entity.SaveChanges();
            }

            Response.Redirect("EditEmployee.aspx");
        }
        protected void btnDelete_Click(object sender, EventArgs e)
        {
            using (LacklusterEntities entity = new LacklusterEntities())
            {
                custID = Int32.Parse(Request.QueryString["ID"]);
                customer cust = entity.customers.Where(c => c.custID == custID).Single();

                cust.active = false;

                entity.SaveChanges();
            }

            Response.Redirect("EditCustomer.aspx");
        }
Example #13
0
        private void reloadMovies()
        {
            using (LacklusterEntities entity = new LacklusterEntities())
            {
                List <video> videos = entity.videos.Where(v => v.rented == false).Take(20).ToList();
                gvMovies.DataSource = videos;
                gvMovies.DataBind();

                custID = Int32.Parse(Request.QueryString["ID"]);

                var rented = entity.rentals
                             .Join(entity.videos, r => r.videoID, v => v.videoID, (r, v) => new { r, v })
                             .Where(vi => vi.r.custID == custID && vi.r.returned == false && vi.v.rented == true)
                             .Select(vi => new { vi.v.videoID, vi.v.UPC, vi.v.title, vi.r.dayDue }).ToList();
                //List<int> vids = entity.rentals.Where(r => r.custID == custID && r.returned == false).Select(r => r.videoID).ToList();
                //List<video> rented = entity.videos.Where(v => v.rented == true && vids.Contains(v.videoID)).ToList();
                gvRented.DataSource = rented;
                gvRented.DataBind();
            }
        }
Example #14
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (!String.IsNullOrEmpty(Request.QueryString["ID"]) && Int32.TryParse(Request.QueryString["ID"], out custID))
                {
                    try
                    {
                        using (LacklusterEntities entity = new LacklusterEntities())
                        {
                            reloadMovies();

                            customer cust = entity.customers.Where(c => c.custID == custID).Single();
                            lblCustomerID.Text   = cust.custID.ToString();
                            lblCustomerName.Text = cust.firstName + " " + cust.lastName;
                            lblBalance.Text      = String.Format("{0:C}", cust.balance);
                        }
                    }
                    catch (Exception ex)
                    {
                        throw ex;
                        //Response.Redirect("Rent.aspx");
                    }

                    pnlSelectCustomer.Visible = false;
                    pnlMovies.Visible         = true;
                }
                else
                {
                    using (LacklusterEntities entity = new LacklusterEntities())
                    {
                        List <customer> customers = entity.customers.Where(c => c.active == true).ToList();
                        gvCustomers.DataSource = customers;
                        gvCustomers.DataBind();
                    }

                    pnlSelectCustomer.Visible = true;
                    pnlMovies.Visible         = false;
                }
            }
        }
Example #15
0
        protected void gvMovies_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "Select")
            {
                int vID = Int32.Parse(e.CommandArgument.ToString());

                using (LacklusterEntities entity = new LacklusterEntities())
                {
                    video selectedVid = entity.videos.Where(v => v.videoID == vID && v.rented == true).SingleOrDefault();
                    if (selectedVid != null)
                    {
                        selectedVid.rented = false;
                    }

                    rental selectedRental = entity.rentals.Where(r => r.videoID == vID && r.returned == false).SingleOrDefault();
                    if (selectedRental != null)
                    {
                        selectedRental.returned = true;

                        if (selectedRental.dayDue.Value.CompareTo(DateTime.Today) < 0)
                        {
                            customer cust = entity.customers.Where(c => c.custID == selectedRental.custID).SingleOrDefault();

                            if (cust != null)
                            {
                                cust.balance = cust.balance + 3;
                            }
                        }
                    }

                    entity.SaveChanges();

                    lblMessage.Text = selectedVid.title + " has been returned";
                }

                reloadMovies();
            }
        }
Example #16
0
        protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "Select")
            {
                custID = Int32.Parse(Request.QueryString["ID"]);
                //Determine the RowIndex of the Row whose Button was clicked.
                int vID = Int32.Parse(e.CommandArgument.ToString());

                using (LacklusterEntities entity = new LacklusterEntities())
                {
                    video selectedVid = entity.videos.Where(v => v.videoID == vID).SingleOrDefault();
                    if (selectedVid != null)
                    {
                        selectedVid.rented = true;
                        entity.SaveChanges();
                    }

                    rental r = new rental();
                    r.custID    = custID;
                    r.dayRented = DateTime.Today;
                    r.dayDue    = DateTime.Today.AddDays(3);
                    r.empID     = 0; //Need to add later from logged in user
                    r.videoID   = vID;
                    r.returned  = false;

                    entity.rentals.Add(r);

                    entity.SaveChanges();
                }

                hfTotal.Value = (Int32.Parse(hfTotal.Value) + 3).ToString();
                lblTotal.Text = String.Format("{0:C}", Int32.Parse(hfTotal.Value));

                reloadMovies();
            }
        }
Example #17
0
        protected void btnUpload_Click(object sender, EventArgs e)
        {
            StreamReader csvreader = new StreamReader(fuMovies.FileContent);

            string line = csvreader.ReadLine();

            string[] values = line.Split(',');

            StringBuilder sb = new StringBuilder();

            while (!csvreader.EndOfStream)
            {
                line   = csvreader.ReadLine();
                values = line.Split(',');

                try
                {
                    using (LacklusterEntities entity = new LacklusterEntities())
                    {
                        video vid = new video();
                        vid.title  = values[0];
                        vid.studio = values[1];

                        if (String.IsNullOrWhiteSpace(values[2]))
                        {
                            vid.released = null;
                        }
                        else
                        {
                            DateTime release;
                            if (DateTime.TryParse(values[2], out release))
                            {
                                vid.released = release;
                            }
                            else
                            {
                                vid.released = null;
                            }
                        }


                        vid.status   = values[3];
                        vid.sound    = values[4];
                        vid.versions = values[5];

                        if (String.IsNullOrWhiteSpace(values[6]))
                        {
                            vid.price = null;
                        }
                        else
                        {
                            decimal prc;
                            if (Decimal.TryParse(values[6], out prc))
                            {
                                vid.price = prc;
                            }
                            else
                            {
                                vid.price = null;
                            }
                        }

                        vid.rating = values[7];
                        vid.year   = values[8];
                        vid.genre  = values[9];
                        vid.aspect = values[10];
                        vid.UPC    = values[11];

                        if (String.IsNullOrWhiteSpace(values[12]))
                        {
                            vid.releaseDate = null;
                        }
                        else
                        {
                            DateTime release;
                            if (DateTime.TryParse(values[12], out release))
                            {
                                vid.releaseDate = release;
                            }
                            else
                            {
                                vid.releaseDate = null;
                            }
                        }

                        vid.active = true;

                        entity.videos.Add(vid);

                        entity.SaveChanges();
                    }
                }
                catch (Exception ex)
                {
                    line += "," + ex.Message.ToString();
                    sb.AppendLine(line);
                    continue;
                }

                Response.Clear();
                Response.Buffer = true;
                Response.AddHeader("content-disposition", "attachment;filename=UploadErrors.csv");
                Response.Charset     = "";
                Response.ContentType = "application/text";
                Response.Output.Write(sb.ToString());
                Response.Flush();
                Response.End();
            }
        }
        protected void btnComplete_Click(object sender, EventArgs e)
        {
            string lookupSalt       = null;
            string passwordPlusSalt = null;
            string passwordString   = ePassword.Text.ToString();
            string stateStr         = eState.Text.ToString();
            string zipStr           = eZipCode.Text.ToString();
            string phoneStr         = ePhoneNumber.Text.ToString();
            bool   pageValid        = true;

            // TODO: Form validator code
            SaltGenerator      salt = new SaltGenerator();
            HasherOfPasswords  hash = new HasherOfPasswords();
            FormValidatorClass fv   = new FormValidatorClass();

            // validate state, zip and phone
            bool validState = fv.IsValidState(stateStr);

            if (!validState)
            {
                // invalid state
                // TODO: notify EditEmployee.aspx of invalid state
                stateStr = null;
                rfvState.ErrorMessage = "Required, enter a valid US state initial(CA, IL, GA)";
                rfvState.ForeColor    = System.Drawing.Color.Red;
                pageValid             = false;
            }

            bool validZip = fv.IsValidZip(zipStr);

            if (!validZip)
            {
                // invalid zip
                // TODO: notify EditEmployee.aspx of invalid zip
                zipStr = null;
                rfvZip.ErrorMessage = "Required, enter a valid Zip Code";
                rfvZip.ForeColor    = System.Drawing.Color.Red;
                pageValid           = false;
            }

            bool validPhone = fv.IsValidPhone(phoneStr);

            if (!validPhone)
            {
                // invalid phone
                // TODO: notify EditEmployee.aspx of invalid phone
                phoneStr = null;
                rfvPhone.ErrorMessage = "Required, enter a valid phone number";
                rfvPhone.ForeColor    = System.Drawing.Color.Red;
                pageValid             = false;
            }

            // save to DB only if entries are validated
            if (pageValid == true)
            {
                using (LacklusterEntities entity = new LacklusterEntities())
                {
                    empID = Int32.Parse(Request.QueryString["ID"]);
                    employee emp = entity.employees.Where(em => em.empID == empID).Single();
                    emp.firstName     = eFirstName.Text;
                    emp.lastName      = eLastName.Text;
                    emp.streetAddress = eAddress.Text;
                    emp.city          = eCity.Text;
                    emp.state         = stateStr;
                    int zipFromString = 0;
                    int.TryParse(zipStr, out zipFromString);
                    emp.zip = zipFromString;

                    /*
                     * if (zipFromString != 0)
                     * {
                     *  emp.zip = zipFromString;
                     * }
                     */
                    emp.phone = phoneStr;

                    // generate new salt and take new password
                    lookupSalt       = salt.SaltMe(emp.firstName, emp.lastName);
                    passwordPlusSalt = passwordString + lookupSalt;
                    emp.llv_password = hash.HashPassword(passwordPlusSalt);
                    emp.salt         = lookupSalt;

                    emp.manager = eIsManager.Checked;
                    entity.SaveChanges();
                }
            }
            else
            {
                // redirect
            }

            Response.Redirect("EditEmployee.aspx");
        }
        protected void btnComplete_Click(object sender, EventArgs e)
        {
            string             stateStr  = cState.Text.ToString();
            string             zipStr    = cZipCode.Text.ToString();
            string             phoneStr  = cPhoneNumber.Text.ToString();
            bool               pageValid = true;
            FormValidatorClass fv        = new FormValidatorClass();

            // validate state, zip, phone
            bool validState = fv.IsValidState(stateStr);

            if (!validState)
            {
                stateStr = null;
                rfvState.ErrorMessage = "Required, enter valid US state initial (CA, IL, GA)";
                rfvState.ForeColor    = System.Drawing.Color.Red;
                pageValid             = false;
            }

            bool validZip = fv.IsValidZip(zipStr);

            if (!validZip)
            {
                zipStr = null;
                rfvZip.ErrorMessage = "Required, enter a valid Zip Code";
                rfvZip.ForeColor    = System.Drawing.Color.Red;
                pageValid           = false;
            }

            bool validPhone = fv.IsValidPhone(phoneStr);

            if (!validPhone)
            {
                phoneStr = null;
                rfvPhone.ErrorMessage = "Required, enter a valid phone number";
                rfvPhone.ForeColor    = System.Drawing.Color.Red;
                pageValid             = false;
            }

            // save to DB only once entries are validated
            if (pageValid == true)
            {
                using (LacklusterEntities entity = new LacklusterEntities())
                {
                    custID = Int32.Parse(Request.QueryString["ID"]);
                    customer cust = entity.customers.Where(c => c.custID == custID).Single();
                    cust.firstName     = cFirstName.Text;
                    cust.lastName      = cLastName.Text;
                    cust.phone         = phoneStr;
                    cust.streetAddress = cAddress.Text;
                    cust.city          = cCity.Text;
                    cust.state         = stateStr;
                    int zipFromString = 0;
                    int.TryParse(zipStr, out zipFromString);
                    cust.zip = zipFromString;

                    /*
                     * if (zipFromString != 0)
                     * {
                     *  cust.zip = zipFromString;
                     * }
                     */

                    entity.SaveChanges();
                }
            }
            else
            {
                // redirect
            }

            Response.Redirect("EditCustomer.aspx");
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            FormsIdentity             id     = (FormsIdentity)HttpContext.Current.User.Identity;
            FormsAuthenticationTicket ticket = id.Ticket;

            if (ticket.UserData.ToLower() == "false")
            {
                Response.Redirect("~/Default.aspx");
            }

            if (!IsPostBack)
            {
                if (!String.IsNullOrEmpty(Request.QueryString["ID"]) && Int32.TryParse(Request.QueryString["ID"], out empID))
                {
                    try
                    {
                        using (LacklusterEntities entity = new LacklusterEntities())
                        {
                            employee emp = entity.employees.Where(c => c.empID == empID).Single();
                            lblEmployeeID.Text   = emp.empID.ToString();
                            lblEmployeeName.Text = emp.firstName + " " + emp.lastName;
                            eFirstName.Text      = emp.firstName;
                            eLastName.Text       = emp.lastName;
                            eAddress.Text        = emp.streetAddress;
                            eCity.Text           = emp.city;
                            eState.Text          = emp.state;

                            int zipFromString = 0;
                            int.TryParse(eZipCode.Text, out zipFromString);

                            if (zipFromString != 0)
                            {
                                emp.zip = zipFromString;
                            }
                            else
                            {
                                emp.zip = 99999;
                            }

                            ePhoneNumber.Text  = emp.phone;
                            eIsManager.Checked = emp.manager.HasValue ? emp.manager.Value : false;
                        }
                    }
                    catch (Exception ex)
                    {
                        throw ex;
                        //Response.Redirect("Rent.aspx");
                    }

                    pnlSelectEmployee.Visible = false;
                    pnlEdit.Visible           = true;
                }
                else
                {
                    reloadEmployees();

                    pnlSelectEmployee.Visible = true;
                    pnlEdit.Visible           = false;
                }
            }
        }
Example #21
0
        protected void cAddCustomer_Click(object sender, EventArgs e)
        {
            string firstNameStr = cFirstName.Text.ToString();
            string lastNameStr  = cLastName.Text.ToString();
            string stAddressStr = cAddress.Text.ToString();
            string stateStr     = cState.Text.ToString();
            string zipStr       = cZipCode.Text.ToString();
            string phoneStr     = cPhoneNumber.Text.ToString();
            bool   pageValid    = true;

            // TODO:
            // Add some code validation, WORK IN PROGRESS
            FormValidatorClass    fv = new FormValidatorClass();
            DuplicateCheckerClass dc = new DuplicateCheckerClass();

            // validate if customer already exists
            bool duplicatePerson = dc.AlreadyExists(firstNameStr, lastNameStr, stAddressStr);

            if (duplicatePerson)
            {
                // Customer already exists.
                // TODO: ccreate code to notify AddCustomer.aspx of duplicate entry
                // null the values now so none will be passed to DB
                firstNameStr          = null;
                lastNameStr           = null;
                stAddressStr          = null;
                rfvFirst.ErrorMessage = "Required, person you entered already exists";
                rfvLast.ErrorMessage  = "Required, person you entered already exists";
                rfvFirst.ForeColor    = System.Drawing.Color.Red;
                rfvLast.ForeColor     = System.Drawing.Color.Red;
                pageValid             = false;
            }
            // No need for else, keep validating....

            // validate valid state initials
            bool validState = fv.IsValidState(stateStr);

            if (!validState)
            {
                // invalid state.
                // TODO: create code to notify AddCustomer.aspx of invalid state
                stateStr = null;
                rfvState.ErrorMessage = "Required, enter a valid US state intial (CA, IL. GA)";
                rfvState.ForeColor    = System.Drawing.Color.Red;
                pageValid             = false;
            }
            // keep validating

            // validate phone
            bool validPhone = fv.IsValidPhone(phoneStr);

            if (!validPhone)
            {
                // invalid phone
                // TODO: notify AddCustomer.aspx of invalid phone
                phoneStr = null;
                rfvPhone.ErrorMessage = "Required, enter a valid phone number";
                rfvPhone.ForeColor    = System.Drawing.Color.Red;
                pageValid             = false;
            }

            // validate zip code
            bool validZip = fv.IsValidZip(zipStr);

            if (!validZip)
            {
                // invalid zip
                // TODO: notify AddCustomer.aspx of invalid zip
                zipStr = null;
                rfvZip.ErrorMessage = "Required, enter a valid Zip Code";
                rfvZip.ForeColor    = System.Drawing.Color.Red;
                pageValid           = false;
            }

            // save to DB only if entries are validated
            if (pageValid == true)
            {
                using (LacklusterEntities entity = new LacklusterEntities())
                {
                    customer c = new customer();
                    c.firstName     = firstNameStr;
                    c.lastName      = lastNameStr;
                    c.streetAddress = stAddressStr;
                    c.city          = cCity.Text.ToString();
                    c.state         = stateStr;
                    c.phone         = phoneStr;


                    int zipFromString = 0;
                    int.TryParse(zipStr, out zipFromString);

                    c.zip = zipFromString;

                    /*
                     * if (zipFromString != 0)
                     * {
                     *  c.zip = zipFromString;
                     * }
                     * else
                     * {
                     *  c.zip = 99999;
                     * }
                     */

                    c.active = true;

                    entity.customers.Add(c);
                    entity.SaveChanges();
                }
            }
            else
            {
                // redirect?
            }

            Response.Redirect("~/Management/ManageCustomer.aspx");
        }
Example #22
0
        protected void eAddEmployee_Click(object sender, EventArgs e)
        {
            /* Edited 4/16/18:
             * passwordPlusSalt is input to Hash algorithm and the output
             * is saved to the DB
             */
            string                lookupSalt       = null;
            string                passwordPlusSalt = null;
            string                passwordString   = ePassword.Text.ToString();
            SaltGenerator         salt             = new SaltGenerator();
            HasherOfPasswords     hash             = new HasherOfPasswords();
            FormValidatorClass    fv = new FormValidatorClass();
            DuplicateCheckerClass dc = new DuplicateCheckerClass();

            /* TODO
             * These variables will be used to check for validation.
             * inputs will be stored in here and checked for validation
             * before being stored as a DB entry.
             *
             */
            string firstNameStr = eFirstName.Text.ToString();
            string lastNameStr  = eLastName.Text.ToString();
            string stAddressStr = eAddress.Text.ToString();
            string stateStr     = eState.Text.ToString();
            string phoneStr     = ePhoneNumber.Text.ToString();
            string zipStr       = eZipCode.Text.ToString();
            string userNameStr  = eUsername.Text.ToString();
            bool   pageValid    = true;

            // validate if person already exists
            bool duplicatePerson = dc.AlreadyExists(firstNameStr, lastNameStr, stAddressStr, userNameStr);

            if (duplicatePerson)
            {
                // then this person already exists in the records
                // TODO: write code in here that alerts the AddEmployee.aspx page of a dulpicate
                // entry attempt. For now, NULL the values so they will not be passed to the DB
                firstNameStr          = null;
                lastNameStr           = null;
                stAddressStr          = null;
                userNameStr           = null;
                rfvFirst.ErrorMessage = "Required, Person you entered already exists";
                rfvLast.ErrorMessage  = "Required, Person you entered already exists";
                rfvFirst.ForeColor    = System.Drawing.Color.Red;
                rfvLast.ForeColor     = System.Drawing.Color.Red;
                pageValid             = false;
            }
            // No need for else, keep validating... If entry does not exist in DB, values
            // won't be nulled. Essentially, values are nulled to force the
            // ASP:RequiredFieldValidator to throw an error.

            // validate state intial
            bool validState = fv.IsValidState(stateStr);

            if (!validState)
            {
                // State is not valid.
                // TODO: write code in here that alerts the AddEmployee.aspx page of an invalid
                // state. For now, NULL the values so they will not be passed to the DB
                stateStr = null;
                rfvState.ErrorMessage = "Required, Enter a valid US state initial (CA, IL, GA)";
                rfvState.ForeColor    = System.Drawing.Color.Red;
                pageValid             = false;
            }
            // No need for else, keep validating...

            // validate phone number
            bool validPhone = fv.IsValidPhone(phoneStr);

            if (!validPhone)
            {
                // Phone number is not valid.
                // TODO: write code that alerts AddEmployee.aspx page of an invalid phone.
                // NULL the value so it will not be passed to the DB.
                phoneStr = null;
                rfvPhone.ErrorMessage = "Required, Enter a valid phone number";
                rfvPhone.ForeColor    = System.Drawing.Color.Red;
                pageValid             = false;
            }

            // validate zip
            bool validZip = fv.IsValidZip(zipStr);

            if (!validZip)
            {
                // Zip Code is not valid.
                // TODO: write code that alerts AddEmployee.aspx page of an invalid zip.
                // NULL the value so it will not be passed to the DB.
                zipStr = null;
                rfvZip.ErrorMessage = "Required, Enter a Valid Zip Code";
                rfvZip.ForeColor    = System.Drawing.Color.Red;
                pageValid           = false;
            }

            // save to DB only if entries are validated.
            if (pageValid == true)
            {
                using (LacklusterEntities entity = new LacklusterEntities())
                {
                    employee em = new employee();
                    em.firstName     = firstNameStr;
                    em.lastName      = lastNameStr;
                    em.streetAddress = stAddressStr;
                    em.city          = eCity.Text.ToString();
                    em.state         = stateStr;
                    em.phone         = phoneStr;
                    em.userName      = userNameStr;

                    lookupSalt       = salt.SaltMe(em.firstName, em.lastName);
                    passwordPlusSalt = passwordString + lookupSalt;
                    em.llv_password  = hash.HashPassword(passwordPlusSalt);
                    em.salt          = lookupSalt;

                    //em.llv_password = ePassword.Text;
                    //eUsername.Text = passwordPlusSalt;

                    em.manager = eIsManager.Checked;
                    em.active  = true;


                    int zipFromString = 0;
                    int.TryParse(zipStr, out zipFromString);

                    em.zip = zipFromString;

                    /*
                     * if (zipFromString != 0)
                     * {
                     *  em.zip = zipFromString;
                     * }
                     * else
                     * {
                     *  em.zip = 99999;
                     * }
                     */
                    entity.employees.Add(em);
                    entity.SaveChanges();
                }
            }
            else
            {
                // redirect?
            }
            Response.Redirect("~/Management/ManageEmployee.aspx");
        }