Пример #1
0
 //Legger employee inn i datatbasen
 public bool add(EmployeeModel employeeModel)
 {
     using (var db = new CustomerContext())
     {
         try
         {
             if (!(db.Employees.Find(employeeModel.employeeID) == null))//Hvis employeeModel har personID som finnes fra før
                 return false;
             if (find(employeeModel.username) != null)
                 return false;
             var newEmployee = new Employees()//Opretter ny employee
             {
                 email = employeeModel.username + "@kaffeplaneten.no",
                 firstName = employeeModel.firstName,
                 lastName = employeeModel.lastName,
                 phone = employeeModel.phone,
                 employeeAdmin = employeeModel.employeeAdmin,
                 customerAdmin = employeeModel.customerAdmin,
                 productAdmin = employeeModel.productAdmin,
                 orderAdmin   = employeeModel.orderAdmin,
                 databaseAdmin = employeeModel.databaseAdmin
             };
             newEmployee = db.Employees.Add(newEmployee);
             db.SaveChanges();
             employeeModel.employeeID = newEmployee.personID;//Lagrer personID i modellen for senere bruk
             return true;
         }
         catch (Exception ex)
         {
             _logging.logToDatabase(ex);
         }
     }//end using
     return false;
 }
 public void HomeTest()
 {
     //Arrange
     var controller = MockHttpSession.getMoqLayoutController();
     var employeeModel = new EmployeeModel();
     employeeModel.employeeID = 1;
     employeeModel.firstName = "Ola";
     employeeModel.lastName = "Nordmann";
     employeeModel.phone = "12345678";
     employeeModel.customerAdmin = false;
     employeeModel.databaseAdmin = false;
     employeeModel.orderAdmin = true;
     employeeModel.employeeAdmin = false;
     employeeModel.password = "******";
     employeeModel.productAdmin = false;
     employeeModel.username = "******";
     //Act
     var result = (ViewResult)controller.Home(employeeModel);
     var resultModel = (EmployeeModel)result.Model;
     //Assert
     Assert.AreEqual(result.ViewName, "");
     Assert.AreEqual(employeeModel.firstName, resultModel.firstName);
     Assert.AreEqual(employeeModel.customerAdmin, resultModel.customerAdmin);
     Assert.AreEqual(employeeModel.databaseAdmin, resultModel.databaseAdmin);
     Assert.AreEqual(employeeModel.employeeAdmin, resultModel.employeeAdmin);
     Assert.AreEqual(employeeModel.employeeID, resultModel.employeeID);
     Assert.AreEqual(employeeModel.lastName, resultModel.lastName);
     Assert.AreEqual(employeeModel.orderAdmin, resultModel.orderAdmin);
     Assert.AreEqual(employeeModel.password, resultModel.password);
     Assert.AreEqual(employeeModel.phone, resultModel.phone);
     Assert.AreEqual(employeeModel.username, resultModel.username);
 }
        public ActionResult createEmployee(EmployeeModel employee)
        {
            if (!ModelState.IsValid)
                return View();
            string username = employee.username + "@kaffeplaneten.no";
            var userModel = _userBLL.get(username);
            if (userModel != null)
            {
                Session["userExists"] = "Brukernavn(Epost) du prøver å registere finnes allerede!";
                return View(employee);
            }
            var personExist = _employeeBLL.find(username);
            if (personExist != null)
            {
                Session["employeeExists"] = "Ansattbrukeren eksisterer allerede!";
                return View(employee);
            }
            if (!_employeeBLL.add(employee))
            {
                Session["employeeError"] = "Feil ved registrering av ansatt";
                return View(employee);
            }
            userModel = new UserModel();
            userModel.username = username;
            userModel.passwordHash = base.getHash(employee.password);
            userModel.ID = employee.employeeID;

            if (!_userBLL.add(userModel)) //registrerer ny bruker
            {
                Session["userError"] = "Feil ved registrering av bruker";
                return View(employee);
            }
            _loggingBLL.logToUser("La til ny ansatt: " + userModel.username, (EmployeeModel)Session["Employee"]);
            return RedirectToAction("AllEmployees", "AdminEmployee");
        }
