Beispiel #1
0
 public AttendenceView(Employee employee, AttendanceViewModel vm, int runmode = 0)
 {
     runMode   = runmode;
     _vm       = vm;
     _employee = employee;
     InitializeComponent();
 }
        public ActionResult CheckIn()
        {
            AttendanceViewModel vm = new AttendanceViewModel();
            string email           = User.Identity.Name;

            var      userdetail  = db.Users.Where(u => u.email == email).SingleOrDefault();
            var      checkindate = DateTime.Now;
            var      currentday  = DateTime.Now;
            var      date        = currentday.Date;
            var      userid      = userdetail.userid;
            DateTime todayDate   = Convert.ToDateTime(DateTime.Now);

            var hasloggedintoday = db.Userlogs.Any(u => u.checkeddate == date && u.userid == userid);

            if (!hasloggedintoday)
            {
                Userlog ul = new Userlog
                {
                    checkeddate = date,
                    logintime   = checkindate,
                    userid      = userdetail.userid
                };

                db.Userlogs.Add(ul);
                db.SaveChanges();
            }

            return(RedirectToAction("Index"));
        }
Beispiel #3
0
        public async Task <IActionResult> StudentAttendanceConfirmed(AttendanceViewModel attended)
        {
            var days = await _context.Meetings.ToListAsync();

            var students = await _context.Students.ToListAsync();

            var meetings = days.OrderBy(d => d.MeetingDay);

            ViewData["MeetingList"] = meetings;

            var studentsSorted = students.OrderBy(s => s.LastName);

            ViewData["StudentList"] = studentsSorted;

            var student = students.Where(s => s.ID == attended.StudentID).First();
            var meeting = meetings.Where(m => m.ID == attended.MeetingID).First();

            student.Present += 1;

            StudentAttendanceConfirmedViewModel vm = new StudentAttendanceConfirmedViewModel
            {
                StudentName  = student.LastName + ", " + student.FirstName,
                DateAttended = meeting.MeetingDay
            };

            return(View(vm));
        }
        public ActionResult Add()
        {
            List <MemberViewModel> lstmemvm = new List <MemberViewModel>();

            var users = db.tblUsers.ToList();

            foreach (var item in users)
            {
                tblMembership tbm = db.tblMemberships.Where(m => m.UserId == item.UserId).FirstOrDefault();
                if (tbm != null)
                {
                    lstmemvm.Add(new MemberViewModel()
                    {
                        MemberId = tbm.MembershipId, Fullname = item.Fullname
                    });
                }
            }
            ViewBag.Fullname = lstmemvm;
            AttendanceViewModel atvm = new AttendanceViewModel();
            string todate            = DateTime.Now.ToString("MM/dd/yyyy");

            atvm.AttendanceDate = Convert.ToDateTime(todate);

            return(View(atvm));
        }
Beispiel #5
0
        public IActionResult Index(DateTime date, int subjectId = -1)
        {
            var teacherSubjects = context.TeacherSubject.Where(x => x.TeacherId == User.GetUserId()).Select(x => new Subject
            {
                SubjectId = x.SubjectId,
                Name      = x.Subject.Name
            }).ToList();

            var attendances = new List <StudentAttendanceViewModel>();

            if (subjectId != -1)
            {
                attendances = context.Attendances.Where(x => x.SubjectId == subjectId && x.Stamp.Date == date.Date && x.TeacherId == User.GetUserId()).Select(x => new StudentAttendanceViewModel
                {
                    Name         = x.Student.FirstName + " " + x.Student.LastName,
                    RollNo       = x.Student.RollNo,
                    IsAbsent     = x.IsAbsent,
                    Reason       = x.Reason,
                    Stamp        = x.Stamp,
                    TotalAbsents = context.Attendances.Where(y => y.StudentId == x.StudentId && y.IsAbsent).Count()
                }).ToList();
            }

            var view = new AttendanceViewModel()
            {
                Subjects    = teacherSubjects,
                Attendances = attendances
            };

            return(View(view));
        }
