示例#1
0
        public async Task <IActionResult> UpdateCeg([FromForm] CegKepDTO ceg)
        {
            string user_id = User.Claims.FirstOrDefault(u => u.Type == ClaimTypes.NameIdentifier).Value;

            var szuperadmin = await _context.Felhasznalo.FindAsync(user_id);

            if (!_context.Felhasznalo.Any(f => f.Id.Equals(ceg.CegadminId)))
            {
                ModelState.AddModelError("email", "A megadott azonosítóhoz nem tartozik felhasználó. " + ceg.CegadminId);
                return(BadRequest(ModelState));
            }
            if (_context.Ceg.Any(c => c.CegadminId.Equals(ceg.CegadminId) && c.Id != ceg.Id))
            {
                ModelState.AddModelError("email", "A megadott felhasználó már egy másik cég adminja.");
                return(BadRequest(ModelState));
            }
            if (!CegExists(ceg.Id))
            {
                ModelState.AddModelError("ceg", "A megadott azonosítóval nem létezik cég.");
                return(BadRequest(ModelState));
            }

            var frissitendo_ceg = await _context.Ceg.FindAsync(ceg.Id);

            var regi_admin = await _context.Felhasznalo.FindAsync(ceg.CegadminId);

            regi_admin.jogosultsagi_szint = 1;

            var uj_admin = await _context.Felhasznalo.FindAsync(ceg.CegadminId);

            uj_admin.jogosultsagi_szint = 3;

            frissitendo_ceg.CegadminId = ceg.CegadminId;
            frissitendo_ceg.nev        = ceg.Nev;


            if (System.IO.File.Exists(Path.Combine(webHostEnvironment.WebRootPath, frissitendo_ceg.ImagePath)) && ceg.image != null)
            {
                System.IO.File.Delete(Path.Combine(webHostEnvironment.WebRootPath, frissitendo_ceg.ImagePath));
            }

            var imagePath = await UploadFileGeneratePath(ceg.image, ceg.Id.ToString());

            frissitendo_ceg.ImagePath = imagePath;

            await _context.SaveChangesAsync();

            var dto = new CegDTO(frissitendo_ceg);


            return(CreatedAtAction(nameof(GetCeg), new { id = frissitendo_ceg.Id }, dto));
        }
示例#2
0
        public async Task <ActionResult <CegKepDTO> > AddCeg([FromForm] CegKepDTO ceg)
        {
            string user_id = User.Claims.FirstOrDefault(u => u.Type == ClaimTypes.NameIdentifier).Value;

            var szuperadmin = await _context.Felhasznalo.FindAsync(user_id);

            if (!_context.Felhasznalo.Any(f => f.Id.Equals(ceg.CegadminId)))
            {
                ModelState.AddModelError(nameof(ceg.CegadminId), "A megadott azonosítóhoz nem tartozik felhasználó.");
                return(BadRequest(ModelState));
            }
            if (_context.Ceg.Any(c => c.CegadminId.Equals(ceg.CegadminId)))
            {
                ModelState.AddModelError("email", "A megadott felhasználó már egy másik cég adminja.");
                return(BadRequest(ModelState));
            }

            var cegadmin = await _context.Felhasznalo.FindAsync(ceg.CegadminId);

            cegadmin.jogosultsagi_szint = 3;
            Ceg ujCeg = new Ceg();

            ujCeg.nev        = ceg.Nev;
            ujCeg.CegadminId = ceg.CegadminId;
            Console.WriteLine(ujCeg.ImagePath);
            _context.Ceg.Add(ujCeg);


            await _context.SaveChangesAsync();

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

            var image_path = await UploadFileGeneratePath(ceg.image, ceg_ujra.Id.ToString());

            if (image_path != null)
            {
                ceg_ujra.ImagePath = image_path;
            }
            else
            {
                ceg_ujra.ImagePath = "http://via.placeholder.com/160x160";
            }

            await _context.SaveChangesAsync();

            var dto = new CegDTO(ujCeg);

            return(CreatedAtAction(nameof(GetCeg), new { id = ujCeg.Id }, dto));
        }