Exemplo n.º 1
0
        public async Task <SkillCategory> EditCategoryAsync(EditSkillCategoryViewModel model,
                                                            CancellationToken cancellationToken = default(CancellationToken))
        {
            //Get SkillCategory
            var skillCategory = _dbContext.SkillCategories.Find(model);

            if (skillCategory == null)
            {
                throw new Exception();
            }

            //Update information
            if (!string.IsNullOrWhiteSpace(model.Name))
            {
                skillCategory.Name = model.Name;
            }

            // Photo is defined.
            //if (photo != null)
            //{
            //    var relativeSkillCategoryImagePath = await _fileService.AddFileToDirectory(model.Photo.Buffer, _appPath.ProfileImage, null, CancellationToken.None);
            //    skillCategory.Photo = Url.Content(relativeSkillCategoryImagePath);
            //}

            //Save change to db
            await _dbContext.SaveChangesAsync(cancellationToken);

            return(skillCategory);
        }
        /// <summary>
        /// <inheritdoc />
        /// </summary>
        /// <param name="id"></param>
        /// <param name="model"></param>
        /// <param name="cancellationToken"></param>
        /// <returns></returns>
        public virtual async Task <SkillCategory> EditSkillCategoryAsync(int id, EditSkillCategoryViewModel model,
                                                                         CancellationToken cancellationToken = default(CancellationToken))
        {
            //Get SkillCategory
            var skillCategories = _unitOfWork.SkillCategories.Search();

            skillCategories = skillCategories.Where(x => x.Id == id);
            var skillCategory = await skillCategories.FirstOrDefaultAsync(cancellationToken);

            if (skillCategory == null)
            {
                throw new HttpException((int)HttpStatusCode.NotFound, HttpMessages.SkillCategoryNotFound);
            }

            //Update information
            if (!string.IsNullOrWhiteSpace(model.Name))
            {
                skillCategory.Name = model.Name;
            }

            // Photo is defined.
            if (model.Photo != null)
            {
                var relativeSkillCategoryImagePath = await _fileService.AddFileToDirectory(model.Photo.Buffer, _appPath.ProfileImage, null, CancellationToken.None);

                skillCategory.Photo = _urlHelper.Content(relativeSkillCategoryImagePath);
            }

            //Save change to db
            await _unitOfWork.CommitAsync();

            return(skillCategory);
        }
Exemplo n.º 3
0
        public async Task <IHttpActionResult> EditSkillCategory([FromUri] int id, [FromBody] EditSkillCategoryViewModel model)
        {
            #region Parameter validation

            if (model == null)
            {
                model = new EditSkillCategoryViewModel();
                Validate(model);
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            Image photo = null;
            if (model.Photo != null)
            {
                var bytes = model.Photo.Buffer;
                photo = _fileService.GetImage(bytes);
                if (photo.Height != ImageSizeConstant.StandardSkillCategoryImageSize ||
                    photo.Width != ImageSizeConstant.StandardSkillCategoryImageSize)
                {
                    ModelState.AddModelError($"{nameof(model)}.{nameof(model.Photo)}", HttpMessages.SkillCategoryImageSizeInvalid);
                    return(BadRequest(ModelState));
                }
            }

            #endregion

            //Get SkillCategory
            var skillCategories = _unitOfWork.SkillCategories.Search();
            skillCategories = skillCategories.Where(x => x.Id == id);
            var skillCategory = await skillCategories.FirstOrDefaultAsync();

            if (skillCategory == null)
            {
                return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.NotFound, HttpMessages.SkillCategoryNotFound)));
            }

            //Update information
            if (!string.IsNullOrWhiteSpace(model.Name))
            {
                skillCategory.Name = model.Name;
            }

            // Photo is defined.
            if (photo != null)
            {
                var relativeSkillCategoryImagePath = await _fileService.AddFileToDirectory(model.Photo.Buffer, _appPath.ProfileImage, null, CancellationToken.None);

                skillCategory.Photo = Url.Content(relativeSkillCategoryImagePath);
            }

            //Save change to db
            await _unitOfWork.CommitAsync();

            return(Ok(skillCategory));
        }
        public async Task <IHttpActionResult> EditSkillCategory([FromUri] int id,
                                                                [FromBody] EditSkillCategoryViewModel model)
        {
            if (model == null)
            {
                model = new EditSkillCategoryViewModel();
                Validate(model);
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var skillCategory = await _skillSkilCategoryDomain.EditCategoryAsync(model);

            return(Ok(skillCategory));
        }
Exemplo n.º 5
0
        public async Task <IHttpActionResult> EditSkillCategory([FromUri] int id,
                                                                [FromBody] EditSkillCategoryViewModel model)
        {
            #region Parameter validation

            if (model == null)
            {
                model = new EditSkillCategoryViewModel();
                Validate(model);
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            Image photo = null;
            if (model.Photo != null)
            {
                var bytes = model.Photo.Buffer;
                photo = _fileService.GetImage(bytes);
                if (photo.Height != ImageSizeConstant.StandardSkillCategoryImageSize ||
                    photo.Width != ImageSizeConstant.StandardSkillCategoryImageSize)
                {
                    ModelState.AddModelError($"{nameof(model)}.{nameof(model.Photo)}",
                                             HttpMessages.SkillCategoryImageSizeInvalid);
                    return(BadRequest(ModelState));
                }
            }

            #endregion

            var skillCategory = await _skillCategoryService.EditSkillCategoryAsync(id, model);

            return(Ok(skillCategory));
        }