Esempio n. 1
0
        public IHttpActionResult Post(TimeTablePostRequest requestData)
        {
            var requestService  = new Service.Utility.RequestDataHelper <TimeTablePostRequest>();
            var checkColumnKeys = new string[3] {
                "token", "circlekey", "timetable"
            };
            var checkEmpty = requestService.CheckColumnEmpty(requestData, checkColumnKeys);
            var response   = new Infrastructure.ViewModel.Base.BaseResponse <string>();

            response.Success = false;
            if (checkEmpty == false)
            {
                response.Message = "遺漏參數";
                response.State   = Infrastructure.ViewModel.Base.LogState.RequestDataError;
                return(Content(HttpStatusCode.BadRequest, response));
            }
            var timeTableService = new TimeTableService();
            var responseData     = timeTableService.TimeTableDataProxy(requestData);

            if (responseData)
            {
                response.Success = true;
                response.Message = "處理資料成功";
                return(Ok(response));
            }
            response.Message = "處理資料失敗";
            response.State   = Infrastructure.ViewModel.Base.LogState.Error;
            return(Ok(response));
        }
        public HttpResponseMessage GetTimeTable(string securityToken, int schoolId, int classId, int sectionId)
        {
            TimeTableVMResponse response = null;

            if (IsValid(securityToken))
            {
                ITimeTable ttService = new TimeTableService(this._dbContext);
                response = new TimeTableVMResponse {
                    Status = "OK"
                };
                response.Monday     = ttService.Get(schoolId, classId, sectionId, "Monday");
                response.Tuesday    = ttService.Get(schoolId, classId, sectionId, "Tuesday");
                response.Wednessday = ttService.Get(schoolId, classId, sectionId, "Wednessday");
                response.Thursday   = ttService.Get(schoolId, classId, sectionId, "Thursday");
                response.Friday     = ttService.Get(schoolId, classId, sectionId, "Friday");

                CurrentLoggerProvider.Info("Retrieved time for mobile view");
            }
            else
            {
                response = new TimeTableVMResponse {
                    Status = "Error", ErrorCode = "ERR1001", ErrorMessage = "Invalid or expired token"
                };
                CurrentLoggerProvider.Info("Invalid Request");
            }

            return(Request.CreateResponse(HttpStatusCode.OK, response));
        }
        public HttpResponseMessage Get(string securityToken, int schoolId)
        {
            TTCommonResponse response = null;

            if (IsValid(securityToken))
            {
                ITimeTable ttService = new TimeTableService(this._dbContext);
                response = new TTCommonResponse {
                    Status = "OK"
                };
                response.Subjects = ttService.GetSubjects(schoolId);
                response.Lectures = ttService.GetLectures(schoolId);

                CurrentLoggerProvider.Info(string.Format("Retrieved Common Data. Subjects: {0}, Lectures: {1}", response.Subjects.Count(), response.Lectures.Count()));
            }
            else
            {
                response = new TTCommonResponse {
                    Status = "Error", ErrorCode = "ERR1001", ErrorMessage = "Invalid or expired token"
                };
                CurrentLoggerProvider.Info("Invalid Request");
            }

            return(Request.CreateResponse(HttpStatusCode.OK, response));
        }
Esempio n. 4
0
        public HttpResponseMessage GetAvailableWeeksHttpResponseMessage()
        {
            var context    = new TimeTableContext(WebConfigurationManager.AppSettings["DbConnectionString"]);
            var repository = new ClassroomRepository(context);
            var service    = new TimeTableService(repository);

            var weeks = service.GetAvailableWeeks();

            return(Request.CreateResponse(HttpStatusCode.OK, weeks));
        }
Esempio n. 5
0
        public HttpResponseMessage GetScheduleForClass(string classCode, int week)
        {
            var context    = new TimeTableContext(WebConfigurationManager.AppSettings["DbConnectionString"]);
            var repository = new ClassroomRepository(context);
            var service    = new TimeTableService(repository);

            var room = service.GetClassScheduleByCodeAndWeek(classCode, week);

            return(Request.CreateResponse(HttpStatusCode.OK, room));
        }
        public HttpResponseMessage Find(int start, int end, int dayofweek)
        {
            var context             = new TimeTableContext(WebConfigurationManager.AppSettings["DbConnectionString"]);
            var classroomRepository = new ClassroomRepository(context);
            var service             = new TimeTableService(classroomRepository);

            var emptyRooms = service.FindEmpty(start, end, dayofweek);

            return(Request.CreateResponse(HttpStatusCode.OK, emptyRooms));
        }
