Exemplo n.º 1
0
        public async Task ChangeAttendance(string attendanceStatus, string studentid, string coursename, string date)
        {
            DateTime Date      = Convert.ToDateTime(date);
            int      StudentId = Int32.Parse(studentid);

            Attendance = await _context.Attendance
                         .Where(a => a.Date == Date).Where(a => a.StudentID == StudentId).Where(a => a.CourseName == coursename).FirstOrDefaultAsync();

            if (attendanceStatus == "Attended")
            {
                Attendance.AttendanceStatusID = 1;
            }
            else if (attendanceStatus == "Late")
            {
                Attendance.AttendanceStatusID = 2;
            }
            if (attendanceStatus == "Absent")
            {
                Attendance.AttendanceStatusID = 3;
            }

            _context.Attach(Attendance).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
            }

            await Clients.Client(Context.ConnectionId).SendAsync("AttendanceChanged", "Success");
        }
Exemplo n.º 2
0
 //[ValidateAntiForgeryToken]
 public ActionResult DeleteConfirmed(int id)
 {
     Models.Attendance attendance = db.Attendances.Find(id);
     db.Attendances.Remove(attendance);
     db.SaveChanges();
     return(RedirectToAction("Index"));
 }
        public async Task <int> Add([FromBody] Models.Attendance obj, int id)
        {
            var bll_event = eventBusiness;
            var bll_a     = attendanceBusiness;
            var bll_ft    = firstTimerBusiness;
            var user      = HttpContext.Items["EndUser"] as EF.EndUser;

            if (!await bll_event.IsSelectedIdsOk(new int[] { id }, user))
            {
                throw new ArgumentException("Event Id is invalid.");
            }

            var attendanceid = await bll_a.Add(new EF.Attendance {
                EventId = id, MemberId = obj.MemberId.Value, DateTimeLogged = obj.DateTimeLogged ?? DateTime.Now
            });

            await bll_ft.ValidateThenAdd(new EF.FirstTimer {
                AttendanceId = attendanceid
            });

            await _hubContext.Clients.Group(id.ToString()).AttendanceBroadcast(new Models.Attendance {
                MemberId = obj.MemberId, EventId = id, DateTimeLogged = obj.DateTimeLogged ?? DateTime.Now
            });

            return(attendanceid);
        }
Exemplo n.º 4
0
        //[ValidateAntiForgeryToken]
        public ActionResult Create([Bind(Include = "Id,EmployeeId,JobId,StartDateTime,EndDateTime")] Models.Attendance attendance)
        {
            if (ModelState.IsValid)
            {
                db.Attendances.Add(attendance);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            int brigadeId = Helpers.Brigade.CurrentBrigade().Value;

            ViewBag.Employees = new SelectList(db.Employees.Where(e => e.BrigadeId == brigadeId).OrderBy(e => e.Name), "Id", "Name");
            ViewBag.Jobs      = new SelectList(db.Jobs.Where(j => j.BrigadeId == brigadeId).OrderBy(j => j.Description), "Id", "Description");
            return(View(attendance));
        }
Exemplo n.º 5
0
        // GET: Attendance/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            Models.Attendance attendance = db.Attendances.Find(id);
            if (attendance == null)
            {
                return(HttpNotFound());
            }

            return(View(attendance));
        }
Exemplo n.º 6
0
        // GET: Attendance/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            Models.Attendance attendance = db.Attendances.Find(id);
            if (attendance == null)
            {
                return(HttpNotFound());
            }

            int brigadeId = Helpers.Brigade.CurrentBrigade().Value;

            ViewBag.Employees = new SelectList(db.Employees.Where(e => e.BrigadeId == brigadeId).OrderBy(e => e.Name), "Id", "Name");
            ViewBag.Jobs      = new SelectList(db.Jobs.Where(j => j.BrigadeId == brigadeId).OrderBy(j => j.Description), "Id", "Description");
            return(View(attendance));
        }
Exemplo n.º 7
0
 private void button1_Click(object sender, EventArgs e)
 {
     if (textBox1.Text.Any() && textBox2.Text.Any())
     {
         String username = textBox1.Text;
         String password = Models.Employee.GetHashString(textBox2.Text);
         List <Models.Employee> employees = Models.Employee.Find("username='******' AND password='******'");
         if (employees.Any())
         {
             if (!Models.Attendance.Find("employeeId=" + employees[0].ID + " AND dateTime >= '" + DateTime.Today.Date + "'::date AND dateTime < ('" + DateTime.Today.Date + "'::date + '1 day'::interval) ").Any())
             {
                 Models.Attendance task = new Models.Attendance();
                 task.employeeId = employees[0].ID;
                 task.dateTime   = DateTime.Today;
                 Models.Attendance.Create(task);
                 MessageBox.Show("Welcome " + employees[0].fullName);
                 textBox1.Clear();
                 textBox2.Clear();
             }
             else
             {
                 MessageBox.Show("Already Signed in!!");
                 textBox1.Clear();
                 textBox2.Clear();
             }
         }
         else
         {
             MessageBox.Show("Employee Not Found");
         }
     }
     else
     {
         MessageBox.Show("Please Fill All Required Fields");
     }
 }
 public ViewAttendancePage(Models.Attendance attendance)
 {
     InitializeComponent();
     BindingContext = new ViewAttendanceViewModel(Navigation, attendance);
 }
