Ejemplo n.º 1
0
        public void AcceptTest(SyllabusManagerUser user, Syllabus input, Syllabus output, bool expectedResult)
        {
            // Arrange
            var dbSetMock = new Mock <DbSet <Syllabus> >();

            dbSetMock
            .Setup(r => r.Find(input.Id))
            .Returns(input);
            var syllabusService = new SyllabusService(SyllabusTestRepository.GetInMemorySyllabusContext(), null, dbSetMock.Object);

            // Act
            var result = syllabusService.Accept(input.Id, user);

            // Assert
            Assert.Equal(expectedResult, result);
            Assert.Equal(output.StudentGovernmentOpinion, input.StudentGovernmentOpinion);
            Assert.Equal(output.State, input.State);
            Assert.Equal(output.StudentRepresentativeName, input.StudentRepresentativeName);
            if (output.ApprovalDate is null)
            {
                Assert.Null(input.ApprovalDate);
            }
            else
            {
                Assert.NotNull(input.ApprovalDate);
            }
            if (output.ValidFrom is null)
            {
                Assert.Null(input.ValidFrom);
            }
            else
            {
                Assert.NotNull(input.ValidFrom);
            }
        }
Ejemplo n.º 2
0
        public IHttpActionResult Delete(int id, string token)
        {
            var requestService = new Service.Utility.RequestDataHelper <SyllabusManagePostRequest>();
            var result         = new Infrastructure.ViewModel.Base.BaseResponse <string>();

            if (id <= 0 || token == null || token == string.Empty)
            {
                result.State   = Infrastructure.ViewModel.Base.LogState.RequestDataError;
                result.Success = false;
                result.Message = "確認是否遺漏資訊";
                return(Content(HttpStatusCode.BadRequest, result));
            }


            var syllabusService = new SyllabusService();
            var data            = syllabusService.DeleteSyllabusByToken(id, token);

            if (data == null)
            {
                result.State   = Infrastructure.ViewModel.Base.LogState.Error;
                result.Success = false;
                result.Message = "刪除失敗";
                return(Ok(result));
            }
            result.Success = true;
            result.Message = "刪除成功";
            return(Ok(result));
        }
Ejemplo n.º 3
0
        public IHttpActionResult Post(SyllabusManagePostRequest requestData)
        {
            var requestService  = new Service.Utility.RequestDataHelper <SyllabusManagePostRequest>();
            var checkColumnKeys = new string[3] {
                "token", "circleKey", "syllabuses"
            };
            var checkEmpty = requestService.CheckColumnEmpty(requestData, checkColumnKeys);
            var result     = new Infrastructure.ViewModel.Base.BaseResponse <List <Infrastructure.Entity.Syllabus> >();

            //取得資料
            if (checkEmpty == false)
            {
                result.State   = Infrastructure.ViewModel.Base.LogState.RequestDataError;
                result.Success = false;
                result.Message = "確認是否遺漏資訊";
                return(Content(HttpStatusCode.BadRequest, result));
            }

            var syllabusService = new SyllabusService();
            var data            = syllabusService.SyllabusesDataProxy(requestData);


            if (data == null)
            {
                result.State   = Infrastructure.ViewModel.Base.LogState.Error;
                result.Success = false;
                result.Message = "新增失敗";
                return(Ok(result));
            }
            result.Success = true;
            result.Message = "新增成功";
            result.Data    = data;
            return(Ok(result));
        }
Ejemplo n.º 4
0
        public void AreChangesTest(Syllabus previous, Syllabus current, bool expectedResult)
        {
            // Arrange

            // Act
            var result = SyllabusService.AreChanges(previous, current);

            // Assert
            Assert.Equal(expectedResult, result);
        }
Ejemplo n.º 5
0
        public void SyllabusVerificationTest(Syllabus syllabus, List <string> exptectedOutput)
        {
            // Arrange
            var syllabusService = new SyllabusService(null, null, null, null);

            // Act
            var result = syllabusService.Verify(syllabus);

            // Assert
            Assert.True(exptectedOutput.All(o => result.Any(r => r == o)) && result.All(r => exptectedOutput.Any(o => r == o)));
        }
