public async Task Update(TipoAccesoGI model)
        {
            try
            {
                var _model = await dbGI.DbSetTipoAccesoGI.FirstOrDefaultAsync(e => e.Id == model.Id);

                if (_model != null)
                {
                    if (!model.ExisteEn(dbGI.DbSetTipoAccesoGI.Where(e => e.Id != model.Id).Select(e => e.Nombre).ToList(), "Nombre"))
                    {
                        dbGI.Entry(_model).CurrentValues.SetValues(model);
                        await dbGI.SaveChangesAsync();
                    }
                    else
                    {
                        throw new ApplicationException("Ya existe un registro con ese nombre.");
                    }
                }
            }
            catch (ApplicationException e)
            {
                throw new ApplicationException(e.Message, e);
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
        }
        public async Task <IHttpActionResult> Update([FromBody] TipoAccesoGI model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            try
            {
                await _tipoAccesoRepository.Update(model);

                return(Ok("Registro actualizado exitosamente!"));
            }
            catch (ApplicationException e)
            {
                return(BadRequest(e.Message));
            }
            catch (Exception e)
            {
                return(InternalServerError(e));
            }
        }