Beispiel #6
0
        public async Task <IActionResult> History(AttendanceFilter filterModel)
        {
            var viewModel = new AttendanceViewModel();

            if (string.IsNullOrEmpty(filterModel.StartDate))
            {
                filterModel.StartDate = DateTime.Today.AddDays(-10).ToString("yyyy/MM/dd");
            }

            if (string.IsNullOrEmpty(filterModel.EndDate))
            {
                filterModel.EndDate = DateTime.Today.ToString("yyyy/MM/dd");
            }

            var image = await _employeeImageService.GetByEmployeeId(filterModel.EmployeeId);

            if (image != null)
            {
                var imageBase64Data = Convert.ToBase64String(image.Images);
                viewModel.ProfileImage = string.Format("data:image/png;base64,{0}", imageBase64Data);
            }

            if (!string.IsNullOrEmpty(filterModel.EmployeeId))
            {
                var employee = await _employeeService.GetByEmployeeIdWithDetailAsync(filterModel.EmployeeId);

                var attendances = await _attendanceService.GetHistoryAsync(filterModel);

                viewModel.Employee    = employee;
                viewModel.Attendances = attendances;
            }

            return(View(viewModel));
        }
Beispiel #7
0
        public async Task <IActionResult> Absent(AttendanceFilter filterModel)
        {
            var viewModel = new AttendanceViewModel();

            if (string.IsNullOrEmpty(filterModel.AttendanceDate))
            {
                filterModel.AttendanceDate = DateTime.Today.ToString("yyyy/MM/dd");
                filterModel.Shifts         = new List <int> {
                    1, 2
                };
            }

            viewModel.Attendances = await _attendanceService.GetAbsentAsync(filterModel);

            viewModel.Departments = await _employeeDetailService.GetDepartments();

            viewModel.Shifts = await _employeeDetailService.GetShifts();

            viewModel.Positions = await _employeeDetailService.GetPositions();

            if (filterModel.DepartmentId.HasValue)
            {
                viewModel.Sections = await _employeeDetailService.GetSectionsByDepartmentId(filterModel.DepartmentId.Value);
            }

            if (filterModel.SectionId.HasValue)
            {
                viewModel.JobFunctions = await _employeeDetailService.GetJobFunctionsBySectionId(filterModel.SectionId.Value);
            }

            return(View(viewModel));
        }
Beispiel #8
0
        public void Update(AttendanceViewModel Vm)
        {
            var data = _mapper.Map <AttendanceViewModel, Attendance>(Vm);

            _attendanceRepository.Update(data);
            SaveChanges();
        }
Beispiel #9
0
        public ActionResult ViewMyAttendance(AttendanceViewModel viewModel)
        {
            try
            {
                _student = _studentLogic.GetEntityBy(s => s.Matric_Number == User.Identity.Name);

                DateTime date = new DateTime();
                if (!DateTime.TryParse(viewModel.Date, out date))
                {
                    date = DateTime.Now;
                }

                viewModel.AttendanceList = _attendanceLogic.GetAttendanceForStudent(_student, date);

                if (viewModel.AttendanceList == null || viewModel.AttendanceList.Count <= 0)
                {
                    SetMessage("No attendance record found for today! ", Message.Category.Warning);
                    return(View(viewModel));
                }

                viewModel.AttendanceList = viewModel.AttendanceList.OrderBy(s => s.EVENT.Date).ThenBy(s => s.EVENT.Event_Type_Id).ToList();
            }
            catch (Exception ex)
            {
                SetMessage("Error! " + ex.Message, Message.Category.Error);
            }

            return(View(viewModel));
        }
Beispiel #10
0
        public ActionResult DashboardLevel4(string Region, string Zone)
        {
            AttendanceViewModel vm = new AttendanceViewModel();

            vm.DateFrom = user.DateFrom;
            vm.DateTo   = user.DateTo;
            vm.SelectedCompanies.Add(user.CompCode.ToString());
            if (!string.IsNullOrEmpty(Region))
            {
                Region region = AttendanceRepo.GetRegion(int.Parse(Region));
                ViewBag.Region = region.Name;
                vm.SelectedRegions.Add(Region);
            }
            if (!string.IsNullOrEmpty(Zone))
            {
                Zone zone = AttendanceRepo.GetZone(Zone);
                ViewBag.Zone = zone.Name;
                vm.SelectedZones.Add(Zone);
            }

            var k = AttendanceRepo.GetTerritoryBoxes("FirstCheckIn", AttendanceRepo.GetWhereClause(vm, 1), AttendanceRepo.GetWhereAbClause(vm, 1, user.UserID), user.UserID);


            return(View(k));
        }
