示例#1
0
        private static List <string> HandleUploadFilesMedia(ClassesCommandViewModel classModel)
        {
            var filenames = new List <string>();

            if (classModel.ClassMediaCommandModel == null || classModel.ClassMediaCommandModel.Count == 0)
            {
                return(new List <string>());
            }

            foreach (var classMedia in classModel.ClassMediaCommandModel)
            {
                var guid      = Guid.NewGuid().ToString();
                var filename  = guid + "." + Path.GetExtension(classMedia.FileName).Substring(1);
                var directory = Directory.GetCurrentDirectory() + "\\ClientApp\\public\\Images";
                var path      = Path.Combine(directory, filename);
                if (!Directory.Exists(directory))
                {
                    Directory.CreateDirectory(directory);
                }

                using (var stream = new FileStream(path, FileMode.Create))
                {
                    classMedia.CopyTo(stream);
                    filenames.Add(filename);
                }
            }
            return(filenames);
        }
示例#2
0
        //public void AddStudentToClass(ClassesCommandViewModel classCommandModel)
        //{
        //    _classesRepository.AddStudentToClass(_mapper.Map<ClassModel>(classCommandModel));
        //}


        public void AddOrUpdateClass(ClassesCommandViewModel classCommandModel)
        {
            var filenames = HandleUploadFilesMedia(classCommandModel);

            if (classCommandModel.ClassesMediaModel != null)
            {
                foreach (var data in classCommandModel.ClassesMediaModel)
                {
                    filenames.Add(data.ImageName);
                }
            }
            var classModel = _mapper.Map <ClassModel>(classCommandModel);

            AddUploadedFiles(classModel, filenames);

            var filename = HandleUploadFileIcon(classCommandModel);

            if (classCommandModel.ClassIconModel != null && string.IsNullOrEmpty(filename))
            {
                classModel.ClassMediaIcon = new ClassMediaIcon()
                {
                    Id = classCommandModel.ClassIconModel.Id, ImageName = classCommandModel.ClassIconModel.ImageName
                }
            }
            ;
            else
            {
                classModel.ClassMediaIcon = new ClassMediaIcon()
                {
                    ImageName = filename
                };
            }

            _classesRepository.AddOrUpdateClass(classModel);
        }
        public ActionResult Add(ClassesCommandViewModel classCommandModel)
        {
            var classInputData = JsonConvert.DeserializeObject <ClassesCommandViewModel>(classCommandModel.InputData);

            classInputData.ClassMediaCommandModel = classCommandModel.ClassMediaCommandModel;
            classInputData.ClassIconCommandModel  = classCommandModel.ClassIconCommandModel;

            var GMT3StartDate   = classInputData.CourseStartDate;
            var CourseStartDate = GMT3StartDate.ToLocalTime();

            classInputData.CourseStartDate = CourseStartDate;

            var GMT3EndDate   = classInputData.CourseEndDate;
            var CourseEndDate = GMT3EndDate.ToLocalTime();

            classInputData.CourseEndDate = CourseEndDate;

            _classesService.AddOrUpdateClass(classInputData);
            return(Ok(new { status = "Ok" }));
        }
示例#4
0
        private static string HandleUploadFileIcon(ClassesCommandViewModel classModel)
        {
            if (classModel.ClassIconCommandModel == null)
            {
                return(string.Empty);
            }
            var guid      = Guid.NewGuid().ToString();
            var filename  = guid + "." + Path.GetExtension(classModel.ClassIconCommandModel.FileName).Substring(1);
            var directory = Directory.GetCurrentDirectory() + "\\ClientApp\\public\\Images";
            var path      = Path.Combine(directory, filename);

            if (!Directory.Exists(directory))
            {
                Directory.CreateDirectory(directory);
            }
            using (var stream = new FileStream(path, FileMode.Create))
            {
                classModel.ClassIconCommandModel.CopyTo(stream);
            }
            return(filename);
        }