public async Task <JsonResult> UpdateTechnologyType([Required] TechnologyTypeViewModel model)
 {
     if (!ModelState.IsValid)
     {
         return(JsonModelStateErrors());
     }
     return(await JsonAsync(_crmVocabulariesService.UpdateTechnologyTypeAsync(model)));
 }
        /// <summary>
        /// Add technology type
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public virtual async Task <ResultModel <Guid> > AddTechnologyTypeAsync(TechnologyTypeViewModel model)
        {
            if (model == null)
            {
                return(new InvalidParametersResultModel <Guid>());
            }

            var technologyType = _mapper.Map <TechnologyType>(model);

            await _context.TechnologyTypes.AddAsync(technologyType);

            var result = await _context.PushAsync();

            return(result.Map(technologyType.Id));
        }
        /// <summary>
        /// Update technology type
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public virtual async Task <ResultModel> UpdateTechnologyTypeAsync(TechnologyTypeViewModel model)
        {
            if (model == null)
            {
                return(new InvalidParametersResultModel());
            }

            var technologyType = await _context.TechnologyTypes.AsNoTracking()
                                 .FirstOrDefaultAsync(x => x.Id == model.Id);

            if (technologyType == null)
            {
                return(new NotFoundResultModel());
            }

            technologyType = _mapper.Map <TechnologyType>(model);

            _context.TechnologyTypes.Update(technologyType);
            return(await _context.PushAsync());
        }