示例#1
0
        public ActionResult VkGroup(decimal groupId, decimal captchaId, string captchaKey)
        {
            GroupDataService.EnableTracking();

            lock (_vkLock) {
                var vkId = GetVkGroupId(groupId);
                if (!vkId.HasValue)
                {
                    try {
                        vkId = new VkontakteService(VkontakteService.GroupsToken)
                               .CreateGroup("Группа обучения №" + groupId, captchaId, captchaKey);
                    }
                    catch (CaptchaException ex) {
                        var view = H.div[
                            H.Img(ex.Url),
                            H.Form("")[
                                H.Hidden("captchaId", ex.Id),
                                H.Hidden("groupId", groupId),
                                H.InputText("captchaKey", ""),
                                H.Submit("Отправить")
                            ]];
                        return(BaseViewWithTitle("Введите текст с картинки", new PagePart(view.ToString())));
                    }
                    GroupDataService.InsertAndSubmit(new GroupData {
                        VkGroupId = vkId,
                        Group_ID  = groupId
                    });
                }
                return(Redirect(GetVkGroupUrl(vkId)));
            }
        }
        public IActionResult Delete([FromRoute] int Id)
        {
            int count = 0;

            using (DBTransactionController trans = dbCollection.Current.BeginTrans())
            {
                GroupDataService    groupService = DataService.Get <GroupDataService>(dbCollection.Current);
                TestDataItemService itemService  = DataService.Get <TestDataItemService>(dbCollection.Current);
                itemService.Delete(itemService.ItemsTable, new object[] { td.Field("GroupId") == Id }, trans);
                count = groupService.Delete(groupService.tableName, new object[] { td.Field("GroupId") == Id }, trans);
                if (count > 0)
                {
                    trans.Commit();
                }
            }
            if (count < 1)
            {
                return(Json(new WebApiResult <object> {
                    code = ResultCode.STATE_FAIL, message = "删除信息删除失败!"
                }));
            }
            return(Json(new WebApiResult <object> {
                code = ResultCode.STATE_OK, message = string.Empty
            }));
        }
        public async Task Init()
        {
            Group.SetSpecialtyService(SpecialtyDataService);
            Student.SetService(GroupDataService);
            Group.SetStudentService(StudentDataService);
            if (SettingsManager.GetBool("LocalMode"))
            {
                LoadExamples();
                return;
            }

            try
            {
                await SpecialtyDataService.Refresh();

                await GroupDataService.Refresh();

                await StudentDataService.Refresh();
            }
            catch (Exception e)
            {
                MessageBox.Show($"Не удалось подключиться к серверу!\n{e.Message}");
                Environment.Exit(-1);
            }
        }
示例#4
0
        /// <summary>
        /// 生成分组下拉选框.
        /// </summary>
        /// <returns></returns>
        public IHtmlContent RenderGroupDropdown()
        {
            HtmlContentBuilder builder = new HtmlContentBuilder();

            builder.AppendHtml("<select name=\"GroupId\" id=\"group-id\" required data-prompt=\"请选择分组!\">");
            GroupDataService gservice = DataService.Get <GroupDataService>(service.db);
            List <dynamic>   groups   = gservice.Query();
            int?groupId = null;

            if (editMode)
            {
                groupId = Convert.ToInt32(entity["GroupId"]);
            }
            foreach (dynamic grp in groups)
            {
                if (groupId != null && groupId.Value == Convert.ToInt32(grp.GroupId))
                {
                    builder.AppendHtml(string.Format("<option value=\"{0}\" selected=\"selected\">{1}</option>", grp.GroupId, grp.GroupName));
                    continue;
                }
                builder.AppendHtml(string.Format("<option value=\"{0}\">{1}</option>", grp.GroupId, grp.GroupName));
            }
            builder.AppendHtml("</select>");
            return(builder);
        }
示例#5
0
 public ActionResult Index(bool showNoRowAlert = false)
 {
     return(View(new CountGroupViewModel()
     {
         GroupRecords = GroupDataService.GetAllGroups(),
         ShowNoRowAlert = showNoRowAlert
     }));
 }
示例#6
0
        public ReportController()
        {
            ViewBag.Today = new DateTime(2018, 4, 16);

            _lectureDataService    = new LectureDataService();
            _lecturerDataService   = new LecturerDataService();
            _attendanceDataService = new AttendanceDataService();
            _groupDataService      = new GroupDataService();
        }
        public IActionResult Query()
        {
            GroupDataService service     = DataService.Get <GroupDataService>(dbCollection.Current);
            List <dynamic>   queryResult = service.Query();

            return(Json(new WebApiResult <List <dynamic> > {
                code = ResultCode.STATE_OK,
                data = queryResult
            }));
        }
