Esempio n. 1
0
        public async Task <ActionResult <EcoleModel> > Post(EcoleModel model)
        {
            try
            {
                if (string.IsNullOrWhiteSpace(model.Nom))
                {
                    return(BadRequest("Le nom de l'école est obligatoire."));
                }
                if (string.IsNullOrWhiteSpace(model.Adresse))
                {
                    return(BadRequest("L'adresse de l'école est obligatoire."));
                }

                var ecole = _mapper.Map <Ecoles>(model);

                _uow.GetRepository <Ecoles>().Add(ecole);
                await _uow.CommitAsync();

                if (ecole.Id != 0)
                {
                    var url = _linkGenerator.GetPathByAction(HttpContext,
                                                             "Get",
                                                             values: new { id = ecole.Id });

                    return(Created(url, _mapper.Map <EcoleModel>(ecole)));
                }
                else
                {
                    _logger.LogWarning($"Erreur lors de l'ajout de l'école: {ecole.Nom}");

                    return(BadRequest("Erreur lors de l'ajout de l'école."));
                }
            }
            catch (Exception ex)
            {
                _logger.LogError($"Error ecole-post-one : {ex.Message}");

                return(StatusCode(StatusCodes.Status500InternalServerError, ex.Message));
            }
        }
Esempio n. 2
0
        public async Task <ActionResult <EcoleModel> > Put(EcoleModel model)
        {
            try
            {
                var ecole = await _uow.GetRepository <Ecoles>().GetAsync(model.Id);

                if (ecole == null)
                {
                    return(NotFound($"Ecole {model.Id} introuvable"));
                }

                if (string.IsNullOrWhiteSpace(model.Nom))
                {
                    return(BadRequest("Le nom de l'école est obligatoire."));
                }
                if (string.IsNullOrWhiteSpace(model.Adresse))
                {
                    return(BadRequest("L'adresse de l'école est obligatoire."));
                }

                var updatedEcole = _mapper.Map <Ecoles>(model);

                _uow.GetRepository <Ecoles>().Update(updatedEcole);
                await _uow.CommitAsync();

                var url = _linkGenerator.GetPathByAction(HttpContext,
                                                         "Get",
                                                         values: new { id = ecole.Id });

                return(Created(url, _mapper.Map <EcoleModel>(updatedEcole)));
            }
            catch (Exception ex)
            {
                _logger.LogError($"Error ecole-post-one : {ex.Message}");

                return(StatusCode(StatusCodes.Status500InternalServerError, ex.Message));
            }
        }