コード例 #1
0
        public int Update(long id, CourseCompetencies request)
        {
            var model  = GetById(id);
            var exists = isExists(id, request);

            if (model == null)
            {
                return(0);
            }
            else if (exists == true)
            {
                return(1);
            }


            model.title                = request.title;
            model.description          = request.description;
            model.userGroupId          = request.userGroupId;
            model.lessonCompleted      = request.lessonCompleted;
            model.milestonesReached    = request.milestonesReached;
            model.assessmentsSubmitted = request.assessmentsSubmitted;
            model.updatedAt            = DateTime.Now;
            Save();

            return(2);
        }
コード例 #2
0
        public bool DuplicateByCourseId(long id, long newCourseId)
        {
            var courseCompetencies = GetByCourseId(id);

            foreach (CourseCompetencies cc in courseCompetencies)
            {
                CourseCompetencies ccModel = new CourseCompetencies();
                ccModel.courseId             = newCourseId;
                ccModel.title                = cc.title;
                ccModel.description          = cc.description;
                ccModel.userGroupId          = cc.userGroupId;
                ccModel.lessonCompleted      = cc.lessonCompleted;
                ccModel.milestonesReached    = cc.milestonesReached;
                ccModel.assessmentsSubmitted = cc.assessmentsSubmitted;
                ccModel.final                = cc.final;
                ccModel.createdAt            = DateTime.Now;
                ccModel.updatedAt            = DateTime.Now;
                _context.CourseCompetencies.Add(ccModel);
                _context.SaveChanges();

                foreach (CourseCompetenciesCertificate ccc in cc.CourseCompetenciesCertificate)
                {
                    CourseCompetenciesCertificate cccModel = new CourseCompetenciesCertificate();
                    cccModel.courseCompetenciesId = ccModel.id;
                    cccModel.attachment           = ccc.attachment;
                    cccModel.createdAt            = DateTime.Now;
                    cccModel.updatedAt            = DateTime.Now;
                    _context.CourseCompetenciesCertificate.Add(cccModel);
                    _context.SaveChanges();
                }
            }
            return(true);
        }
コード例 #3
0
        public bool Add(CourseCompetencies request)
        {
            var output   = false;
            var validate = _context.CourseCompetencies.Where(x => x.title == request.title && x.courseId == request.courseId).FirstOrDefault();

            if (validate == null)
            {
                request.createdAt = DateTime.Now;
                var model = _context.CourseCompetencies.Add(request);
                Save();
                output = true;
            }
            return(output);
        }
コード例 #4
0
        public async Task <IActionResult> Store([FromForm] CourseCompetenciesRequest request)
        {
            try
            {
                RequiredFields     model   = new RequiredFields();
                CourseCompetencies ccModel = new CourseCompetencies();
                ccModel.courseId             = request.courseId;
                ccModel.title                = request.title;
                ccModel.description          = request.description;
                ccModel.userGroupId          = request.userGroupId;
                ccModel.lessonCompleted      = request.lessonCompleted;
                ccModel.milestonesReached    = request.milestonesReached;
                ccModel.assessmentsSubmitted = request.assessmentsSubmitted;
                ccModel.final                = request.final;
                model.Competencies           = ccModel;

                object validateFields = _validationService.ValidateRequest("Competencies", model);
                if (JsonConvert.SerializeObject(validateFields).Length > 2)
                {
                    return(BadRequest(validateFields));
                }


                //var response = _competenciesRepository.Add(ccModel);

                var validate = _context.CourseCompetencies.Where(x => x.title == request.title && x.courseId == request.courseId).FirstOrDefault();
                if (validate == null)
                {
                    ccModel.createdAt = DateTime.Now;
                    _context.CourseCompetencies.Add(ccModel);
                    await _context.SaveChangesAsync();

                    var courseCompetenciesId = ccModel.id;
                    if (request.files != null)
                    {
                        var    path = Path.Combine(_hostingEnvironment.WebRootPath, _fileDirectory.virtualDirectory);
                        string competenciesFolder = String.Format("{0}\\Content\\Images\\CourseCompetencies", path);

                        if (!Directory.Exists(competenciesFolder))
                        {
                            Directory.CreateDirectory(competenciesFolder);
                        }



                        for (int i = 0; i < request.files.Count(); i++)
                        {
                            Stream stream = request.files[i].OpenReadStream();

                            var id        = Guid.NewGuid();
                            var extension = Path.GetExtension(request.files[i].FileName);
                            var fileName  = id.ToString() + extension.ToString().ToLower();

                            using (var zipStream = new FileStream(Path.Combine(competenciesFolder, fileName), FileMode.Create))
                            {
                                request.files[i].CopyTo(zipStream);
                            }

                            CourseCompetenciesCertificate cccModel = new CourseCompetenciesCertificate();
                            cccModel.courseCompetenciesId = courseCompetenciesId;
                            cccModel.attachment           = fileName;
                            _context.CourseCompetenciesCertificate.Add(cccModel);
                            await _context.SaveChangesAsync();
                        }
                    }
                    return(Ok(new GenericResult {
                        Response = true, Message = request.title + " has been successfully added"
                    }));
                }
                return(BadRequest(new GenericResult {
                    Response = false, Message = request.title + " is already exists"
                }));
            } catch (Exception e) {
                return(BadRequest(e));
            }
        }
コード例 #5
0
 private bool isExists(long id, CourseCompetencies request)
 {
     return(_context.CourseCompetencies.Any(e => e.id != id && e.title == request.title && e.courseId == request.courseId));
 }