Пример #4
0
        public EmployeeModel find(int id)
        {
            if (id < 0)
                return null;
            var employeeModel = new EmployeeModel();
            employeeModel.employeeID = 1;
            employeeModel.firstName = "Ola";
            employeeModel.lastName = "Nordmann";
            employeeModel.phone = "12345678";
            employeeModel.customerAdmin = false;
            employeeModel.databaseAdmin = false;
            employeeModel.orderAdmin = true;
            employeeModel.employeeAdmin = false;
            employeeModel.password = "******";
            employeeModel.productAdmin = false;
            employeeModel.username = "******";
            if (id==2)
            {
                employeeModel.databaseAdmin = true;
                employeeModel.customerAdmin = true;
                employeeModel.productAdmin = true;
                employeeModel.employeeAdmin = true;

            }
            if (id == 3)
                employeeModel.employeeID = -1;
            return employeeModel;
        }
 public void getActiveUserIDTestOK()
 {
     //Arrange
     var controller = MockHttpSession.getMoqSuperController();
     var temp = new EmployeeModel();
     temp.employeeID = 1;
     controller.Session[SuperController.Employee] = temp;
     //Act
     var result = controller.getActiveUserID();
     //Assert
     Assert.AreEqual(result, 1);
 }
Пример #6
0
 public EmployeeModel find(string email)
 {
     if (email.Equals("@kaffeplaneten.no"))
         return null;
     var employeeModel = new EmployeeModel();
     employeeModel.employeeID = 1;
     employeeModel.firstName = "Ola";
     employeeModel.lastName = "Nordmann";
     employeeModel.phone = "12345678";
     employeeModel.customerAdmin = false;
     employeeModel.databaseAdmin = false;
     employeeModel.employeeAdmin = false;
     employeeModel.password = "******";
     employeeModel.productAdmin = false;
     employeeModel.username = "******";
     return employeeModel;
 }
 public void AllEmployeesTest()
 {
     //Arrange
     var controller = new AdminEmployeeController(new EmployeeBLL(new EmployeeDALStub()), new UserBLL(new UserDALStub()), new LoggingBLL(new LoggingDALStub()));
     var list = new List<EmployeeModel>();
     var employeeModel = new EmployeeModel();
     employeeModel.employeeID = 1;
     employeeModel.firstName = "Ola";
     employeeModel.lastName = "Nordmann";
     employeeModel.phone = "12345678";
     employeeModel.customerAdmin = false;
     employeeModel.orderAdmin = true;
     employeeModel.databaseAdmin = false;
     employeeModel.employeeAdmin = false;
     employeeModel.password = "******";
     employeeModel.productAdmin = false;
     employeeModel.username = "******";
     list.Add(employeeModel);
     list.Add(employeeModel);
     list.Add(employeeModel);
     list.Add(employeeModel);
     //Act
     var result = (ViewResult)controller.AllEmployees();
     var resultList = (List<EmployeeModel>)result.Model;
     //Assert
     Assert.AreEqual(result.ViewName, "");
     Assert.AreEqual(resultList.Count, list.Count);
     for(int i = 0; i < resultList.Count; i++)
     {
         Assert.AreEqual(resultList[i].customerAdmin, list[i].customerAdmin);
         Assert.AreEqual(resultList[i].databaseAdmin, list[i].databaseAdmin);
         Assert.AreEqual(resultList[i].employeeAdmin, list[i].employeeAdmin);
         Assert.AreEqual(resultList[i].employeeID, list[i].employeeID);
         Assert.AreEqual(resultList[i].firstName, list[i].firstName);
         Assert.AreEqual(resultList[i].lastName, list[i].lastName);
         Assert.AreEqual(resultList[i].orderAdmin, list[i].orderAdmin);
         Assert.AreEqual(resultList[i].password, list[i].password);
         Assert.AreEqual(resultList[i].phone, list[i].phone);
         Assert.AreEqual(resultList[i].productAdmin, list[i].productAdmin);
         Assert.AreEqual(resultList[i].username, list[i].username);
     }
 }
 public void createEmployeeTestTrue()
 {
     //Arrange
     var context = new Mock<ControllerContext>();
     var session = new Mock<HttpSessionStateBase>();
     context.Setup(m => m.HttpContext.Session).Returns(session.Object);
     var controller = new AdminEmployeeController(new EmployeeBLL(new EmployeeDALStub()), new UserBLL(new UserDALStub()), new LoggingBLL(new LoggingDALStub()));
     controller.ControllerContext = context.Object;
     var employeeModel = new EmployeeModel();
     employeeModel.employeeID = 1;
     employeeModel.firstName = "Ola";
     employeeModel.lastName = "Nordmann";
     employeeModel.phone = "12345678";
     employeeModel.customerAdmin = false;
     employeeModel.databaseAdmin = false;
     employeeModel.orderAdmin = true;
     employeeModel.employeeAdmin = false;
     employeeModel.password = "******";
     employeeModel.productAdmin = false;
     employeeModel.username = "";
     //Act
     var result = (RedirectToRouteResult)controller.createEmployee(employeeModel);
     //Assert
     Assert.AreEqual(result.RouteName, "");
     Assert.AreEqual(result.RouteValues.Values.First(), "AllEmployees");
 }