Beispiel #11
0
        public ActionResult Attendance(AttendanceViewModel vm)
        {
            if (vm.SelectedCompanies == null)
            {
                vm.SelectedCompanies = new List <string>();
            }
            if (vm.SelectedRegions == null)
            {
                vm.SelectedRegions = new List <string>();
            }
            if (vm.SelectedTerritories == null)
            {
                vm.SelectedTerritories = new List <string>();
            }
            if (vm.SelectedZones == null)
            {
                vm.SelectedZones = new List <string>();
            }
            vm.Companies   = CompanyRepo.GetCompanies(user.UserID);
            vm.Regions     = AttendanceRepo.GetRegions(1, vm.SelectedCompanies.Select(x => x.ToString()).ToList(), user.UserID);
            vm.Zones       = AttendanceRepo.GetZones(1, vm.SelectedCompanies.Select(x => x.ToString()).ToList(), vm.SelectedRegions.Select(x => x.ToString()).ToList(), user.UserID);
            vm.Territories = AttendanceRepo.GeTerritories(1, vm.Companies.Select(x => x.Compcode.ToString()).ToList(), vm.SelectedRegions.Select(x => x.ToString()).ToList(), vm.SelectedZones.Select(x => x.ToString()).ToList(), user.UserID);
            //ViewBag.CreditDebit = AttendanceRepo.GetList(AttendanceRepo.GetWhereClause(vm));

            ViewBag.WhereClause   = AttendanceRepo.GetWhereClause(vm, 1);
            ViewBag.WhereClauseAb = AttendanceRepo.GetWhereAbClause(vm, 1, user.UserID);
            //var list = AttendanceRepo.GetDetails("FirstCheckIn", AttendanceRepo.GetWhereClause(vm), AttendanceRepo.GetWhereAbClause(vm), user.UserID);
            var list = AttendanceRepo.GetDetails("FirstCheckIn", AttendanceRepo.GetWhereClause(vm, 1), AttendanceRepo.GetWhereAbClause(vm, 1, user.UserID), user.UserID);

            ViewBag.ListDetails = list;
            return(View(vm));
        }
        public IActionResult Index(int subjectId = -1)
        {
            var teacherId       = User.GetUserId();
            var teacherSubjects = context.TeacherSubject.Where(x => x.TeacherId == teacherId).Select(x => new Subject
            {
                SubjectId = x.SubjectId,
                Name      = x.Subject.Name
            }).ToList();

            var students = context.StudentSubjects.Where(x => x.SubjectId == subjectId).Select(x => new StudentAttendanceViewModel()
            {
                Id           = x.StudentId,
                Name         = x.Student.FirstName + " " + x.Student.LastName,
                RollNo       = x.Student.RollNo,
                IsAbsent     = false,
                Reason       = String.Empty,
                TotalAbsents = context.Attendances.Where(y => y.StudentId == x.StudentId && x.SubjectId == subjectId && y.IsAbsent).Count()
            }).OrderBy(x => x.RollNo).ToArray();


            var view = new AttendanceViewModel()
            {
                Subjects  = teacherSubjects,
                Students  = students,
                SubjectId = subjectId
            };

            return(View(view));
        }
