public ActionResult DeleteCliente(Cliente pCliente, int pId)
 {
     try
     {
         ClienteRepository exclui = new ClienteRepository();
         exclui.Delete(pId);
         return RedirectToAction("ListClientes").ComMensagemDeSucesso("Cliente excluído com sucesso!");
     }
     catch
     {
         return RedirectToAction("ListClientes").ComMensagemDeErro("Cliente não pode ser excluido! Existe pendências no sistema.");
     }
 }
 // DELETE: api/Cliente/5
 public HttpResponseMessage Delete(int pId)
 {
     try
     {
         ClienteRepository update = new ClienteRepository();
         var cliente = ClienteRepository.GetOne(pId);
         if (cliente.IdCliente != 0)
         {
             update.Delete(pId);
             return Request.CreateResponse(HttpStatusCode.OK);
         }
         else
         {
             return Request.CreateResponse(HttpStatusCode.BadRequest);
         }
     }
     catch (ArgumentException ex)
     {
         return Request.CreateErrorResponse(HttpStatusCode.NotFound, ex);
     }
 }
        public HttpResponseMessage Post([FromBody]Cliente pCliente)
        {
            //if (!ModelState.IsValid)
            //{
            //    return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
            //}

            try
            {

                ClienteRepository create = new ClienteRepository();

                //for (int x = 0; pClientes.Count() > x; x++)
                //{

                    Cliente cliente = new Cliente();

                    cliente.Nome = pCliente.Nome;
                    cliente.Telefone = pCliente.Telefone;
                    cliente.Endereco = pCliente.Endereco;
                    cliente.Bairro = pCliente.Bairro;
                    cliente.Cidade = pCliente.Cidade;
                    cliente.Estado = pCliente.Estado;
                    cliente.CPF_CNPJ = pCliente.CPF_CNPJ;

                    Cliente rCliente = ClienteRepository.Verificacao(pCliente);

                    if (rCliente != null)
                    {
                        create.Create(cliente);
                    }

                //}
                return Request.CreateResponse(HttpStatusCode.OK);
            }
            catch (ArgumentException ex)
            {
                return Request.CreateErrorResponse(HttpStatusCode.NotFound, ex);
            }
        }
        public ActionResult CreateCliente(Cliente pCliente)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    ViewBag.Estado = new SelectList(new Cliente().ListaEstados(), "Estado", "Estado", pCliente.Estado);

                    ClienteRepository create = new ClienteRepository();
                    create.Create(pCliente);
                    return RedirectToAction("ListClientes").ComMensagemDeSucesso("Cliente cadastrado com sucesso!");
                }
                else
                {
                    return View();
                }
            }
            catch
            {
                return RedirectToAction("ListClientes").ComMensagemDeErro("Preencha todos os campos!");
                throw;
            }
        }
        public ActionResult EditCliente(Cliente pCliente)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    ViewBag.Estado = new SelectList(new Cliente().ListaEstados(), "Estado", "Estado", pCliente.Estado);
                    ClienteRepository edit = new ClienteRepository();
                    edit.Update(pCliente);
                    return RedirectToAction("ListClientes").ComMensagemDeSucesso("Cliente editado com sucesso!");
                }

                return View("EditCliente");
            }
            catch
            {
                throw;
            }
        }
        // PUT: api/Cliente/5
        public HttpResponseMessage Put(int pId, Cliente pCliente)
        {
            if (!ModelState.IsValid)
            {
                return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
            }

            if (pId != pCliente.IdCliente)
            {
                return Request.CreateResponse(HttpStatusCode.BadRequest);
            }

            try
            {
                ClienteRepository update = new ClienteRepository();
                update.Update(pCliente);
                return Request.CreateResponse(HttpStatusCode.OK);
            }
            catch (ArgumentException ex)
            {
                return Request.CreateErrorResponse(HttpStatusCode.NotFound, ex);
            }
        }