private void Remove_Click(object sender, EventArgs e, string data, string id)
        {
            var confirmResult = MessageBox.Show("Are you sure you want to remove " + data + "?",
                                                "Confirm Delete",
                                                MessageBoxButtons.YesNo);

            if (confirmResult == DialogResult.Yes)
            {
                UserController ucontroller = new UserController();
                try
                {
                    int gotId = ucontroller.GetIdByAcademicId(id);
                    Console.WriteLine("deleting number: " + gotId);
                    SectionStudentController sscontroller = new SectionStudentController();
                    try
                    {
                        foreach (ClassModel Class in classList)
                        {
                            AttendanceController attendanceController = new AttendanceController();
                            attendanceController.DeleteAllByStudentInSection(gotId, section.Id);
                        }
                        sscontroller.Remove(section.Id, gotId);
                        MessageBox.Show("Removed!" + data);
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }
        private void DataGridViewStudentList_CellEndEdit(object sender, DataGridViewCellEventArgs e)
        {
            if (e.ColumnIndex > 1)
            {
                int stuId   = studentList[e.RowIndex].Id;
                int classId = classList[e.ColumnIndex - 2].Id;
                int entry   = 0;
                if (dataGridViewStudentList.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString() == "l" || dataGridViewStudentList.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString() == "L")
                {
                    entry = 2;
                }
                else if (dataGridViewStudentList.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString() == "1")
                {
                    entry = 1;
                }
                //Console.WriteLine("Changed entry of " + stuId + " on " + classId + " to " + entry);

                AttendanceController attendanceController = new AttendanceController();
                try
                {
                    attendanceController.UpdateManualByStudentIdAndClassIdAndEntry(stuId, classId, entry);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }
Example #3
0
        public async Task AttendanceControllerPostEdit()
        {
            var data  = new AttendanceApiDataHandler();
            var model = AttendanceData.GetFirst();

            data.Result.Setup(m => m.Execute(It.IsAny <Loader <Attendance> >())).Returns(model);
            data.Result.Setup(m => m.Execute(It.IsAny <Persist <Attendance> >())).Returns(model);

            var controller = new AttendanceController(data, Logic)
            {
                CurrentUser = StandardUser
            };
            var viewModel = controller.Mapper.Map <AttendanceViewModel>(model);

            var result = await controller.Post(viewModel) as OkObjectResult;

            result.Should().NotBeNull();
            result.Should().BeOfType <OkObjectResult>();
            result.Value.Should().NotBeNull();

            var check = result.Value as ConfirmViewModel;

            check.Identity.Should().Be(model.Id);

            data.HasExecuted.Should().BeTrue();
            data.HasCommitted.Should().BeTrue();
            data.Result.Verify(s => s.Execute(It.IsAny <Loader <Attendance> >()), Times.AtLeastOnce);
            data.Result.Verify(s => s.Execute(It.IsAny <Persist <Attendance> >()), Times.Once());
        }
Example #4
0
        public async Task AttendanceControllerGetAdmin()
        {
            var data   = new AttendanceApiDataHandler();
            var master = UserData.GetFirstProfile();
            var model  = AttendanceData.GetFirst();

            data.ResultParticipants = new List <ResultProfile>()
            {
                master
            };

            data.Result.Setup(m => m.Execute(It.IsAny <AttendanceById>())).Returns(model);

            var controller = new AttendanceController(data, Logic)
            {
                CurrentUser = AdminUser
            };
            var result = await controller.Get(AttendanceData.FirstId) as OkObjectResult;

            result.Should().NotBeNull();
            result.Should().BeOfType <OkObjectResult>();

            var viewModel = result.Value as AttendanceViewModel;

            viewModel.Id.Should().Be(model.Id);
            viewModel.Name.Should().Be(model.Name);
            viewModel.AttendedWhen.Should().Be(model.AttendedWhen);

            data.HasExecuted.Should().BeTrue();
            data.Result.Verify(s => s.Execute(It.IsAny <Loader <Attendance> >()), Times.Once());
        }
Example #5
0
        public async Task AttendanceControllerPostAdd()
        {
            var data  = new AttendanceApiDataHandler();
            var model = AttendanceData.GetFirst();

            data.Result.Setup(m => m.Execute(It.IsAny <Persist <Attendance> >())).Returns(model);

            var controller = new AttendanceController(data, Logic)
            {
                CurrentUser = AdminUser
            };
            var viewModel = controller.Mapper.Map <AttendanceViewModel>(model);

            viewModel.Id = string.Empty;

            var result = await controller.Post(viewModel) as OkObjectResult;

            result.Should().NotBeNull();
            result.Should().BeOfType <OkObjectResult>();
            result.Value.Should().NotBeNull();

            var check = result.Value as ConfirmViewModel;

            check.Identity.Should().Be(model.Id);

            viewModel.Participants.Count().Should().Be(0);
            viewModel.CanAttend.Should().BeFalse();

            data.HasExecuted.Should().BeTrue();
            data.HasCommitted.Should().BeTrue();
            data.Result.Verify(s => s.Execute(It.IsAny <Loader <Attendance> >()), Times.Never);
            data.Result.Verify(s => s.Execute(It.IsAny <Persist <Attendance> >()), Times.Once());
        }
Example #6
0
        public async Task AttendanceControllerFilter()
        {
            var data = new AttendanceApiDataHandler();
            var list = new List <AttendanceDisplay> {
                AttendanceData.GetFirstDisplay(false)
            };
            var filter = new AttendanceFilter {
                TenantRestrict = true
            };

            data.Result.Setup(m => m.Execute(It.IsAny <AttendanceDisplayByFilter>())).Returns(list);

            var controller = new AttendanceController(data, Logic)
            {
                CurrentUser = StandardUser
            };
            var result = await controller.Filter(filter) as OkObjectResult;

            result.Should().NotBeNull();
            result.Should().BeOfType <OkObjectResult>();
            result.Value.Should().NotBeNull();

            var check = result.Value as PagedResult <IEnumerable <AttendanceDisplay> >;

            check.Should().NotBeNull();
            check.Data.Count().Should().Be(list.Count);

            Assert.That(check.Data, Is.DeepEqualTo(list));

            data.HasExecuted.Should().BeTrue();
            data.Result.Verify(s => s.Execute(It.IsAny <AttendanceDisplayByFilter>()), Times.Once());
        }
        private void buttonDelete_Click(object sender, EventArgs e)
        {
            DialogResult dialogResult = MessageBox.Show("Are you sure you want to delete " + section.SectionName + "? Student list, classes and attendance data of this section will be permanently deleted", "Confirmation", MessageBoxButtons.YesNo);

            if (dialogResult == DialogResult.Yes)
            {
                SectionController        scontroller  = new SectionController();
                SectionTimeController    stcontroller = new SectionTimeController();
                SectionStudentController sscontroller = new SectionStudentController();
                try
                {
                    ClassController      ccontroller = new ClassController();
                    List <ClassModel>    classList   = ccontroller.GetBySectionId(section.Id);
                    AttendanceController acontroller = new AttendanceController();

                    foreach (ClassModel Class in classList)
                    {
                        acontroller.DeleteAllByClass(Class.Id);
                    }

                    ccontroller.DeleteAllBySection(section.Id);
                    sscontroller.RemoveAllBySection(section.Id);
                    stcontroller.RemoveAllBySection(section.Id);
                    scontroller.Delete(section);
                    MessageBox.Show("Deleted!");
                    buttonBack.PerformClick();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }
Example #8
0
        public AttendanceForm(SchoolClass schoolClass)
        {
            this.schoolClass = schoolClass;
            InitializeComponent();

            controller = new AttendanceController();
        }
Example #9
0
 protected void btnSendAttendanceMail_Click(object sender, EventArgs e)
 {
     try
     {
         int Code = new AttendanceController().VerifyAttendanceCode(GroupID, DateTime.UtcNow.AddHours(5.5).Date);
         if (Code > 0 && Code == Convert.ToInt32(txtAttendanceCode.Text))
         {
             User   u = new UserController().GetUser(Context.User.Identity.Name);
             string DeviceIDOrName = string.Empty;
             try
             {
                 DeviceIDOrName = Dns.GetHostEntry(Request.ServerVariables["REMOTE_HOST"]).HostName;
             }
             catch
             {
             }
             new AttendanceController().UpdateMemberAttendance(u.UserID, GroupID, DateTime.UtcNow.AddHours(5.5).Date, "Present", 1, DateTime.UtcNow.AddHours(5.5).ToShortTimeString(), "Web", DeviceIDOrName, DeviceIDOrName, "Self");
             General.ShowAlertMessage("Thank you!\r\n Your attendance is saved.");
             lblError.Text                 = "Thank you! Your attendance is saved.";
             lblError.ForeColor            = System.Drawing.Color.Green;
             btnSendAttendanceMail.Visible = false;
             btnSendAttendanceMail.Enabled = false;
         }
         else
         {
             General.ShowAlertMessage("Please check the code you have entered!");
             lblError.Text      = "Please check the code you have entered!";
             lblError.ForeColor = System.Drawing.Color.Red;
         }
     }
     catch (Exception ex)
     {
         General.ShowAlertMessage("Something is not right, Please try again later!");
     }
 }
Example #10
0
        public List <Catalogo> ObtenerCatalogoNomina()
        {
            List <Catalogo>      Nomina     = new List <Catalogo>();
            AttendanceController Controller = new AttendanceController();

            Nomina = Controller.CatalogoNomina();
            return(Nomina);
        }
Example #11
0
        public List <Horario> ObtenerListaHorarios()
        {
            List <Horario>       Response   = new List <Horario>();
            AttendanceController Controller = new AttendanceController();

            Response = Controller.ListaHorarios();
            return(Response);
        }
Example #12
0
        public EmpleadosAttendance ObtenerListaEmpleados(String NombreEmpleado)
        {
            EmpleadosAttendance  Response   = new EmpleadosAttendance();
            AttendanceController Controller = new AttendanceController();

            Response.Empleados = Controller.ListaEmpleados(NombreEmpleado);
            return(Response);
        }
Example #13
0
        public DeviceEmployeer ConsultaEmpleadoEnReloj(int idEmpleado, int Dispositivo)
        {
            DeviceEmployeer      Empleado   = new DeviceEmployeer();
            AttendanceController Controller = new AttendanceController();

            Empleado = Controller.ConsultaEmpleadoEnDispositivo(idEmpleado, Dispositivo);
            return(Empleado);
        }
Example #14
0
        public List <Catalogo> ObtenerCatalogoHorarios()
        {
            List <Catalogo>      Horarios   = new List <Catalogo>();
            AttendanceController Controller = new AttendanceController();

            Horarios = Controller.CatalogoHorarios();
            return(Horarios);
        }
Example #15
0
        public List <Catalogo> ObtenerCatalogoEmpleados()
        {
            List <Catalogo>      Empleados  = new List <Catalogo>();
            AttendanceController Controller = new AttendanceController();

            Empleados = Controller.CatalogoEmpleados();
            return(Empleados);
        }
Example #16
0
        public EliminaHorarioResponse EliminaHorario(int HorarioId)
        {
            EliminaHorarioResponse Response   = new EliminaHorarioResponse();
            AttendanceController   Controller = new AttendanceController();

            Response = Controller.EliminaHorario(HorarioId);
            return(Response);
        }
Example #17
0
        public bool ActualizaHorario(AltaHorarioRequest Request)
        {
            bool Response = false;
            AttendanceController Controller = new AttendanceController();

            Response = Controller.ActualizaHorario(Request.horario, Request.Usuario);
            return(Response);
        }
 public AttendanceControllerTest()
 {
     _dummyContext      = new DummyApplicationDbContext();
     _sessionRepository = new Mock <ISessionRepository>();
     _memberRepository  = new Mock <IMemberRepository>();
     _controller        = new AttendanceController(_sessionRepository.Object, _memberRepository.Object)
     {
         TempData = new Mock <ITempDataDictionary>().Object
     };
 }
 protected void btnSendAttendanceMail_Click(object sender, EventArgs e)
 {
     try
     {
         DateTime AttendanceDate = DateTime.UtcNow.AddHours(5.5).Date;
         int      AttChk         = new AttendanceController().CheckMemberAttendance(GroupID, AttendanceDate);
         if (AttChk == 0)
         {
             IList <User> Members = new UserController().GetUserListGroup(GroupID);
             if (Members.Count > 0)
             {
                 foreach (User member in Members)
                 {
                     MemberAttendance ma = new MemberAttendance();
                     ma.AttendanceDate   = AttendanceDate;
                     ma.AttendanceStatus = "Absent";
                     ma.AttendanceTime   = DateTime.UtcNow.AddHours(5.5).ToShortTimeString();
                     ma.ClientID         = member.ClientID;
                     ma.CreateDate       = DateTime.UtcNow.AddHours(5.5);
                     ma.Device           = "Web";
                     ma.DeviceIDOrName   = string.Empty;
                     ma.DeviceLocation   = txtLatLong.Text;
                     ma.GroupID          = GroupID;
                     ma.Session          = General.GetCurrentSession;
                     ma.UDF1             = "0";
                     ma.UDF2             = member.FirstName;
                     ma.UDF3             = "Admin";
                     ma.UserID           = member.UserID;
                     new AttendanceController().CreateMemberAttendance(ma);
                 }
             }
         }
         User   u = new UserController().GetUser(Context.User.Identity.Name);
         string DeviceIDOrName = string.Empty;
         try
         {
             DeviceIDOrName = Dns.GetHostEntry(Request.ServerVariables["REMOTE_HOST"]).HostName;
         }
         catch
         {
         }
         new AttendanceController().UpdateMemberAttendance(u.UserID, GroupID, DateTime.UtcNow.AddHours(5.5).Date, "Present", 1, DateTime.UtcNow.AddHours(5.5).ToShortTimeString(), "Web", DeviceIDOrName, txtLatLong.Text, "Self");
         General.ShowAlertMessage("Thank you!\r\n Your attendance is saved.");
         lblError.Text                 = "Thank you! Your attendance is saved.";
         lblError.ForeColor            = System.Drawing.Color.Green;
         btnSendAttendanceMail.Visible = false;
         btnSendAttendanceMail.Enabled = false;
     }
     catch (Exception ex)
     {
         lblError.Text = "Something is not right, Please try again later!";
         General.ShowAlertMessage("Something is not right, Please try again later!");
     }
 }
Example #20
0
        public List <ReporteIncidencia> ObtenerReporteIncidencias(int NumeroEmpleado,
                                                                  string NombreEmpleado,
                                                                  string Compania,
                                                                  string Nomina,
                                                                  DateTime FechaInicio,
                                                                  DateTime FechaFin)
        {
            AttendanceController Controller = new AttendanceController();

            return(Controller.ObtenerReporteIncidencias(NumeroEmpleado, NombreEmpleado, Compania, Nomina, FechaInicio, FechaFin));
        }
Example #21
0
        private void loadAttendanceHistory()
        {
            EmployeeControllerInterface employeeController = new EmployeeController();
            Employee employee = employeeController.fetchEmployeeByUsername(user.username);
            AttendanceControllerInterface attendanceController = new AttendanceController();
            List <Attendance>             attendanceSheet      = attendanceController.fetchEmployeeAttendance(employee);

            attendanceListBox.Items.Clear();
            foreach (Attendance attendance in attendanceSheet)
            {
                string timeOutString = attendance.timeOut.ToString("MM/dd/yyyy").Equals("01/01/0001") ? "Missed Clocked Out" : attendance.timeOut.ToString();
                attendanceListBox.Items.Add(attendance.id + ".)" + attendance.timeIn.ToString() + " | " + timeOutString);
            }
        }
Example #22
0
        public UsuarioResponse ValidaUsuario(UsuarioRequest Request)
        {
            UsuarioResponse      Response   = new UsuarioResponse();
            Usuario              Entidad    = new Usuario();
            AttendanceController Controller = new AttendanceController();

            Entidad          = Controller.ValidaUsuario(Request.NombreUsuario, Request.Password);
            Response.usuario = Entidad;
            if (Response.usuario.idUsuario > 0)
            {
                Response.UsuarioValido = true;
            }
            return(Response);
        }
Example #23
0
        protected void gvClassLevel_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "ViewDetails")
            {
                LinkButton LinkSchool = e.CommandSource as LinkButton;
                gvStudentAttendance.DataSource = null;
                gvStudentAttendance.DataBind();

                litClass.Text = LinkSchool.Text;

                IList <MemberAttendance> Att = new AttendanceController().GetMemberAttendances(Convert.ToInt32(e.CommandArgument), Convert.ToDateTime(txtDate.Text));
                gvStudentAttendance.DataSource = Att;
                gvStudentAttendance.DataBind();
            }
        }
Example #24
0
        private void timeOutButton_Click(object sender, EventArgs e)
        {
            long employeeNumber = 0;

            try
            {
                employeeNumber = Convert.ToInt64(employeeIdNumber.Text);
            }
            catch (FormatException ex)
            {
                Console.WriteLine("error log:" + ex.Message);
                //username = employeeIdNumber.Text;
                showErrorMessage("Please Input a valid employee ID number.");
                return;
            }

            EmployeeControllerInterface employeeController = new EmployeeController();
            Employee employee = employeeController.fetchEmployeeByEmployeeIdNumber(employeeNumber);

            if (employee == null || employee.Equals(""))
            {
                showErrorMessage("Employee ID number does not exist.");
                return;
            }
            else
            {
                errorMessageLabel.Visible = false;
                AttendanceControllerInterface attendanceController = new AttendanceController();
                DateTime   currentDate = DateTime.Now;
                Attendance attendance  = attendanceController.fetchEmployeeAttendanceByDate(employee, currentDate);
                if (attendance != null && !attendance.ToString().Equals("") && attendance.timeOut != null && !attendance.timeOut.ToString().Equals("") && attendance.timeOut.ToString("MM/dd/yyyy").Equals(DateTime.Now.Date.ToString("MM/dd/yyyy")))
                {
                    showErrorMessage("User was already logged-out on " + attendance.timeOut);
                    return;
                }
                else if (attendance == null)
                {
                    showErrorMessage("User is not yet logged in.");
                    return;
                }
                attendance.employee = employee;
                attendance.timeOut  = currentDate;
                attendanceController.updateEmployeeAttendance(attendance);
            }
        }
Example #25
0
        static void Main(string[] args)
        {
            InitializeConfig();
            InitializeDb();

            AttendanceController attendance = new AttendanceController();

            Meeting meeting = new Meeting
            {
                Name          = "Todays Meeting",
                Location      = "Here",
                StartDateTime = DateTime.Now.AddHours(2),
                EndDateTime   = DateTime.Now.AddHours(3)
            };
            var MeetingInsert = "INSERT INTO Meeting " +
                                "(Name, Location, StartDateTime, EndDateTime) " +
                                "VALUES " +
                                "(@Name, @Location, @StartDateTime, @EndDateTime)";

            using (db)
            {
                var newRows = db.Execute(MeetingInsert, new
                {
                    Name          = meeting.Name,
                    Location      = meeting.Location,
                    StartDateTime = meeting.StartDateTime,
                    EndDateTime   = meeting.EndDateTime
                });
            }

            var PersonQuery = "SELECT * FROM Person";

            using (db)
            {
                var people = db.Query <Person>(PersonQuery);

                foreach (Person p in people)
                {
                    attendance.Register(p, meeting);
                }
            }

            Console.WriteLine($"Total count of attendees is {attendance.Attendees.Count}.");
            Console.WriteLine($"Attendees must arrive by {meeting.StartDateTime}.");
        }
Example #26
0
        public async Task AttendanceControllerDisplayNull()
        {
            var data = new AttendanceApiDataHandler();

            data.Result.Setup(m => m.Execute(It.IsAny <AttendanceDisplayById>())).Returns(null);

            var controller = new AttendanceController(data, Logic)
            {
                CurrentUser = StandardUser
            };
            var result = await controller.Display(AttendanceData.FirstId) as NotFoundResult;

            result.Should().NotBeNull();
            result.Should().BeOfType <NotFoundResult>();

            data.HasExecuted.Should().BeTrue();
            data.Result.Verify(s => s.Execute(It.IsAny <AttendanceDisplayById>()), Times.Once());
        }
Example #27
0
        public async Task AttendanceControllerDisplayUnauthorized()
        {
            var data    = new AttendanceApiDataHandler();
            var display = AttendanceData.GetFirstDisplay(false);

            data.Result.Setup(m => m.Execute(It.IsAny <AttendanceDisplayById>())).Returns(display);

            var controller = new AttendanceController(data, Logic)
            {
                CurrentUser = NonTenantUser
            };
            var result = await controller.Display(AttendanceData.FirstId) as UnauthorizedResult;

            result.Should().NotBeNull();
            result.Should().BeOfType <UnauthorizedResult>();

            data.HasExecuted.Should().BeTrue();
            data.Result.Verify(s => s.Execute(It.IsAny <AttendanceDisplayById>()), Times.Once());
        }
Example #28
0
        public async Task AttendanceControllerGetUnauthorised()
        {
            var data  = new AttendanceApiDataHandler();
            var model = AttendanceData.GetFirst();

            data.Result.Setup(m => m.Execute(It.IsAny <Loader <Attendance> >())).Returns(model);

            var controller = new AttendanceController(data, Logic)
            {
                CurrentUser = NonTenantUser
            };
            var result = await controller.Get(AttendanceData.FirstId) as UnauthorizedResult;

            result.Should().NotBeNull();
            result.Should().BeOfType <UnauthorizedResult>();

            data.HasExecuted.Should().BeTrue();
            data.Result.Verify(s => s.Execute(It.IsAny <Loader <Attendance> >()), Times.Once());
        }
Example #29
0
        private void bindGvContacts()
        {
            IList <User> AdminList = new UserController().GetGroupAdmins(GroupID);
            IList <User> userList  = new UserController().GetUserListGroup(GroupID);

            // gvContacts.DataSource = userList.Where(ss => ss.UserID != Context.User.Identity.Name).OrderBy(dd => dd.Custom5);
            //gvContacts.DataBind();
            gvAttendance.Visible          = false;
            btnSendAttendanceMail.Visible = false;
            if (userList.Count > 0)
            {
                // btnDeleteRecord.Visible = true;
                btnSendAttendanceMail.Visible = true;
            }
            int chkAtt = new AttendanceController().CheckMemberAttendance(GroupID, DateTime.Now.Date);

            if (chkAtt > 0)
            {
                litAtt.Text = "2";
            }
            if (userList.Count < 300 && isAdmin == true && litAtt.Text != "2")
            {
                var Students = userList.Where(o => !AdminList.Any(n => n.UserID == o.UserID)).ToList();


                gvAttendance.DataSource = Students;// userList.Where(ss => ss.UserID != Context.User.Identity.Name);//.Where(ss => ss.IsLockedOut == false);
                gvAttendance.DataBind();
                gvAttendance.Visible          = true;
                btnSendAttendanceMail.Visible = true;
                if (userList.Count > 10)
                {
                    pnlAttendance.Height     = Unit.Pixel(510);
                    pnlAttendance.ScrollBars = ScrollBars.Vertical;
                }
            }
            else
            {
                lblError.Text                 = "Not valid!";
                gvAttendance.Visible          = false;
                btnSendAttendanceMail.Visible = false;
            }
        }
Example #30
0
        private void loadUserCurrentAttendance()
        {
            EmployeeControllerInterface employeeController = new EmployeeController();
            Employee employee = employeeController.fetchEmployeeByUsername(user.username);
            AttendanceControllerInterface attendanceController = new AttendanceController();
            Attendance attendance = attendanceController.fetchEmployeeAttendanceByDate(employee, DateTime.Now);

            if (attendance != null && !attendance.Equals(""))
            {
                clockedIn.Text  = attendance.timeIn.ToString();
                clockedOut.Text = attendance.timeOut.ToString("MM/dd/yyyy").Equals("01/01/0001") ? "N/A" : attendance.timeOut.ToString();
                DateTime timeToClockOut = calculateTimeToClockOut(attendance.timeIn);
                validClockOut.Text = timeToClockOut.ToString();
            }
            else
            {
                clockedIn.Text     = "Not yet clocked in.";
                clockedOut.Text    = "N/A";
                validClockOut.Text = "N/A";
            }
        }
 public static AttendanceController Fixture()
 {
     AttendanceController controller = new AttendanceController(new AttendanceRepository(), "", new LoginView());
     return controller;
 }