Beispiel #13
0
        public ActionResult Edit(int?id)
        {
            Attendance          attendance = db.Attendances.Find(id);
            AttendanceViewModel model      = Mapper.Map <Attendance, AttendanceViewModel>(attendance);

            return(View(model));
        }
        public ActionResult Show(DateTime?d)
        {
            DateTime date = DateTime.Today;

            if (d != null)
            {
                date = d.Value;
            }
            string dateStr    = date.ToString("dd-MM-yyyy");
            var    attendance = AttendanceRepository.GetAttendance(date, this.CurrentUser.Class_id);

            int             day      = (int)date.DayOfWeek;
            List <Schedule> schedule = new List <Schedule>();

            if (date.Month >= 2 && date.Month <= 6)
            {
                schedule = ScheduleRepository.GetSchedule(2, this.CurrentUser.Class_id).Where(s => s.Day == day).ToList();
            }
            else if ((date.Month >= 9 && date.Month <= 12) || date.Month == 1)
            {
                schedule = ScheduleRepository.GetSchedule(1, this.CurrentUser.Class_id).Where(s => s.Day == day).ToList();
            }

            AttendanceViewModel vm = new AttendanceViewModel()
            {
                AllAttendances = attendance,
                AllSchedule    = schedule,
                Date           = dateStr,
                Date2          = date,
                Periods        = new PeriodAttendance[7]
            };

            return(View(vm));
        }
        public ActionResult CreateAttendance(AttendanceViewModel employee)
        {
            try
            {
                Attendance model = new Attendance();
                model.InTime      = employee.InTime;
                model.OutTime     = employee.OutTime;
                model.Id          = employee.Id;
                model.EmpId       = employee.EmpId;
                model.CreatedDate = DateTime.Now;
                db.Attendances.Add(model);
                db.SaveChanges();


                return(Json(new { success = true, message = "success" }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                return(Json(new { success = false, message = ex.Message }, JsonRequestBehavior.AllowGet));
            }


            //ViewBag.DesignationId = new SelectList(db.Designations, "Id", "DesignationName", employee.DesignationId);
            //return View(employee);
        }
Beispiel #16
0
        public ActionResult ViewCurrentEvents()
        {
            _viewModel         = new AttendanceViewModel();
            ViewBag.AbsentType = _absentTypeLogic.GetEntitiesBy(a => a.Active);
            try
            {
                _student = _studentLogic.GetEntityBy(s => s.Matric_Number == User.Identity.Name);

                _viewModel.Events = _eventLogic.GetEventsForStudent(_student);

                if (_viewModel.Events == null || _viewModel.Events.Count <= 0)
                {
                    SetMessage("No event found for today! ", Message.Category.Warning);
                    return(View(_viewModel));
                }

                _viewModel.Events.ForEach(e =>
                {
                    e.Status = _eventLogic.GetEventStatus(e);
                });

                _viewModel.Events = _viewModel.Events.OrderBy(e => e.Event_Type_Id).ThenBy(e => e.Event_Start).ToList();
            }
            catch (Exception ex)
            {
                SetMessage("Error! " + ex.Message, Message.Category.Error);
            }

            return(View(_viewModel));
        }
Beispiel #17
0
        public ActionResult Index(AttendanceViewModel vm)
        {
            //IEnumerable emp = db.Employee.Where(obj => obj.Email == "*****@*****.**");
            //var result = db.Employee
            //   .SingleOrDefault(c => c.Email == "*****@*****.**");
            //ViewBag.Message = result.Email;



            ////// look if user coming or not



            Trainee  userinfo        = JsonConvert.DeserializeObject <Trainee>(User.Identity.Name);
            DateTime todayDate       = Convert.ToDateTime(DateTime.Now.ToString("dd-MM-yyyy"));
            bool     AttendanceValid = db.Attendances.Any(c => c.DateOfDay == todayDate && c.TraineeID == userinfo.ID);

            if (AttendanceValid == true)
            {
                vm.iscoming = true;
                bool AttendanceAllValid = db.Attendances.Any(c => c.DateOfDay == todayDate && c.TraineeID == userinfo.ID && c.LeaveTime != null);
                if (AttendanceAllValid)
                {
                    vm.isLeave = true;
                }
            }
            else
            {
                vm.iscoming = false;
            }



            return(View(vm));
        }
        public ActionResult AddAttendance([Bind(Include = "IsPresent")] AttendanceViewModel model)
        {
            int countOfStudents = attendanceViewModel.Students.Count;
            var checkBoxes      = model.IsPresent.ToList();
            var students        = attendanceViewModel.Students;

            for (int i = 0; i < countOfStudents; i++)
            {
                Attendance attendance = new Attendance();
                attendance.Date            = attendanceViewModel.Date;
                attendance.Slot            = attendanceViewModel.Slot;
                attendance.Subject_SubCode = attendanceViewModel.SubjectCode;
                attendance.Teacher_TID     = attendanceViewModel.TeacherId;
                attendance.Teacher         = db.Teachers.Find(attendance.Teacher_TID);
                attendance.Subject         = db.Subjects.Find(attendance.Subject_SubCode);
                attendance.Student_USN     = students[i].USN;
                if (checkBoxes[i])
                {
                    attendance.IsPresent = 1;
                }
                else
                {
                    attendance.IsPresent = 0;
                }
                if (ModelState.IsValid)
                {
                    db.Attendances.Add(attendance);
                    db.SaveChanges();
                }
            }
            return(RedirectToAction("Index"));
        }
Beispiel #19
0
        public async Task <IActionResult> ActiveWork(AttendanceFilter filterModel)
        {
            var viewModel = new AttendanceViewModel();

            if (string.IsNullOrEmpty(filterModel.AttendanceDate))
            {
                filterModel.AttendanceDate = DateTime.Today.ToString("yyyy/MM/dd");
            }

            viewModel.Attendances = await _attendanceService.GetActiveAsync(filterModel);

            viewModel.Departments = await _employeeDetailService.GetDepartments();

            viewModel.Shifts = await _employeeDetailService.GetShifts();

            viewModel.Positions = await _employeeDetailService.GetPositions();

            if (filterModel.DepartmentId.HasValue)
            {
                viewModel.Sections = await _employeeDetailService.GetSectionsByDepartmentId(filterModel.DepartmentId.Value);
            }

            if (filterModel.SectionId.HasValue)
            {
                viewModel.JobFunctions = await _employeeDetailService.GetJobFunctionsBySectionId(filterModel.SectionId.Value);
            }

            _httpContextAccessor.HttpContext.Session.SetObjectAsJson("attendances", viewModel.Attendances);

            return(View(viewModel));
        }
Beispiel #20
0
        public async Task <IActionResult> Add(AttendanceViewModel model)
        {
            if (model.Date > DateTime.Now)
            {
                ModelState.AddModelError("Date", "Gələcək tarixə qeyd aparmaq olmaz");
            }
            else
            {
                if (ModelState.IsValid)
                {
                    Continuity continuity = new Continuity()
                    {
                        Id         = model.Id,
                        WorkerId   = model.WorkerId,
                        Date       = model.Date,
                        Reason     = model.Reason,
                        Status     = model.Status,
                        ReasonName = model.ReasonName
                    };
                    await _dbContext.Continuities.AddAsync(continuity);

                    await _dbContext.SaveChangesAsync();

                    return(RedirectToAction(nameof(Index)));
                }
            }

            return(View());
        }
Beispiel #21
0
        public AttendanceReport(Course course)
        {
            InitializeComponent();
            this.course = course;

            List <Attendance> attendances = Attendance.GetAttendancesByCourseId(course.Id);

            int i = 0;

            foreach (DateTime date in course.GetClassMeetings())
            {
                var binding           = new Binding(string.Format("AttendsToCourse[{0}]", i));
                CustomBoundColumn col = new CustomBoundColumn()
                {
                    Header             = date,
                    HeaderStringFormat = "MMM d",
                    TemplateName       = "attendanceCheckmark",
                    Binding            = binding
                };
                attendanceDataGrid.Columns.Add(col);
                i++;
            }

            foreach (List <Attendance> ia in AttendancesSplit(attendances))
            {
                if (ia.Count > 0)
                {
                    Student             student = ia[0].Student;
                    AttendanceViewModel avm     = new AttendanceViewModel(course, student, ia);
                    attendanceVms.Add(avm);
                    attendanceDataGrid.Items.Add(avm);
                }
            }
        }
Beispiel #22
0
        public ActionResult GetAttendance(string departmentID, int Semester, string section, string slot, DateTime date)
        {
            AttendanceViewModel attendanceViewModel = new AttendanceViewModel();


            AttendanceManagementDBEntities1 db = new AttendanceManagementDBEntities1();
            var customer = db.AspNetUsers.FirstOrDefault(u => u.Email == User.Identity.Name);

            var teacher  = db.Teachers.FirstOrDefault(u => u.REFID == customer.Id);
            var students = db.Students.Where(s => s.Department_DID == (departmentID)).Where(s => s.Sem == (Semester)).Where(s => s.Section == (section)).ToList();

            //var subject = db.Subjects.FirstOrDefault(u => u.Department_DID == teacher.Department_DID);
            string usn = students[0].USN;
            var    tts = db.Teacher_Teaches_Student.Where(u => u.Teacher_TID == teacher.TID).FirstOrDefault(u => u.Student_USN == usn);


            string dt = date.ToShortDateString();

            var attendances = db.Attendances.Where(s => s.Teacher_TID == teacher.TID).Where(s => s.Subject_SubCode == tts.Subject_SubCode).Where(s => s.Date == dt).Where(s => s.Slot == slot).ToList();


            attendanceViewModel.Attds       = attendances;
            attendanceViewModel.Date        = dt;
            attendanceViewModel.Slot        = slot;
            attendanceViewModel.TeacherId   = teacher.TID;
            attendanceViewModel.SubjectCode = tts.Subject_SubCode;
            attendanceViewModel.Students    = students;

            return(View(attendanceViewModel));
        }
        public ActionResult Index(AttendanceViewModel model)
        {
            ViewBag.ListOfEmployee = Common.GetEmployeeList(GetSessionObject().MemberID.Value);

            AttendanceViewModel vModel = new AttendanceViewModel();

            SetSessionVariables();

            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(Common.Instance.ApiAttendanceControllerName);
                //HTTP GET
                var responseTask = client.GetAsync(Common.Instance.ApiAttendanceGetAttendanceByMember + "/" + GetSessionObject().MemberID.ToString() + "/" + model.EmpID + "/" + model.FromDate + "/" + model.ToDate);
                responseTask.Wait();

                var result = responseTask.Result;
                if (result.IsSuccessStatusCode)
                {
                    var readTask = result.Content.ReadAsAsync <IList <Attendance> >();
                    readTask.Wait();

                    vModel.AttendanceList = readTask.Result.ToList();
                }
                else                 //web api sent error response
                {
                    //log response status here..

                    //holidays = Enumerable.Empty<Holiday>();

                    ModelState.AddModelError(string.Empty, "Server error. Please contact administrator.");
                }
            }

            return(View(vModel));
        }
        public async Task <IActionResult> Create([Bind("Id,AttendanceDate,CreatedDate,CreatedBy,Status,EmployeeInfoId")] AttendanceViewModel attendance)
        {
            if (ModelState.IsValid)
            {
                Attendance at = new Attendance()
                {
                    AttendanceDate = attendance.AttendanceDate,
                    Status         = attendance.Status,
                    CreatedBy      = attendance.CreatedBy,
                    CreatedDate    = DateTime.Now,

                    EmployeeInfoId = attendance.EmployeeInfoId
                };
                await attendanceRepository.Save(at);

                //_context.Add(attendance);
                //await _context.SaveChangesAsync();
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["EmployeeInfoId"] = new SelectList(employeeInfoRepository.GetEmployeeInfoList(), "Id", "Id", attendance.EmployeeInfoId);
            ViewData["BranchId"]       = new SelectList(branchRepository.GetBranchList(), "Id", "BranchName");
            ViewData["DepartmentId"]   = new SelectList(departmentRepository.GetDepartmentList(), "Id", "Id");

            return(View(attendance));
        }
        // GET: User
        public ActionResult Index(AttendanceViewModel vm)
        {
            string   email      = User.Identity.Name;
            var      userdetail = db.Users.Where(u => u.email == email).SingleOrDefault();
            var      userid     = userdetail.userid;
            DateTime todayDate  = Convert.ToDateTime(DateTime.Now);
            var      date       = todayDate.Date;

            var hasloggedintoday = db.Userlogs.Any(u => u.checkeddate == date && u.userid == userid);

            if (hasloggedintoday)
            {
                vm.HasCheckedIn = true;

                var hascheckedouttoday = db.Userlogs.Any(u => u.checkeddate == date & u.userid == userid && u.logouttime != null);

                if (hascheckedouttoday)
                {
                    vm.HasCheckedOut = true;
                }
                else
                {
                    vm.HasCheckedOut = false;
                }
            }
            else
            {
                vm.HasCheckedIn = false;
            }


            return(View(vm));
        }
        public async Task <IActionResult> EditSession(AttendanceViewModel sessionModel)
        {
            if (ModelState.IsValid)
            {
                Session objSession = await _tPAttendanceRepository.GetSessionById(sessionModel.Session_Id);

                objSession.Session_Name = sessionModel.Session_Name;
                objSession.Date         = sessionModel.Session_Date.ToString("yyyyMMdd");
                objSession.Start_Time   = sessionModel.Session_Start_Time.ToString("HHmmss");
                objSession.End_Time     = sessionModel.Session_End_Time.ToString("HHmmss");
                objSession.Class_Id     = sessionModel.Class_Id;
                objSession.Section_Id   = sessionModel.Section_Id;
                objSession.Subject_Id   = sessionModel.Subject_Id;


                int result = await _tPAttendanceRepository.UpdateSession(objSession);

                if (result == 1)
                {
                    TempData["Success"] = "Session Updated Successfully";
                    return(RedirectToAction("session", "attendance", new { area = "teachers" }));
                }
                else
                {
                    TempData["Error"] = "Updating Session Failed ";
                    return(RedirectToAction("session", "attendance", new { area = "teachers" }));
                }
            }

            return(View());
        }
        public ActionResult CheckOut()
        {
            AttendanceViewModel vm = new AttendanceViewModel();
            string email           = User.Identity.Name;

            var      userdetail  = db.Users.Where(u => u.email == email).SingleOrDefault();
            var      checkindate = DateTime.Now;
            var      currentday  = DateTime.Now;
            var      date        = currentday.Date;
            var      userid      = userdetail.userid;
            DateTime todayDate   = Convert.ToDateTime(DateTime.Now);

            var hasloggedintoday = db.Userlogs.Any(u => u.checkeddate == date && u.userid == userid);

            if (hasloggedintoday)
            {
                var LoggedinUser = db.Userlogs.Where(c => c.checkeddate == date && c.userid == userid).Single();
                LoggedinUser.logouttime      = DateTime.Now;
                db.Entry(LoggedinUser).State = System.Data.Entity.EntityState.Modified;
                db.SaveChanges();
                ViewBag.Info = "You have Checked out Succesfully ";
            }
            else
            {
                ViewBag.Info = "Please Check in first before you Check Out";
            }

            return(RedirectToAction("Index"));
        }
        public async Task <IActionResult> AddSession(AttendanceViewModel objVM)
        {
            if (ModelState.IsValid)
            {
                Session newSession = new Session
                {
                    Session_Name = objVM.Session_Name,
                    Date         = objVM.Session_Date.ToString("yyyyMMdd"),
                    Start_Time   = objVM.Session_Start_Time.ToString("HHmmss"),
                    End_Time     = objVM.Session_End_Time.ToString("HHmmss"),
                    Section_Id   = objVM.Section_Id,
                    Class_Id     = objVM.Class_Id,
                    Subject_Id   = objVM.Subject_Id,
                    Teacher_Id   = HttpContext.Session.GetInt32("UserId") ?? 1
                };

                int result = await _tPAttendanceRepository.AddSession(newSession);

                if (result == 1)
                {
                    TempData["Success"] = " Session Added Successfully";
                    return(RedirectToAction("session", "attendance", new { area = "teachers" }));
                }
                else
                {
                    TempData["Error"] = "Adding Session Failed";
                    return(RedirectToAction("session", "attendance", new { area = "teachers" }));
                }
            }

            return(View());
        }
Beispiel #29
0
 public JsonResult GetEmployeeAttendance(AttendanceViewModel obj)
 {
     try
     {
         List <EmployeeDetails> employees = unitOfWork.EmployeeDetailsRepository.Get(x => x.IsActive == 1).ToList();
         List <Aris.Data.Entities.Attendance> attendances = unitOfWork.AttendanceRepository.Get(null, x => x.OrderBy(id => id.EmployeeNo)).ToList();
         var result = from emp in employees
                      join att in attendances
                      on emp.EmployeeReferenceNo equals att.EmployeeNo into eGroup
                      where (emp.EmployeeReferenceNo == obj.EmployeeNo)
                      from att in eGroup.DefaultIfEmpty()
                      select new
         {
             employeeNo         = emp.EmployeeReferenceNo,
             joiningDate        = emp.JoiningDate,
             employeeName       = emp.EmployeeName,
             annualLeave        = att == null ? 0 : att.AnnualLeave,
             balanceLeave       = att == null ? 0 : att.BalanceLeave,
             totalLeave         = att == null ? 0 : att.TotalLeave,
             leaveTaken         = att == null ? 0 : att.LeaveTaken,
             sickLeaveJustified = att == null ? 0 : att.SickLeaveJustified,
             nonJustifiedLeave  = att == null ? 0 : att.NonJustifiedLeave,
             unpaidLeave        = att == null ? 0 : att.UnpaidLeave,
             sickLeaveBalance   = att == null ? 0 : att.SickLeaveBalance,
             leaveBalance       = att == null ? 0 : att.LeaveBalance,
             createdDate        = att == null ? null : att.CreatedDate,
             attendanceId       = att == null ? 0 : att.AttendanceId
         };
         return(Json(result));
     }
     catch (Exception ex)
     {
         return(null);
     }
 }
Beispiel #30
0
        public async Task <IHttpActionResult> Update([FromBody] AttendanceViewModel viewmodel)
        {
            var model = Mapper.Map <Attendance>(viewmodel);
            await _attendanceService.Update(model);

            return(Ok());
        }