Exemplo n.º 9
0
 public PresentStudents(Models.Attendance attendance)
 {
     InitializeComponent();
     BindingContext = new PresentStudentsViewModel(attendance);
 }
        public async Task OnPostImport(IFormFile postedFile)
        {
            if (postedFile != null)
            {
                using (ExcelPackage package = new ExcelPackage(postedFile.OpenReadStream()))
                {
                    ExcelWorksheet worksheet = package.Workbook.Worksheets[0];
                    int            colCount  = worksheet.Dimension.End.Column; //get Column Count
                    int            rowCount  = worksheet.Dimension.End.Row;    //get row count
                    bool           endOfFile = false;

                    for (int row = 6; row <= rowCount; row++)
                    {
                        int               StudentID          = 0;
                        DateTime          Date               = new DateTime();
                        DateTime          TimeIn             = new DateTime();
                        string            CourseName         = "";
                        int               AttendanceStatusID = 1;
                        Models.Attendance tempAttendance     = new Models.Attendance();

                        for (int col = 1; col <= colCount; col++)
                        {
                            //string currentThing = " Row:" + row + " column:" + col + " Value:" + worksheet.Cells[row, col].Value?.ToString().Trim();

                            if (col == 1)
                            {
                                if (worksheet.Cells[row, col].Value == null)
                                {
                                    endOfFile = true;
                                    break;
                                }
                                StudentID = Int32.Parse(worksheet.Cells[row, col].Value?.ToString().Trim());
                            }
                            else if (col == 3)
                            {
                                CourseName = worksheet.Cells[row, col].Value?.ToString().Trim();
                            }
                            else if (col == 4)
                            {
                                Date = DateTime.Parse(worksheet.Cells[row, col].Value?.ToString().Trim());
                            }
                            else if (col == 6)
                            {
                                string tempDate = worksheet.Cells[row, col].Value?.ToString().Trim();
                                if (tempDate == "Missed")
                                {
                                    AttendanceStatusID = 3;
                                }
                                else
                                {
                                    TimeIn             = Convert.ToDateTime(tempDate);
                                    AttendanceStatusID = 1;
                                }
                            }
                        }
                        if (!endOfFile)
                        {
                            tempAttendance.StudentID  = StudentID;
                            tempAttendance.Date       = Date;
                            tempAttendance.CourseName = CourseName;

                            if (AttendanceStatusID == 1)
                            {
                                tempAttendance.TimeIn = TimeIn;
                            }

                            tempAttendance.AttendanceStatusID = AttendanceStatusID;

                            try
                            {
                                _context.Attendance.Add(tempAttendance);
                                await _context.SaveChangesAsync();
                            }
                            catch (DbUpdateException)
                            {
                                errorMessage = true;
                            }
                        }
                    }
                }
            }
            var    claimsIdentity = (ClaimsIdentity)User.Identity;
            var    claim          = claimsIdentity.FindFirst(ClaimTypes.NameIdentifier);
            string userId         = claim.Value;

            Course = await _context.Course
                     .ToListAsync();

            Class = await _context.Class.Include(c => c.Course).Include(c => c.Term).Where(u => u.ClassID == -1).ToListAsync();

            IList <ClassInstructor> Classes = await _context.ClassInstructor
                                              .Include(c => c.Class)
                                              .Where(u => u.UserID == userId)
                                              .ToListAsync();

            //Class = new IList<Class>();
            for (int i = 0; i < Classes.Count; i++)
            {
                Class.Add(await _context.Class
                          .Include(c => c.Course)
                          .Include(c => c.Term)
                          .Where(c => c.ClassID == Classes[i].ClassID).FirstOrDefaultAsync());
            }

            //get the last entered attendance for classes
            LastEnteredAttendance = await _context.Attendance
                                    .OrderByDescending(d => d.Date)
                                    .GroupBy(c => c.CourseName)
                                    .Select(c => c.First())
                                    .ToListAsync();
        }