Пример #9
0
 public bool add(EmployeeModel employeeModel)
 {
     if (!employeeModel.firstName.Equals(""))
         return true;
     return false;
 }
Пример #10
0
        //Henter ut navn på bruker med brukernavn lik email
        public EmployeeModel find(string email)
        {
            var employeeModel = new EmployeeModel();
            using (var db = new CustomerContext())
            {
                try
                {
                    var temp = (from c in db.Employees
                                where c.email == email
                                select c).SingleOrDefault();
                    if (temp == null)
                        return null;
                    return find(temp.personID);

                }
                catch (Exception ex)
                {
                    _logging.logToDatabase(ex);
                }
                return null;
            }
        }
Пример #11
0
 public bool logToUser(string action, EmployeeModel model)
 {
     return _loggingDAL.logToUser(action, model);
 }
Пример #12
0
        public List<EmployeeModel> getAllEmployees()
        {
            using (var db = new CustomerContext())
            {
                var EmployeeList = new List<EmployeeModel>();
                try
                {

                    var employees = (from e in db.Employees select e).ToList();
                    if (employees != null)
                        foreach (var e in employees)
                        {
                            var empModel = new EmployeeModel();
                            empModel.employeeID = e.personID;
                            empModel.firstName = e.firstName;
                            empModel.lastName = e.lastName;
                            empModel.phone = e.phone;
                            EmployeeList.Add(empModel);
                        }
                    return EmployeeList;
                }
                catch (Exception ex)
                {
                    _logging.logToDatabase(ex);
                }
                return null;
            }
        }
Пример #13
0
 public ActionResult Home(EmployeeModel emp)
 {
     return View(emp);
 }
Пример #14
0
        public static EmployeeModel createSuperEmployee()
        {
            var employee = new EmployeeModel();
            employee.firstName = "Sjef";
            employee.lastName = "Ledersen";
            employee.username = "******";
            employee.phone = "99887766";
            employee.employeeAdmin = true;
            employee.orderAdmin = true;
            employee.productAdmin = true;
            employee.customerAdmin = true;
            employee.databaseAdmin = true;

            return employee;
        }
Пример #15
0
        //Henter ut en EmployeeModel for employee med personID lik id
        public EmployeeModel find(int id)
        {
            var employeeModel = new EmployeeModel();
            using (var db = new CustomerContext())
            {
                try
                {
                    var temp = (from c in db.Employees
                                where c.personID == id
                                select c).FirstOrDefault();

                    if (temp == null)//Tester om employeen finnes
                        return null;
                    employeeModel.employeeID = temp.personID;
                    employeeModel.firstName = temp.firstName;
                    employeeModel.lastName = temp.lastName;
                    employeeModel.username = temp.email;
                    employeeModel.phone = temp.phone;
                    employeeModel.customerAdmin = temp.customerAdmin;
                    employeeModel.orderAdmin = temp.orderAdmin;
                    employeeModel.employeeAdmin = temp.employeeAdmin;
                    employeeModel.productAdmin = temp.productAdmin;
                    employeeModel.databaseAdmin = temp.databaseAdmin;

                    return employeeModel;
                }//end try
                catch (Exception ex)
                {
                    _logging.logToDatabase(ex);
                }
            }//end using
            return null;
        }
Пример #16
0
        public override bool logToUser(string message, EmployeeModel model)
        {
            createLog(LOG_INTERACTION);
            string logLine = "";
            if (model == null)                                                  // Dersom personen er anonym vil dette skje.
            {

                string strHostName = System.Net.Dns.GetHostName();

                IPHostEntry ipEntry = System.Net.Dns.GetHostEntry(strHostName);

                string ipaddress = ipEntry.AddressList[2].ToString();
                model = new EmployeeModel()
                {
                    employeeID = 0,
                    firstName = ipaddress,
                    lastName = "",
                    username = "******"
                };
            }
            logLine = ",{ " +
             "\"Date\": \"" + DateTime.Now.ToString("h:mm:ss tt") + "\"," +
             "\"UserID\": \"" + model.username + "\"," +
             "\"User\": \"" + model.firstName + " " + model.lastName + "\"," +
             "\"Action\": \"" + message + "\" }";
            try
            {
                using (StreamWriter logWriter = File.AppendText(LOG_INTERACTION))
                {
                    logWriter.WriteLine(logLine);
                    logWriter.Close();
                    return true;
                }
            }
            catch (Exception)
            {
                System.Console.WriteLine("ERROR: COULD NOT LOG ACTION TO USER.");
            }
               return false;
        }
        public void deleteEmployeeTestActiveUser()
        {
            //Arrange
            var controller = MockHttpSession.getMoqAdminEmployeeController();
            controller.Session["username"] = "******";

            var employeeModel = new EmployeeModel();
            employeeModel.employeeID = 1;
            employeeModel.firstName = "Ola";
            employeeModel.lastName = "Nordmann";
            employeeModel.phone = "12345678";
            employeeModel.customerAdmin = false;
            employeeModel.databaseAdmin = false;
            employeeModel.employeeAdmin = false;
            employeeModel.password = "******";
            employeeModel.orderAdmin = true;
            employeeModel.productAdmin = false;
            employeeModel.username = "";

            //Act
            var result = (ViewResult)controller.deleteEmployee(employeeModel);
            var resultModel = (EmployeeModel)result.Model;
            //Assert
            Assert.AreEqual(result.ViewName, "");
        }