Esempio n. 7
0
        public IHttpActionResult Get(string strAccess)
        {
            var requestService = new Service.Utility.RequestDataHelper <WeekTablePostRequest>();
            var requestData    = JsonConvert.DeserializeObject <WeekTablePostRequest>(strAccess);
            var checkColumnKey = new string[2] {
                "token", "circlekey"
            };
            var checkEmpty = requestService.CheckColumnEmpty(requestData, checkColumnKey);
            var response   = new Infrastructure.ViewModel.Base.BaseResponse <List <TimeTable> >();

            response.Success = false;
            response.Data    = new List <TimeTable>();
            if (checkEmpty == false)
            {
                response.Message = "遺漏參數";
                response.State   = Infrastructure.ViewModel.Base.LogState.RequestDataError;
                return(Content(HttpStatusCode.BadRequest, response));
            }
            var tokenService = new TokenService();
            var checkToken   = tokenService.GetTokenInfo(requestData.Token).Result;

            if (checkToken == null)
            {
                response.Message = "已登出";
                response.State   = Infrastructure.ViewModel.Base.LogState.Logout;
                return(Ok(response));
            }
            var responseData = new List <TimeTable>();

            if (requestData.WeekTableData != null && requestData.WeekTableData.WeekTable.Count() > 0)
            {
                var dateTimeTools = new Service.Utility.DateTimeTools();
                responseData = dateTimeTools.GetTimeTableByWeekTable(requestData);
            }
            else
            {
                var timetableService = new TimeTableService();
                var searchData       = timetableService.GetList(requestData.CircleKey.ToLower());
                if (searchData != null)
                {
                    responseData = searchData.ToList();
                }
            }

            if (responseData == null)
            {
                response.Message = "查無資料";
                response.State   = Infrastructure.ViewModel.Base.LogState.Error;
                return(Ok(response));
            }
            response.Success = true;
            response.Message = "查詢成功";
            response.Data    = responseData;
            return(Ok(response));
        }
Esempio n. 8
0
        public IHttpActionResult Post(LearningCirclePostRequest requestData)
        {
            var result          = new Infrastructure.ViewModel.Base.BaseResponse <Infrastructure.Entity.LearningCircle>();
            var requestService  = new Service.Utility.RequestDataHelper <LearningCirclePostRequest>();
            var checkColumnKeys = new string[7] {
                "name", "description", "token", "startdate", "enddate", "weeks", "place"
            };
            var checkEmpty = requestService.CheckColumnEmpty(requestData, checkColumnKeys);

            if (checkEmpty == false)
            {
                result.Success = false;
                result.Message = "確認是否遺漏資訊";
                return(Content(HttpStatusCode.BadRequest, result));
            }
            var service = new LearningCircleService();
            var data    = service.CreateLearningCircle(requestData.Name,
                                                       requestData.CircleKey,
                                                       requestData.Description,
                                                       requestData.Token,
                                                       requestData.StartDate.Value,
                                                       requestData.EndDate.Value,
                                                       requestData.OrgId
                                                       );

            if (data == null)
            {
                result.Success = false;
                result.Message = "新增失敗";
                result.State   = Infrastructure.ViewModel.Base.LogState.Error;
                return(Ok(result));
            }
            result.Success = true;
            var learningRoleService = new LearningRoleService();
            var authService         = new AuthService();
            //建立老師角色身分
            var teacherRole = learningRoleService.AddLearningEditRole(data.CreateUser.Value, data.Id, "老師", true, false, 1);
            //建立助教角色身分
            var surpportTeacherRole = learningRoleService.AddLearningEditRole(data.CreateUser.Value, data.Id, "助教", true, false, 2);
            //建立學生角色身分
            var studentRole = learningRoleService.AddLearningEditRole(data.CreateUser.Value, data.Id, "學生", false);
            //建立學習圈內角色權限
            var insertAuthSuccess = authService.InsertLearningCircleAllRoleAuth(data.Id, data.CreateUser.Value);

            var weekService      = new WeekTableService();
            var weekDatas        = weekService.CreateWeekDatas(requestData.Token, data.LearningOuterKey, 0, requestData.Place, requestData.StartDate.Value, requestData.EndDate.Value, requestData.Weeks);
            var timeTableService = new TimeTableService();

            var timeTableDatas = requestData.ClassWeekType > 0 ? timeTableService.CreateByCircleKey(data.LearningOuterKey, requestData.ClassWeekType) : timeTableService.CreateByCircleKey(data.LearningOuterKey);

            result.Message = "新增成功";
            result.Data    = data;
            return(Ok(result));
        }
