public async Task <ApiResult <bool> > Create(CreateNotificationRequest request)
        {
            var query = from n in _context.Notifications
                        where n.Id_BLE == request.Id_BLE && n.Status == true
                        select new { n };

            if (query.Count() > 0)
            {
                return(new ApiSuccessResult <bool>("thiết bị đang được xử lý"));
            }
            var equipment = await _context.Equipment.FindAsync(request.Id_BLE);

            if (equipment == null || equipment.Id_Student != request.Id_User)
            {
                return(new ApiErrorResult <bool>("Không tìm thấy thiết bị"));
            }
            var notification = new Notification()
            {
                Id_BLE     = request.Id_BLE,
                Id_User    = request.Id_User,
                Reason     = request.Reason,
                DateCreate = DateTime.UtcNow.AddHours(7),
                DateUpdate = DateTime.UtcNow.AddHours(7),
                Status     = true
            };

            equipment.Status = false;

            _context.Notifications.Add(notification);
            await _context.SaveChangesAsync();

            return(new ApiSuccessResult <bool>("Tạo thành thành công"));
        }
Example #2
0
        public async Task <ApiResult <bool> > Register(RegisterUserRequest request)
        {
            var user = await _userManager.FindByNameAsync(request.UserName);

            if (user != null)
            {
                return(new ApiErrorResult <bool>("Tài khoản đã tồn tài"));
            }
            if (await _userManager.FindByEmailAsync(request.Email) != null)
            {
                return(new ApiErrorResult <bool>("Email đã tồn tài"));
            }
            var role = await _roleManager.FindByIdAsync(request.Type);

            if (role == null || role.Name == "student")
            {
                return(new ApiErrorResult <bool>("Loại người dùng không tồn tại"));
            }
            user = new AppUser()
            {
                UserName = request.UserName,
                Email    = request.Email,
                FullName = request.FullName,
                Type     = role.Name,
                //UrlImg = await this.SaveFile(request.ThumbnailImage),
                DateCreate = DateTime.UtcNow.AddHours(7),
                DateUpdate = DateTime.UtcNow.AddHours(7)
            };
            var resultCreateUser = await _userManager.CreateAsync(user, request.Password);

            var resultRole = await _userManager.AddToRoleAsync(user, role.Name);

            if (resultCreateUser.Succeeded && resultRole.Succeeded)
            {
                var newUser = await _userManager.FindByNameAsync(request.UserName);

                if (newUser != null)
                {
                    if (role.Name == "teacher")
                    {
                        var teacher = new Teacher()
                        {
                            Id       = newUser.Id,
                            FullName = request.FullName,
                            Email    = request.Email,
                            //UrlImg = newUser.UrlImg,
                            DateCreate = DateTime.UtcNow.AddHours(7),
                            DateUpdate = DateTime.UtcNow.AddHours(7)
                        };
                        _context.Teachers.Add(teacher);
                        await _context.SaveChangesAsync();
                    }
                }
                return(new ApiSuccessResult <bool>("Đăng ký tài khoản thành công"));
            }
            else
            {
                return(new ApiErrorResult <bool>("Đăng ký tài khoản không thành công"));
            }
        }
        public async Task <ApiResult <bool> > CreateCourse(CreateCourseRequest request)
        {
            if (await _context.Teachers.FindAsync(request.Id_Teacher) == null)
            {
                return(new ApiErrorResult <bool>("Không tìm thấy Giáo viên  "));
            }
            if (await _context.Subjects.FindAsync(request.Id_Subject) == null)
            {
                return(new ApiErrorResult <bool>("Không tìm thấy Môn học phù hợp "));
            }
            var subject = await _context.Subjects.FindAsync(request.Id_Subject);

            var course = new Course()
            {
                Id_Subject = request.Id_Subject,
                Id_Teacher = request.Id_Teacher,
                Name       = request.Name,
                Semester   = request.Semester,
                SchoolYear = request.SchoolYear,
                DateBegin  = request.DateBegin.Date,
                DateEnd    = request.DateBegin.AddDays(subject.Lesson * 7).Date,
                DateCreate = DateTime.UtcNow.AddHours(7),
                DateUpdate = DateTime.UtcNow.AddHours(7),
            };

            _context.Courses.Add(course);
            await _context.SaveChangesAsync();

            return(new ApiSuccessResult <bool>("Tạo thành công"));
        }
        public async Task <ApiResult <bool> > CreatebyStudent(CreateAttendancebyStudent request)
        {
            var schdule = await _context.Schedules.FindAsync(request.Id_Schedule);

            if (schdule == null)
            {
                return(new ApiErrorResult <bool>("Không tìm thấy dữ liệu"));
            }
            var repo = await _context.HistoryAttendances.FindAsync(request.Id_Schedule);

            if (repo == null)
            {
                return(new ApiErrorResult <bool>("Lỗi điểm danh"));
            }

            var queryStudent = from e in _context.Equipment
                               join st in _context.Students on e.Id_Student equals st.Id
                               join rc in _context.RegisterCourses on st.Id equals rc.Id_Student
                               where schdule.Id_Course == rc.Id_Course
                               select new { e, st, rc };

            var dataStudent = await queryStudent.Select(x => x.e.Id_BLE).ToListAsync();

            var query = from d in _context.DetailHAs
                        where d.Id_HistoryAttendance == request.Id_Schedule
                        select new { d };
            var data = await query.Select(x => x.d.Id_Student).ToListAsync();


            var equipment = await _context.Equipment.FindAsync(request.Id_BLE);

            int check        = data.IndexOf(equipment.Id_Student);
            int checkStudent = dataStudent.IndexOf(request.Id_BLE);

            if (check == -1 && checkStudent > -1)
            {
                var detailHa = new DetailHA()
                {
                    Id_HistoryAttendance = request.Id_Schedule,
                    Id_Student           = equipment.Id_Student,
                    DateCreate           = DateTime.UtcNow.AddHours(7)
                };
                _context.DetailHAs.Add(detailHa);
                await _context.SaveChangesAsync();

                return(new ApiSuccessResult <bool>("Đã được điểm danh "));
            }
            return(new ApiSuccessResult <bool>("Điểm danh thành công"));
        }
        public async Task <ApiResult <bool> > CreateClass(CreateClassRequest request)
        {
            var classes = new Class()
            {
                Name        = request.Name,
                Description = request.Description,
                DateCreate  = DateTime.UtcNow.AddHours(7),
                DateUpdate  = DateTime.UtcNow.AddHours(7),
            };

            _context.Classes.Add(classes);
            await _context.SaveChangesAsync();

            return(new ApiSuccessResult <bool>("Tạo thành Lớp học thành công"));
        }
        public async Task <ApiResult <bool> > CreateRepo(CreateRepoRequest request)
        {
            var schedule = await _context.Schedules.FindAsync(request.Id_Schedule);

            //if (schedule.Date != DateTime.UtcNow.AddHours(7).Date)
            //{
            //    return new ApiErrorResult<bool>("Ngày tạo Không hợp lệ");
            //}
            if (await _context.HistoryAttendances.FindAsync(request.Id_Schedule) != null)
            {
                return(new ApiSuccessResult <bool>("Kho chứa đã được tạo"));
            }
            if (schedule.Id_Course != request.Id_Course)
            {
                return(new ApiErrorResult <bool>("Không tồn tại khóa học"));
            }
            var data = new HistoryAttendance()
            {
                Id_HistoryAttendace = request.Id_Schedule,
                Id_Schedule         = request.Id_Schedule,
                Id_Course           = request.Id_Course,
                DateAttendance      = DateTime.UtcNow.AddHours(7).Date,
                Id_EquipmentTeacher = request.Id_EquipmentTeacher,
            };

            _context.HistoryAttendances.Add(data);
            await _context.SaveChangesAsync();

            return(new ApiSuccessResult <bool>("Bạn đã tạo thành công"));
        }
        public async Task <ApiResult <bool> > CreateSubject(CreateSubjectRequest request)
        {
            var subject = new Subject()
            {
                Name            = request.Name,
                Description     = request.Description,
                NumberOfCredits = request.NumberOfCredits,
                Lesson          = request.Lesson,
                DateCreate      = DateTime.UtcNow.AddHours(7),
                DateUpdate      = DateTime.UtcNow.AddHours(7),
            };

            _context.Subjects.Add(subject);
            await _context.SaveChangesAsync();

            return(new ApiSuccessResult <bool>("Tạo thành công"));
        }
