コード例 #1
0
        public ServiceResult <HomeworkDto> CreateHomework(HomeworkRequest homeworkRequest)
        {
            string validationMessage = ValidateHomeworkRequest(homeworkRequest);

            if (!string.IsNullOrEmpty(validationMessage))
            {
                return(errorService.Error <HomeworkDto>(validationMessage));
            }

            if (flytDexContext.Homeworks.Any(h => h.Id == homeworkRequest.Id && h.SchoolId == homeworkRequest.SchoolId && h.LessonId == homeworkRequest.LessonId))
            {
                return(errorService.Error <HomeworkDto>("An error occurred: A homework with this Id already exists"));
            }

            //ICollection<LinkHomeworkResource> linkHomeworkResources = mapper.Map<ICollection<LinkHomeworkResourceDto>, ICollection<LinkHomeworkResource>>(homeworkRequest.LinkHomeworkResources);
            //ICollection<LinkStudentHomework> linkStudentHomeworks = mapper.Map<ICollection<LinkStudentHomeworkDto>, ICollection<LinkStudentHomework>>(homeworkRequest.LinkStudentHomeworks);


            Homework homework = mapper.Map <HomeworkRequest, Homework>(homeworkRequest);

            //homework.LinkHomeworkResources = linkHomeworkResources;

            flytDexContext.Homeworks.Add(homework);

            if (flytDexContext.SaveChanges() < 0)
            {
                return(errorService.Error <HomeworkDto>("An error occurred: Unable to save changes"));
            }

            HomeworkDto homeworkDto = mapper.Map <Homework, HomeworkDto>(homework);

            return(new ServiceResult <HomeworkDto>(homeworkDto, ResultType.Success, "Success"));
        }
コード例 #2
0
        public IActionResult UpdateHomework([FromBody] HomeworkRequest homeworkRequest)
        {
            IContainer container = IocService.BeginRequest();
            ServiceResult <HomeworkDto> result = container.GetInstance <IHomeworkService>().UpdateHomework(homeworkRequest);

            IocService.EndRequest(container);

            if (result.ResultType == ResultType.Error)
            {
                return(BadRequest(result.Message));
            }

            return(Ok(result));
        }
コード例 #3
0
        public void H_Req(HomeworkRequest Req)
        {
            Req.ReqDate = DateTime.Now;

            User usrObjectLec = ctx.Users.FirstOrDefault(x => x.id == Req.H_ID);
            User usrObjectStu = ctx.Users.FirstOrDefault(x => x.id == Req.S_ID);

            emailSending mailObject = new emailSending(usrObjectLec.mail, usrObjectStu.mail);

            mailObject.SendEmail(Req.C_Code, Req.title, Req.note);

            ctx.HomeworkRequests.Add(Req);
            ctx.SaveChanges();
        }
コード例 #4
0
        public ServiceResult <HomeworkDto> UpdateHomework(HomeworkRequest homeworkRequest)
        {
            string validationMessage = ValidateHomeworkRequest(homeworkRequest);

            if (!string.IsNullOrEmpty(validationMessage))
            {
                return(errorService.Error <HomeworkDto>(validationMessage));
            }

            Homework homework = flytDexContext.Homeworks.SingleOrDefault(h =>
                                                                         h.Id == homeworkRequest.Id &&
                                                                         h.SchoolId == homeworkRequest.SchoolId &&
                                                                         h.LessonId == homeworkRequest.LessonId);

            if (homework == null)
            {
                return(errorService.Error <HomeworkDto>("An error occurred: Invalid homework - not found"));
            }

            mapper.Map(homeworkRequest, homework);

            flytDexContext.LinkStudentHomeworks.RemoveRange(
                flytDexContext.LinkStudentHomeworks.Where(h => h.HomeworkId == homeworkRequest.Id)
                );

            flytDexContext.LinkHomeworkResources.RemoveRange(
                flytDexContext.LinkHomeworkResources.Where(h => h.HomeworkId == homeworkRequest.Id)
                );

            flytDexContext.Homeworks.Update(homework);

            if (flytDexContext.SaveChanges() <= 0)
            {
                return(errorService.Error <HomeworkDto>("Error updating homework, see log for error message"));
            }

            HomeworkDto homeworkDto = mapper.Map <Homework, HomeworkDto>(homework);

            return(new ServiceResult <HomeworkDto>(homeworkDto, ResultType.Success, "Success"));
        }
コード例 #5
0
        public string ValidateHomeworkRequest(HomeworkRequest homeworkRequest)
        {
            if (!flytDexContext.Schools.Any(s => s.Id == homeworkRequest.SchoolId))
            {
                return("An error occurred: Invalid SchoolId");
            }

            if (!flytDexContext.Lessons.Any(l => l.Id == homeworkRequest.LessonId))
            {
                return("An error occurred: Invalid LessonId");
            }

            if (homeworkRequest.HomeworkTemplateId != Guid.Empty && homeworkRequest.HomeworkTemplateId != null)
            {
                if (!flytDexContext.HomeworkTemplates.Any(h => h.Id == homeworkRequest.HomeworkTemplateId))
                {
                    return("An error occurred: Invalid HomeworkTemplateId");
                }
            }

            return(null);
        }