Beispiel #1
0
        public ActionResult Manage()
        {
            // Enforce admin priviledges
            if (!((bool?)Session.Contents["EmployeeAdmin"] ?? false))
            {
                return(RedirectToAction("Index", "Home"));
            }

            int EmployeeId = (int)Session.Contents["EmployeeId"];
            var m          = new Models.Employee_.Manage.ViewModel();

            using (var db = new dbEntities())
            {
                foreach (var e in db.Employees.Where(e => e.Id != EmployeeId))
                {
                    var em = new Models.Employee_.Manage.EmployeeModel();
                    em.Id       = e.Id;
                    em.Username = e.Username;
                    m.Employees.Add(em);
                }

                foreach (var s in db.Stores)
                {
                    var sm = new Models.Employee_.Hire.StoreModel();
                    sm.Id   = s.Id;
                    sm.Name = s.Location.Name;
                    m.Hire.Stores.Add(sm);
                }

                foreach (var l in db.Locations)
                {
                    var lm = new Models.Employee_.Hire.LocationModel();
                    lm.Id   = l.Id;
                    lm.Name = l.Name;
                    m.Hire.Locations.Add(lm);
                }
            }

            return(View(m));
        }
Beispiel #2
0
        public ActionResult Hire(Models.Employee_.Manage.ViewModel m)
        {
            if (ModelState.IsValid)
            {
                SHA256 sha256 = new SHA256Managed();
                byte[] hashed = sha256.ComputeHash(Encoding.UTF8.GetBytes(m.Hire.Password));

                using (var db = new dbEntities())
                {
                    var e = new Employee();
                    e.Username = m.Hire.Username;
                    e.Password = hashed;
                    e.IsAdmin  = m.Hire.IsAdmin;

                    foreach (var s in m.Hire.Stores.Where(s => s.HasAccess))
                    {
                        var es = new EmployeeStore();
                        es.Employee = e;
                        es.StoreId  = s.Id;
                        e.EmployeeStores.Add(es);
                    }

                    foreach (var l in m.Hire.Locations.Where(l => l.HasAccess))
                    {
                        var el = new EmployeeLocation();
                        el.Employee   = e;
                        el.LocationId = l.Id;
                        e.EmployeeLocations.Add(el);
                    }

                    db.Employees.Add(e);
                    db.SaveChanges();
                }

                return(RedirectToAction("Manage", "Employee"));
            }
            return(View());
        }