Example #8
0
        public async Task <ApiResult <bool> > CreateSchedule(CreateSchduleRequest request)
        {
            var course = await _context.Courses.FindAsync(request.Id_Course);

            if (course == null)
            {
                return(new ApiErrorResult <bool>("Không tìm thấy dữ liệu"));
            }
            var subject = await _context.Subjects.FindAsync(course.Id_Subject);

            if (subject == null)
            {
                return(new ApiErrorResult <bool>("Không tìm thấy dữ liệu"));
            }
            var query = from s in _context.Schedules
                        where s.Id_Course == request.Id_Course && s.Date == request.DateBegin.Date && s.TimeBegin == request.TimeBegin
                        select new { s };
            var scheduleData = await _context.Schedules.FirstOrDefaultAsync(x => x.Id_Course == request.Id_Course && x.Date == request.DateBegin.Date && x.TimeBegin == request.TimeBegin);

            if (scheduleData != null)
            {
                return(new ApiErrorResult <bool>("Lịch trình đã tồn tại"));
            }
            var schedule = new Schedule()
            {
                Id_Course  = request.Id_Course,
                Id_Class   = request.Id_Class,
                Date       = request.DateBegin.Date,
                TimeBegin  = request.TimeBegin,
                TimeEnd    = request.TimeEnd,
                DateCreate = DateTime.UtcNow.AddHours(7),
                DateUpdate = DateTime.UtcNow.AddHours(7)
            };

            _context.Schedules.Add(schedule);
            await _context.SaveChangesAsync();

            return(new ApiSuccessResult <bool>("Tạo mới thành công"));
        }