示例#8
0
 /// <summary>
 /// 构造函数
 /// </summary>
 /// <param name="_setting"></param>
 /// <param name="env"></param>
 /// <param name="_dataService"></param>
 /// <param name="_fileDataService"></param>
 /// <param name="_tempDataService"></param>
 /// <param name="_templateDataService"></param>
 /// <param name="_groupDataService"></param>
 /// <param name="_systemLogDataService"></param>
 public MeetingController(IOptions <AppSettings> _setting, IHostingEnvironment env,
                          MeetingDataService _dataService, FileDataService _fileDataService,
                          TempDataService _tempDataService, TemplateDataService _templateDataService,
                          GroupDataService _groupDataService, SystemLogDataService _systemLogDataService)
 {
     this.setting              = _setting;
     this.hostingEnv           = env;
     this.dataService          = _dataService;
     this.fileDataService      = _fileDataService;
     this.tempDataService      = _tempDataService;
     this.templateDataService  = _templateDataService;
     this.groupDataService     = _groupDataService;
     this.systemLogDataService = _systemLogDataService;
 }
        public IActionResult Add([FromForm] string name)
        {
            if (string.IsNullOrEmpty(name))
            {
                return(Json(new WebApiResult <object> {
                    code = ResultCode.STATE_FAIL, message = "未指定分组名称."
                }));
            }
            GroupDataService            service = DataService.Get <GroupDataService>(dbCollection.Current);
            Dictionary <string, object> data    = new Dictionary <string, object>();

            data.Add("GroupName", name);
            service.Add(data, service.tableName);
            return(Json(new WebApiResult <object> {
                code = ResultCode.STATE_OK, message = string.Empty
            }));
        }
示例#10
0
        private void UpdateAttendance(DateTime date, string cardNumber)
        {
            var currentTime = new DateTime(2018, 4, 16, 14, 27, 52);

            var studentDataService = new StudentDataService();
            var student            = studentDataService.GetByCardNumber(cardNumber);

            var groupDataService = new GroupDataService();
            var group            = groupDataService.GetByStudent(student.Id);

            var lectureDataService = new LectureDataService();
            var lectures           = lectureDataService.GetByGroupId(group.Id);

            var lectureId = -1;

            foreach (var lecture in lectures)
            {
                if (lecture.Occurences.FirstOrDefault(x => x.Date.ToShortDateString() == currentTime.ToShortDateString()) != null &&
                    lecture.LectureTime.LectureStart.AddMinutes(-5).TimeOfDay <= currentTime.TimeOfDay &&
                    lecture.LectureTime.LectureEnd.AddMinutes(5).TimeOfDay >= currentTime.TimeOfDay)
                {
                    lectureId = lecture.Id;
                    break;
                }
            }

            if (lectureId != -1)
            {
                var attendanceDataService = new AttendanceDataService();
                var attendance            = attendanceDataService.GetStudentAttendance(student.Id, lectureId);
                var dateString            = currentTime.ToString("yyyy-MM-dd");

                if (!attendance.AttendedLectures.Contains(dateString))
                {
                    attendance.AttendedLectures += dateString + ",";
                }

                attendanceDataService.UpdateLectures(attendance);
            }
        }
示例#11
0
 private long?GetVkGroupId(decimal groupId)
 {
     return(GroupDataService.GetAll(x => x.Group_ID == groupId).Select(x => x.VkGroupId).FirstOrDefault());
 }
 public DataCoordinator()
 {
     SpecialtyDataService = new SpecialtyDataService();
     GroupDataService     = new GroupDataService();
     StudentDataService   = new StudentDataService();
 }
        private void RegisterUser()
        {
            List<RoleDataModel> userRoles = new List<RoleDataModel>();
            RoleDataService rService = new RoleDataService();
            GroupDataModel group = null;
            RoleDataModel role;
            UserRole selectedRole;

            if (_ViewModel.IsTeacher)
                selectedRole = UserRole.Teacher;
            else
                selectedRole = UserRole.Student;

            role = rService.GetRole(selectedRole);

            if (role != null)
            {
                userRoles.Add(role);
            }
            // such role not exist in db? - create it!
            else
            {
                role = new RoleDataModel();
                role.Role = selectedRole;

                if (selectedRole == UserRole.Student)
                {
                    role.Name = "Student";

                    GroupDataService gService = new GroupDataService();
                    group = gService.GetGroup(_ViewModel.SelectedGroup);
                    if (group == null)
                    {
                        group = gService.CreateGroup(_ViewModel.SelectedGroup);
                    }
                }
                else
                {
                    role.Name = "Teacher";
                }

                rService.Add(role);
                userRoles.Add(rService.GetRole(selectedRole));
            }

            // adding group to UserDM if registering student
            if (selectedRole == UserRole.Student)
            {
                GroupDataService gService = new GroupDataService();
                group = gService.GetGroup(_ViewModel.SelectedGroup);
                if (group == null)
                {
                    group = gService.CreateGroup(_ViewModel.SelectedGroup);
                }
            }

            // create new user object for write to db
            UserDataModel newUser = new UserDataModel
            {
                Username = _ViewModel.Username,
                Email = _ViewModel.Email,
                Password = Authentication.HashPassword(_ViewModel.Password),
                FirstName = _ViewModel.Name,
                LastName = _ViewModel.Surname,
                MiddleName = _ViewModel.MiddleName,
                Group = group,
                Roles = userRoles
            };

            UserDataService uService = new UserDataService();
            uService.Add(newUser);
            MessageBox.Show(Messages.RegisterSuccessfull, Messages.CaptionRegistered);
            this.Close();
        }
        private void InitViewModel()
        {
            _viewModel = new UserRegisterViewModel();

            GroupDataService gService = new GroupDataService();

            // get all group names from db
            _viewModel.Groups = gService.GetData(s => s.ID >= 0).ToList().Select(g => g.Name).ToList<string>();
        }
示例#15
0
 public static void SetService(GroupDataService groupDataService)
 {
     _groupDataService = groupDataService;
 }