/// <summary>
        /// Delete an Ecommerce_Cliente_Endereco.
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ActionResult Remove(int id)
        {
            //Retorna o endereço a ser deletado
            var addressForDelete = new EnderecoService().GetById(id);

            //Retorna a lista de endereços de determinado cliente
            var listAddress = new EnderecoService().GetRecords(x => x.IdCliente == addressForDelete.IdCliente).ToList();

            //Retorna o endereço de entrega padrão
            var addressDefaultShipping = new EnderecoService().GetDefaultShippingAddress(addressForDelete.IdCliente);

            //Se houver mais que um endereço
            if (listAddress.Count > 1)
            {
                //Se o endereço para deletar for o mesmo que o de entrega
                if (addressForDelete.IdEndereco == addressDefaultShipping.IdEndereco)
                {
                    //Set o primeiro endereço como endereço de entrega.
                    var updateAddress = listAddress.FirstOrDefault(x => x.IsEnderecoEntrega == false);
                    new EnderecoService().ChangeShippingAddress(updateAddress, true);

                    //Delete o endereço solicitado
                    new EnderecoService().DeleteObject(id);
                    return Json(new JsonRequestResult { ResultType = JsonRequestResultType.Success, Message = Resources.Resource.Address_RemovedMessage }, JsonRequestBehavior.AllowGet);
                }

                new EnderecoService().DeleteObject(id);
                return Json(new JsonRequestResult { ResultType = JsonRequestResultType.Success, Message = Resources.Resource.Address_RemovedMessage }, JsonRequestBehavior.AllowGet);
            }

            return Json(new JsonRequestResult { ResultType = JsonRequestResultType.Alert, Message = Resources.Resource.Msg_Geral_UmEnderecoObrigatorio }, JsonRequestBehavior.AllowGet);
        }