Пример #18
0
 public abstract bool logToUser(string message, EmployeeModel model);
Пример #19
0
 public override bool logToUser(string message, EmployeeModel model)
 {
     if (message == "")
         return false;
     return true;
 }
        public ActionResult deleteEmployee(EmployeeModel employee)
        {
            Session["cantDelete"] = null;
            Session["noUser"] = null;
            Session["isDeleted"] = null;
            var user = _employeeBLL.find(employee.employeeID);
            if (user == null) //sjekker om bruker finnes
            {
                Session["noUser"] = "******";
                return View();
            }
            if(user.username.Equals(Session["username"])) //Sjekker om det er en selv
            {
                Session["cantDelete"] = "Ikke lov å slette seg selv fra ansatte";
                return View();
            }
            if(user.employeeAdmin && user.customerAdmin && user.productAdmin && user.orderAdmin && user.databaseAdmin)
            {
                Session["cantDelete"] = "Du kan ikke slette en hovedadministrator fra systemet. Personen har alle rettigheter.";
                return View();
            }

            bool deleted = _employeeBLL.delete(user.employeeID);
            if (deleted)
            {
                StringBuilder sb = new StringBuilder();
                sb.Append("Du har nå fjernet: ");
                sb.Append(user.firstName);
                sb.Append(" ");
                sb.Append(user.lastName);
                sb.Append("\n med Brukernavn: ");
                sb.Append(user.username);
                Session["isDeleted"] = sb.ToString();
                _loggingBLL.logToUser("Slettet ansatt: " + employee.username, (EmployeeModel)Session["Employee"]);
                return View();
            }
            Session["cantDelete"] = "Kunne ikke slette brukeren!";
            _loggingBLL.logToDatabase("FEIL: Kunne ikke slette ansatt: " + employee.username);
            return View();
        }
 public void createEmployeeTestEmployeeAddFail()
 {
     //Arrange
     var context = new Mock<ControllerContext>();
     var session = new Mock<HttpSessionStateBase>();
     context.Setup(m => m.HttpContext.Session).Returns(session.Object);
     var controller = new AdminEmployeeController(new EmployeeBLL(new EmployeeDALStub()), new UserBLL(new UserDALStub()), new LoggingBLL(new LoggingDALStub()));
     controller.ControllerContext = context.Object;
     var employeeModel = new EmployeeModel();
     employeeModel.employeeID = 1;
     employeeModel.firstName = "";
     employeeModel.lastName = "Nordmann";
     employeeModel.phone = "12345678";
     employeeModel.orderAdmin = true;
     employeeModel.customerAdmin = false;
     employeeModel.databaseAdmin = false;
     employeeModel.employeeAdmin = false;
     employeeModel.password = "******";
     employeeModel.productAdmin = false;
     employeeModel.username = "";
     //Act
     var result = (ViewResult)controller.createEmployee(employeeModel);
     var resultModel = (EmployeeModel)result.Model;
     //Assert
     Assert.AreEqual(result.ViewName, "");
     Assert.AreEqual(employeeModel.firstName, resultModel.firstName);
     Assert.AreEqual(employeeModel.customerAdmin, resultModel.customerAdmin);
     Assert.AreEqual(employeeModel.databaseAdmin, resultModel.databaseAdmin);
     Assert.AreEqual(employeeModel.employeeAdmin, resultModel.employeeAdmin);
     Assert.AreEqual(employeeModel.employeeID, resultModel.employeeID);
     Assert.AreEqual(employeeModel.lastName, resultModel.lastName);
     Assert.AreEqual(employeeModel.orderAdmin, resultModel.orderAdmin);
     Assert.AreEqual(employeeModel.password, resultModel.password);
     Assert.AreEqual(employeeModel.phone, resultModel.phone);
     Assert.AreEqual(employeeModel.username, resultModel.username);
 }
Пример #22
0
 //Legger employee inn i datatbasen
 public bool add(EmployeeModel employeeModel)
 {
     return _employeeDAL.add(employeeModel);
 }