Example #1
0
        public async Task <ApiResult> CreateCourseAsync(TrainingCourseDTO courseDTO)
        {
            var result = default(ApiResult);
            var course = await courses.GetEntityByConditionAsync(x => x.Title.Equals(courseDTO.Title));

            if (course != null)
            {
                var message       = "Course creation has failed";
                var loggerMessage = $"Course with title {courseDTO.Title} already exists";
                var errors        = new string[] { loggerMessage };
                result = ApiResult.GetErrorResult(ApiResultStatus.BadRequest, loggerMessage, message, errors);
            }
            else
            {
                var image = courseDTO.Cover;
                if (image.Contains("share/img/courses"))
                {
                    courseDTO.Cover = imageWorker.CutImageToName(image);
                }
                course = mapperWrapper.MapEntity(courseDTO);
                await courses.CreateAsync(course);

                result = ApiResult.GetOkResult(ApiResultStatus.Ok, "Course created");
            }

            return(result);
        }
Example #2
0
        public async Task AddAsync(string jobId, int courseId, int userId)
        {
            var courseJobUserData = new CourseJobUser
            {
                JobId    = jobId,
                CourseId = courseId,
                UserId   = userId
            };

            await courseJobUser.CreateAsync(courseJobUserData);
        }
Example #3
0
        private async Task <ApiResult> GetAddCourseToUserResultAsync(SystemUser user, TrainingCourse course, SystemUsersTrainingCourses userCourse)
        {
            var result        = default(ApiResult);
            var loggerMessage = "Adding course to user. Result:{0}";
            var message       = "{0} id = {1} was not found";
            var errors        = default(IEnumerable <string>);

            if (course == null)
            {
                message       = string.Format(message, "Course", course.Id);
                loggerMessage = string.Format(loggerMessage, message);
                errors        = new string[] { message };

                result = ApiResult.GetErrorResult(ApiResultStatus.NotFound, loggerMessage, message, errors);
            }
            else if (user == null)
            {
                message       = string.Format(message, "User", user.Id);
                loggerMessage = string.Format(loggerMessage, message);
                errors        = new string[] { message };

                result = ApiResult.GetErrorResult(ApiResultStatus.NotFound, loggerMessage, message, errors);
            }
            else
            {
                userCourse.SystemUser     = user;
                userCourse.TrainingCourse = course;

                result = ApiResult.GetOkResult(ApiResultStatus.Ok);

                context.SystemUsersTrainingCourses.Add(userCourse);

                await usersCourses.CreateAsync(userCourse);

                var jobs = emailNotifyJob.CreateJobs(user, course, userCourse.StudyDate);

                foreach (var job in jobs)
                {
                    await coursesJobsUsers.AddAsync(job, course.Id, user.Id);
                }
            }

            return(result);
        }