Пример #1
0
 public async Task <bool> IsDuplicateColorAsync(NewColorDto color)
 {
     return(await _dbContext.Colors.AnyAsync(c =>
                                             (c.Name.Equals(color.Name, StringComparison.InvariantCultureIgnoreCase) ||
                                              c.RgbHex.Equals(color.RgbHex, StringComparison.InvariantCultureIgnoreCase)) &&
                                             c.IsActive));
 }
Пример #2
0
        public async Task <IActionResult> AddColor([FromBody] NewColorDto newColor)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                if (await _colorRepository.IsDuplicateColorAsync(newColor))
                {
                    ModelState.AddModelError("color", "Color already exists");
                    return(BadRequest(ModelState));
                }

                var colorId = await _colorRepository.AddColorAsync(newColor);

                if (colorId > 0)
                {
                    return(Ok(colorId));
                }

                return(StatusCode(500, "An error ocurred in server"));
            }
            catch (Exception e)
            {
                _logger.LogCritical($"POST {Route} - {e.GetType().Name} - {e.Message} - {e.StackTrace}");
                return(StatusCode(500, "An error ocurred in server"));
            }
        }
Пример #3
0
        public async Task <int> AddColorAsync(NewColorDto newColor)
        {
            var color = new Color
            {
                Name     = newColor.Name,
                RgbHex   = newColor.RgbHex.ToUpper(),
                IsActive = true
            };

            await _dbContext.Colors.AddAsync(color);

            if (await _dbContext.SaveChangesAsync() > 0)
            {
                return(color.Id);
            }

            return(0);
        }