public async Task <ActionResult <Internaute> > CreateInternaute(Internaute internaute)
        {
            try
            {
                if (internaute == null)
                {
                    return(BadRequest());
                }
                var iEmail = await _internauteRepository.GetInternauteByEmail(internaute.Email);

                var iLogin = await _internauteRepository.GetInternauteByLogin(internaute.Login);

                if (iEmail != null)
                {
                    ModelState.AddModelError("Email", "Email existe déjà");
                    return(BadRequest(ModelState));
                }
                if (iLogin != null)
                {
                    ModelState.AddModelError("Login", "Login existe déjà");
                    return(BadRequest(ModelState));
                }
                var createdInternaute = await _internauteRepository.AddInternaute(internaute);

                return(CreatedAtAction(nameof(GetInternaute), new { id = createdInternaute.Id }, createdInternaute));
            }
            catch (Exception)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError,
                                  "Erreur execption non capturée de database, cela peut être une erreur de connexion"));
            }
        }
Example #2
0
        public async Task <Internaute> AddInternaute(Internaute internaute)
        {
            var result = await _appDbContext.Internautes.AddAsync(internaute);

            await _appDbContext.SaveChangesAsync();

            return(result.Entity);
        }
        public async Task <ActionResult <Internaute> > UpdateInternaute(int id, Internaute internaute)
        {
            try
            {
                if (id != internaute.Id)
                {
                    return(BadRequest("Id Internaute ne correspond pas "));
                }

                var iEmail = await _internauteRepository.GetInternauteByEmail(internaute.Email);

                var iLogin = await _internauteRepository.GetInternauteByLogin(internaute.Login);

                if (iEmail != null)
                {
                    ModelState.AddModelError("Email", "Email existe déjà");
                    return(BadRequest(ModelState));
                }
                if (iLogin != null)
                {
                    ModelState.AddModelError("Login", "Login existe déjà");
                    return(BadRequest(ModelState));
                }

                var iToUpdate = await _internauteRepository
                                .GetInternaute(id);

                if (iToUpdate == null)
                {
                    return(NotFound($"Internaute avec Id={id} n'a pas été trouvé"));
                }
                return(await _internauteRepository.UpdateInternaute(internaute));
            }
            catch (Exception)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError,
                                  "Erreur execption non capturée de database, cela peut être une erreur de connexion"));
            }
        }
Example #4
0
        public async Task <Internaute> UpdateInternaute(Internaute internaute)
        {
            var result = await _appDbContext.Internautes
                         .FirstOrDefaultAsync(i => i.Id == internaute.Id);

            if (result != null)
            {
                result.Email           = internaute.Email;
                result.Cv              = internaute.Cv;
                result.DateInscription = internaute.DateInscription;
                result.DateNaissance   = internaute.DateNaissance;
                result.IdCivilite      = internaute.IdCivilite;
                result.LienGoogle      = internaute.LienGoogle;
                result.Login           = internaute.Login;
                result.Password        = internaute.Password;
                result.Nom             = internaute.Nom;
                result.Prenom          = internaute.Prenom;

                await _appDbContext.SaveChangesAsync();

                return(result);
            }
            return(null);
        }
 public SessionContainer()
 {
     this.internaute = new Internaute();
 }