예제 #1
0
        public async Task <IActionResult> PutPole([FromRoute] int id, [FromBody] PoleViewModel poleModel)
        {
            var token = GetToken();

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            if (!TokenService.ValidateToken(token) || !TokenService.VerifDateExpiration(token))
            {
                return(Unauthorized());
            }


            var poleToModifie = await _context.Pole.FindAsync(id);

            poleToModifie.PoleAddress = poleModel.PoleAddress;
            poleToModifie.PoleCity    = poleModel.PoleCity;
            poleToModifie.PoleCp      = poleModel.PoleCp;
            poleToModifie.PoleName    = poleModel.PoleName;

            _context.Entry(poleToModifie).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException e)
            {
                if (!PoleExists(id))
                {
                    return(NotFound());
                }
                if (e.Source != null)
                {
                    Console.WriteLine("IOException source: {0}", e.Source);
                }
                ModelState.AddModelError("Error",
                                         "Une erreur s'est produite lors de la modification du pole : ." + poleModel.PoleName);
                return(BadRequest(ModelState));
            }

            return(NoContent());
        }
예제 #2
0
        public async Task <IActionResult> GetPole([FromRoute] int id)
        {
            var token = GetToken();

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            if (!TokenService.ValidateToken(token) || !TokenService.VerifDateExpiration(token))
            {
                return(Unauthorized());
            }
            try
            {
                var pole = await _context.Pole.FindAsync(id);

                if (pole != null)
                {
                    var model = new PoleViewModel()
                    {
                        PoleName    = pole.PoleName,
                        PoleId      = pole.PoleId,
                        PoleAddress = pole.PoleAddress,
                        PoleCp      = pole.PoleCp,
                        PoleCity    = pole.PoleCity
                    };
                    return(Ok(model));
                }
            }
            catch (Exception e)
            {
                if (e.Source != null)
                {
                    Console.WriteLine("IOException source: {0}", e.Source);
                }
                throw;
            }

            return(NotFound());
        }
예제 #3
0
        public async Task <IActionResult> PostPole([FromBody] PoleViewModel poleModel)
        {
            var token = GetToken();

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            if (!TokenService.ValidateToken(token) || !TokenService.VerifDateExpiration(token))
            {
                return(Unauthorized());
            }


            var pole = new Pole()
            {
                PoleAddress = poleModel.PoleAddress,
                PoleCity    = poleModel.PoleCity,
                PoleCp      = poleModel.PoleCp,
                PoleName    = poleModel.PoleName
            };

            try
            {
                _context.Pole.Add(pole);
                await _context.SaveChangesAsync();
            }
            catch (Exception e)
            {
                if (e.Source != null)
                {
                    Console.WriteLine("IOException source: {0}", e.Source);
                }
                ModelState.AddModelError("Error",
                                         "Une erreur s'est produite lors de l'ajout du pole : ." + poleModel.PoleName);
                return(BadRequest(ModelState));
            }

            return(CreatedAtAction("GetPole", new { id = poleModel.PoleId }, poleModel));
        }