public async Task <IActionResult> Put(int id, [FromBody] ComptesInternesViewModel comptesInternes)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    ComptesInternes _comptesInternes = _unitOfWork.ComptesInternes.GetSingleOrDefault(e => e.Id == id);
                    _comptesInternes.Label       = comptesInternes.Label;
                    _comptesInternes.NumCompte   = comptesInternes.NumCompte;
                    _comptesInternes.Description = comptesInternes.Description;


                    TypeComptes typeComtes = _unitOfWork.TypeComptes.GetSingleOrDefault(e => e.Id == comptesInternes.TypeComptesId);
                    _comptesInternes.TypeComptes = typeComtes;
                    //_comptesInternes.Name = _comptesInternes.Name.ToUpper();
                    _unitOfWork.ComptesInternes.Update(_comptesInternes);

                    await _unitOfWork.SaveChangesAsync();

                    return(Ok("OK"));
                }
                catch (Exception ex)
                {
                    return(BadRequest(ex.Data));
                }
            }
            else
            {
                return(BadRequest(ModelState));
            }
        }
        public async Task <IActionResult> Put(int id, [FromBody] TypeComptesViewModel typeComptes)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    TypeComptes _typeComptes = Mapper.Map <TypeComptes>(typeComptes);

                    //_typeComptes.Name = _typeComptes.Name.ToUpper();
                    _unitOfWork.TypeComptes.Update(_typeComptes);

                    await _unitOfWork.SaveChangesAsync();

                    return(Ok("OK"));
                }
                catch (Exception ex)
                {
                    return(BadRequest(ex.Data));
                }
            }
            else
            {
                return(BadRequest(ModelState));
            }
        }
        public async Task <IActionResult> Delete(int id)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    TypeComptes _typeComptes = _unitOfWork.TypeComptes.GetSingleOrDefault(e => e.Id == id);
                    if (_typeComptes != null)
                    {
                        _unitOfWork.TypeComptes.Remove(_typeComptes);
                        await _unitOfWork.SaveChangesAsync();

                        return(Ok("OK"));
                    }
                    else
                    {
                        return(BadRequest());
                    }
                }
                catch (Exception ex)
                {
                    return(BadRequest(ex.Data));
                }
            }
            else
            {
                return(BadRequest(ModelState));
            }
        }
        public async Task <IActionResult> Post([FromBody] TypeComptesViewModel typeComptes)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    TypeComptes _typeComptes = Mapper.Map <TypeComptes>(typeComptes);

                    //_typeComptes.Name = _typeComptes.   ;
                    await _unitOfWork.TypeComptes.AddAsync(_typeComptes);

                    return(Ok(await _unitOfWork.SaveChangesAsync()));
                }
                catch (Exception ex)
                {
                    return(BadRequest(ex.Data));
                }
            }
            return(BadRequest());
        }
        public async Task <IActionResult> Post([FromBody] ComptesInternesViewModel comptesInternes)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    ComptesInternes _comptesInternes = Mapper.Map <ComptesInternes>(comptesInternes);
                    TypeComptes     typeComptes      = _unitOfWork.TypeComptes.GetSingleOrDefault(e => e.Id == comptesInternes.TypeComptesId);
                    _comptesInternes.TypeComptes = typeComptes;
                    //_comptesInternes.Name = _comptesInternes.   ;
                    await _unitOfWork.ComptesInternes.AddAsync(_comptesInternes);

                    return(Ok(await _unitOfWork.SaveChangesAsync()));
                }
                catch (Exception ex)
                {
                    return(BadRequest(ex.Data));
                }
            }
            return(BadRequest());
        }