Esempio n. 9
0
        public static async void Init(TimeTableService timeTableService, MinuteTimeTableService minuteTimeTableService)
        {
            _timeTableService       = timeTableService;
            _minuteTimeTableService = minuteTimeTableService;

            await _timeTableService.SetTimeTables();

            _minuteTimeTableService.SetMinuteTimeTables();

            SetTimer();
        }
        public TimeTableViewModel()
        {
            DisplayTripsCommand = new DisplayTripsCommand(this);
            var timeTableService = new TimeTableService();

            GroupedRoutes = new ObservableCollection <GroupedRouteModel>()
            {
                timeTableService.GetVehicles("Autobusy", Group.Buses),
                timeTableService.GetVehicles("Tramwaje", Group.Trams),
                timeTableService.GetVehicles("Trolejbusy", Group.Trolleys)
            };
        }
        public HttpResponseMessage Save(TimeTableRequest request)
        {
            var result = false;

            if (IsValid(request.SecurityToken))
            {
                var svc = new TimeTableService(this._dbContext);
                svc.Save(request.SchoolId, request.ClassId, request.SectionId, request.TimeTable);
                result = true;
            }
            return(Request.CreateResponse(HttpStatusCode.OK, result));
        }
Esempio n. 12
0
        static void ConfigureServices(IDocumentStoreRepository documentStoreRepository, IPublicTransportRepository publicTransportRepository)
        {
            var converter         = new Converter();
            var filterHelper      = new FilterHelper();
            var helperTimeService = new TimeService();
            var convertingHelper  = new ConvertingHelper(converter, filterHelper, documentStoreRepository);
            var stopTimesService  = new StopTimesService(documentStoreRepository, publicTransportRepository);
            var downloadHelper    = new DownloadHelper(documentStoreRepository, helperTimeService, publicTransportRepository);
            var timeTableService  = new TimeTableService(documentStoreRepository, helperTimeService, convertingHelper, stopTimesService, downloadHelper);

            var polandPublicHoliday    = new PolandPublicHoliday();
            var dateChecker            = new DateChecker(polandPublicHoliday);
            var stopTimesFetcher       = new StopTimesFetcher(dateChecker, documentStoreRepository);
            var minuteTimeTableBuilder = new MinuteTimeTableBuilder(stopTimesFetcher);
            var minuteTimeTableService = new MinuteTimeTableService(minuteTimeTableBuilder, documentStoreRepository);

            UpdateTimeTableService.Init(timeTableService, minuteTimeTableService);
        }
        public IHttpActionResult Get([FromUri] string strAccess)
        {
            var requestData = JsonConvert.DeserializeObject <Infrastructure.ViewModel.CourseManage.GetAllMyCourseRequest>(strAccess);

            if (requestData.Account == null ||
                requestData.ICanToken == null
                )
            {
                return(Content(HttpStatusCode.BadRequest, "遺漏參數"));
            }
            var service  = new TimeTableService();
            var response = new ResultBaseModel <Infrastructure.ViewModel.CourseManage.GetMyCourseScheduleResponse>();

            var tokenService = new TokenService();
            var checkToken   = tokenService.GetTokenInfo(requestData.ICanToken).Result;

            if (checkToken == null)
            {
                response.Success = false;
                response.Message = "已登出";
                response.State   = Infrastructure.ViewModel.Base.LogState.Logout;
                response.Data    = new Infrastructure.ViewModel.CourseManage.GetMyCourseScheduleResponse[0];

                return(Ok(response));
            }

            var data = service.AppGetMyCourseRoomSchedule(requestData.ICanToken);

            if (data == null)
            {
                response.Success = false;
                response.Message = "查無資料";
                response.Data    = new Infrastructure.ViewModel.CourseManage.GetMyCourseScheduleResponse[0];

                return(Ok(response));
            }
            response.Success = true;
            response.Message = "查詢成功";
            response.Data    = data.ToArray();
            return(Ok(response));
        }
        public HttpResponseMessage Get(string securityToken, int schoolId, int classId, int sectionId)
        {
            TimeTableResponse response = null;

            if (IsValid(securityToken))
            {
                ITimeTable ttService = new TimeTableService(this._dbContext);
                response = new TimeTableResponse {
                    Status = "OK"
                };
                response.TimeTables = ttService.FindAll(schoolId, classId, sectionId);

                CurrentLoggerProvider.Info(string.Format("Retrieved Time Table. Count = {0}", response.TimeTables.Count()));
            }
            else
            {
                response = new TimeTableResponse {
                    Status = "Error", ErrorCode = "ERR1001", ErrorMessage = "Invalid or expired token"
                };
                CurrentLoggerProvider.Info("Invalid Request");
            }

            return(Request.CreateResponse(HttpStatusCode.OK, response));
        }
Esempio n. 15
0
 public TimeTableController(TimeTableService timeTableService)
 {
     _timeTableService = timeTableService;
 }