public async Task <IHttpActionResult> Put([FromUri] int idTowingCompany, [FromBody] TowingCompany towingCompany)
        {
            TowingCompany _towingCompany    = null;
            Company       _insuranceCompany = null;

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            else if (towingCompany == null)
            {
                return(BadRequest());
            }

            // Carrega a configuração da Seguradora associada ao Token
            _insuranceCompany = Util.Helper.GetConfiguration();

            // Busca Empresa de Guincho por relacionamento com a Seguradora do Token
            _towingCompany = await Task.Run(() => _towingCompanyService.ListByInsuranceCompany(_insuranceCompany)
                                            .FirstOrDefault(c => c.Id == idTowingCompany));

            // Verifica se Empresa de Guincho informada é relacionada com Seguradora do Token
            if (_towingCompany == null)
            {
                return(NotFound());
            }

            // Copiar as propriedades
            _towingCompany.Copy(towingCompany);

            // Atualiza dados da Empresa de Guincho
            _towingCompany = await Task.Run(() => this._towingCompanyService.Update(_towingCompany));

            return(Ok(_towingCompany));
        }