Exemplo n.º 1
0
        public async Task <ActionResult <KategoriaDTO> > AddKategoria([FromBody] KategoriaDTO kategoria)
        {
            string user_id = User.Claims.FirstOrDefault(u => u.Type == ClaimTypes.NameIdentifier).Value;


            if (!_context.Ceg.Any(c => c.CegadminId.Equals(user_id)))
            {
                ModelState.AddModelError("megnevezes", "A felhasználóhoz nem tartozik cég.");
                return(BadRequest(ModelState));
            }

            var ceg = await _context.Ceg.Where(c => c.CegadminId.Equals(user_id)).FirstAsync();

            if (_context.Kategoria.Any(k => k.Megnevezes.Equals(kategoria.Megnevezes) && k.CegId == ceg.Id))
            {
                ModelState.AddModelError("megnevezes", "A megadott névvel már létezik kategória.");
                return(BadRequest(ModelState));
            }



            Kategoria newKat = new Kategoria {
                Megnevezes = kategoria.Megnevezes, CegId = ceg.Id
            };

            _context.Kategoria.Add(newKat);
            await _context.SaveChangesAsync();

            var dto = new KategoriaDTO(newKat);

            return(CreatedAtAction(nameof(GetKategoria), new { id = newKat.Id }, dto));
        }
Exemplo n.º 2
0
        public async Task <IActionResult> EditKategoria([FromBody] KategoriaDTO putKategoria)
        {
            string user_id = User.Claims.FirstOrDefault(u => u.Type == ClaimTypes.NameIdentifier).Value;

            if (!KategoriaExists(putKategoria.Id))
            {
                ModelState.AddModelError("megnevezes", "A megadott azonosítóhoz nem tartozik kategória.");
                return(BadRequest(ModelState));
            }
            if (_context.Kategoria.Any(k => k.Megnevezes.Equals(putKategoria.Megnevezes) && k.CegId == putKategoria.CegId && k.Id != putKategoria.Id))
            {
                ModelState.AddModelError("megnevezes", "A megadott névvel már létezik kategória.");
                return(BadRequest(ModelState));
            }

            Kategoria kategoria = await _context.Kategoria.FindAsync(putKategoria.Id);

            kategoria.Megnevezes = putKategoria.Megnevezes;
            await _context.SaveChangesAsync();

            var dto = new KategoriaDTO(kategoria);

            return(Ok());
        }