Ejemplo n.º 6
0
    {    /// <summary>
         /// 取得課綱資訊
         /// </summary>
         /// <param name="circleKey"></param>
         /// <param name="strAccess"></param>
         /// <returns></returns>
        public IHttpActionResult Get(string strAccess)
        {
            var requestService = new Service.Utility.RequestDataHelper <Infrastructure.ViewModel.Base.BackendBaseRequest>();
            var requestData    = JsonConvert.DeserializeObject <Infrastructure.ViewModel.Base.BackendBaseRequest>(strAccess);
            var checkColumnKey = new string[2] {
                "token", "circlekey"
            };
            var checkEmpty = requestService.CheckColumnEmpty(requestData, checkColumnKey);
            var response   = new Infrastructure.ViewModel.Base.BaseResponse <List <Infrastructure.ViewModel.CourseManage.GetCourseSyllabusResponse> >();

            response.Success = false;
            response.Data    = new List <GetCourseSyllabusResponse>();
            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 syllabusService = new SyllabusService();
            var data            = syllabusService.APPGetCourSyllabus(requestData.Token, requestData.CircleKey.ToLower());

            if (data == null && data.Count() < 0)
            {
                response.Success = false;
                response.Message = "查詢失敗";
                response.State   = Infrastructure.ViewModel.Base.LogState.Error;
                return(Ok(response));
            }
            response.Success = true;
            response.Message = "查詢成功";
            response.Data    = data.ToList();
            return(Ok(response));
        }
        public IHttpActionResult Get([FromUri] string strAccess)
        {
            var requestData = JsonConvert.DeserializeObject <Infrastructure.ViewModel.CourseManage.GetCourseSyllabusRequest>(strAccess);

            if (requestData.ClassID == null ||
                requestData.Account == null ||
                requestData.ICanToken == null)
            {
                return(Content(HttpStatusCode.BadRequest, "遺漏參數"));
            }
            var service = new SyllabusService();

            var result = new Infrastructure.ViewModel.Base.ResultBaseModel <Infrastructure.ViewModel.CourseManage.GetCourseSyllabusResponse>();

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

            if (checkToken == null)
            {
                result.Success = false;
                result.Message = "已登出";
                result.State   = Infrastructure.ViewModel.Base.LogState.Logout;
                return(Content(HttpStatusCode.BadRequest, result));
            }
            var data = service.APPGetCourSyllabus(requestData.ICanToken, requestData.ClassID);

            if (data == null)
            {
                result.Success = false;
                result.Message = "查詢錯誤";
                result.State   = Infrastructure.ViewModel.Base.LogState.Error;
                return(Ok(result));
            }
            result.Success = true;
            result.Data    = data.ToArray();
            result.Message = "查詢成功";
            return(Ok(result));
        }
Ejemplo n.º 8
0
        public IHttpActionResult Put(SyllabusManagePostRequest requestData)
        {
            var requestService  = new Service.Utility.RequestDataHelper <SyllabusManagePostRequest>();
            var checkColumnKeys = new string[5] {
                "id", "name", "note", "date", "token"
            };
            var checkEmpty = requestService.CheckColumnEmpty(requestData, checkColumnKeys);
            var result     = new Infrastructure.ViewModel.Base.BaseResponse <Infrastructure.Entity.Syllabus>();

            if (checkEmpty == false)
            {
                result.State   = Infrastructure.ViewModel.Base.LogState.RequestDataError;
                result.Success = false;
                result.Message = "確認是否遺漏資訊";
                return(Content(HttpStatusCode.BadRequest, result));
            }

            var syllabusService = new SyllabusService();
            var data            = syllabusService.UpdateSyllabusByToken(requestData.Id.Value,
                                                                        requestData.Name,
                                                                        requestData.Note,
                                                                        requestData.Date,
                                                                        requestData.Token);

            if (data == null)
            {
                result.State   = Infrastructure.ViewModel.Base.LogState.Error;
                result.Success = false;
                result.Message = "編輯失敗";
                return(Ok(result));
            }
            result.Success = true;
            result.Message = "編輯成功";
            result.Data    = data;
            return(Ok(result));
        }
        public IHttpActionResult Post([FromBody] Infrastructure.ViewModel.CourseManage.GetCourseSyllabusRequest value)
        {
            if (value.ClassID == null ||
                value.Account == null ||
                value.ICanToken == null)
            {
                return(Content(HttpStatusCode.BadRequest, "遺漏參數"));
            }

            var service = new SyllabusService();
            var data    = service.APPGetCourSyllabus(value.ICanToken, value.ClassID);
            var result  = new Infrastructure.ViewModel.Base.ResultBaseModel <Infrastructure.ViewModel.CourseManage.GetCourseSyllabusResponse>();

            if (data == null)
            {
                result.Success = false;
                result.Message = "查無資料";
                return(Ok(result));
            }
            result.Success = true;
            result.Data    = data.ToArray();
            result.Message = "查詢成功";
            return(Ok(result));
        }
Ejemplo n.º 10
0
        public HttpResponseMessage Get(string securityToken, int schoolId, int classId)
        {
            SyllabusResponse response = null;

            if (IsValid(securityToken))
            {
                ISyllabusService syllabusService = new SyllabusService(this._dbContext);
                response = new SyllabusResponse {
                    Status = "OK"
                };
                response.Syllabus = syllabusService.Get(schoolId, classId);

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

            return(Request.CreateResponse(HttpStatusCode.OK, response));
        }