public ActionResult Alterar(FormCollection frm)
 {
     try
     {
         var cli = new Cliente()
         {
             TipoAcao = 2,
             CPF_CNPJ = Decimal.Parse(frm["cpfcnpj"].ToString()),
             Descricao = frm["nome"].ToString(),
             Status = frm["status"]==null ? 0 : int.Parse(frm["status"].ToString()),
             QtdeUsuario = int.Parse(frm["qtdusu"].ToString()),
             EmailPrincipal = frm["email"].ToString(),
             idUsuarioAtual = UsuarioAtual.ID,
             IdServico = IdServico_Atual
         };
         var cliRet = new ClienteRepository();
         var Retorno = cliRet.Incluir(cli);
         if (Retorno.CodigoRetorno < 0)
         {
             throw new Exception(Retorno.Mensagem);
         }
         ViewBag.Msg = Retorno.Mensagem;
         TempData["Msg"] = Retorno.Mensagem;
         return RedirectToAction("Listar", new { msg = Retorno.Mensagem });
     }
     catch (Exception ex)
     {
         ViewBag.Error = ex.Message;
         TempData["Error"] = ex.Message;
         return View("Create");
         //throw new Exception(ex.Message);
     }
 }
        public Cliente GetCliente(int idUsuario, int idCliente)
        {
            try
            {
                DbCommand _cmd;
                Database _db = DbConn.CreateDB();
                Cliente _cliente = new Cliente();

                _cmd = _db.GetStoredProcCommand(String.Format("proc_cliente_get"));

                _db.AddInParameter(_cmd, "@IdUsuario", DbType.Int32, idUsuario);
                _db.AddInParameter(_cmd, "@IdCliente", DbType.Int32, idCliente);
                //_db.AddInParameter(_cmd, "@IdServico", DbType.Int16, _queryParams["Servico_ID"]);

                using (IDataReader _dr = _db.ExecuteReader(_cmd))
                {
                    while (_dr.Read())
                    {
                        _cliente = ConverteBaseObjeto(_dr);
                    }
                }
                if (_cliente == null) { throw new Erro("Cliente não localizado."); }
                return _cliente;
            }
            catch (Exception ex) { throw new Erro(ex.Message); }
        }
 public JsonResult AjaxExcluir(string cpf_cnpj)
 {
     var Retorno = new Retorno();
     try
     {
         var cli = new Cliente()
         {
             TipoAcao = 3, //TipoAcao 3 é Exclusão
             CPF_CNPJ = Decimal.Parse(cpf_cnpj),
             idUsuarioAtual = UsuarioAtual.ID
         };
         var cliRet = new ClienteRepository();
         Retorno = cliRet.Incluir(cli);
         if (Retorno.CodigoRetorno < 0)
         {
             throw new Exception(Retorno.Mensagem);
         }
         //ViewBag.Msg = Retorno.Mensagem;
         TempData["Msg"] = Retorno.Mensagem;
         return Json(Retorno, JsonRequestBehavior.AllowGet);
     }
     catch (Exception ex)
     {
         //ViewBag.Error = ex.Message;
         //throw new Exception(ex.Message);
         return Json(Retorno, JsonRequestBehavior.AllowGet);
     }
 }
        public ActionResult Incluir(FormCollection frm)
        {
            var Retorno = new Retorno();

            try
            {

                var cli = new Cliente()
                {
                    TipoAcao=1,
                    CPF_CNPJ = Decimal.Parse(frm["cpfcnpj"].ToString()),
                    Descricao = frm["nome"].ToString(),
                    Status = frm["status"]==null ? 0 : int.Parse(frm["status"].ToString()),
                    QtdeUsuario = int.Parse(frm["qtdusu"].ToString()),
                    EmailPrincipal = frm["email"].ToString(),
                    idUsuarioAtual = UsuarioAtual.ID
                };
                ViewBag.Cliente = cli;
                var RetCPF = new UsuarioRepository().VerificaCPFDisponivel(UsuarioAtual.ID, decimal.Parse(frm["cpfcnpj"].ToString()));
                if (RetCPF.CodigoRetorno == 1)
                    throw new Exception(RetCPF.Mensagem);

                var cliRet = new ClienteRepository();
                Retorno = cliRet.Incluir(cli);
                if (Retorno.CodigoRetorno < 0)
                {
                    throw new Exception(Retorno.Mensagem);
                }
                TempData["Msg"] = Retorno.Mensagem;
                return RedirectToAction("Index", new { msg = Retorno.Mensagem });
            }
            catch(Exception ex)
            {
                ViewBag.Error = ex.Message;
                TempData["Error"] = ex.Message;
                return View("Create",frm);
                //throw new Exception(ex.Message);
            }
        }
 private Cliente ConverteBaseObjeto(IDataReader dt)
 {
     Cliente _cliente = new Cliente();
     _cliente = (new Cliente
     {
         ID = int.Parse(dt["IdCliente"].ToString()),
         CPF_CNPJ = Decimal.Parse(dt["CPF_CNPJ"].ToString()),
         Descricao = dt["Descricao"].ToString(),
         UrlCSS = dt["UrlEstilo"].ToString(),
         Servicos = new List<Servico>(),
         EmailPrincipal = dt["Email_Principal"].ToString(),
         Status = int.Parse(dt["Status"].ToString()),
         QtdeUsuario = int.Parse(dt["QtdeUsuario"].ToString())
     });
     return _cliente;
 }
 //public ServicoRepository(ILog logger, IConsumer consumer)
 public ClienteRepository()
 {
     TCliente = new Cliente();
 }
        public Retorno Incluir(Cliente usu)
        {
            try
            {
                DbCommand _cmd;
                Database _db = DbConn.CreateDB();
                _cmd = _db.GetStoredProcCommand("proc_Manutencao_Cliente");
                _db.AddInParameter(_cmd, "@TipoAcao", DbType.Int16, usu.TipoAcao);
                _db.AddInParameter(_cmd, "@CPF_CNPJ", DbType.Decimal, usu.CPF_CNPJ);
                _db.AddInParameter(_cmd, "@Descricao", DbType.String, usu.Descricao);
                _db.AddInParameter(_cmd, "@UrlEstilo", DbType.String, "URL.CSS");
                _db.AddInParameter(_cmd, "@DataCriacao", DbType.Int16, 0);
                _db.AddInParameter(_cmd, "@DataExclusao", DbType.Int16, 0);
                _db.AddInParameter(_cmd, "@DataAlteracao", DbType.Int16, 0);
                _db.AddInParameter(_cmd, "@Status", DbType.Int16, usu.Status);
                _db.AddInParameter(_cmd, "@QtdeUsuario", DbType.Int16, usu.QtdeUsuario);
                _db.AddInParameter(_cmd, "@Email_principal", DbType.String, usu.EmailPrincipal);
                _db.AddInParameter(_cmd, "@idUsuarioAtual", DbType.Int16, usu.idUsuarioAtual);

                var _Ret = new Retorno();

                using (IDataReader _dr = _db.ExecuteReader(_cmd))
                {
                    while (_dr.Read())
                    {
                        _Ret.CodigoRetorno = int.Parse(_dr[0].ToString());
                        _Ret.Mensagem = _dr[1].ToString();
                    }
                }
                return _Ret;
            }
            catch (Exception ex) { throw ex; }
        }
        public Cliente GetClienteServicoPorNome(string nomeServico, string nomeCliente)
        {
            try
            {
                DbCommand _cmd;
                Database _db = DbConn.CreateDB();
                Cliente _cliente = new Cliente();

                _cmd = _db.GetStoredProcCommand(String.Format("Get_ClienteSRVPorNome"));

                _db.AddInParameter(_cmd, "@NomeServico", DbType.String, nomeServico);
                _db.AddInParameter(_cmd, "@NomeCliente", DbType.String, nomeCliente);

                using (IDataReader _dr = _db.ExecuteReader(_cmd))
                {
                    while (_dr.Read())
                    {
                        //_cliente = ConverteBaseObjeto(_dr);
                        _cliente.IdServico = int.Parse(_dr["idServico"].ToString());
                        _cliente.IdCliente = int.Parse(_dr["idCliente"].ToString());
                    }
                }
                if (_cliente == null) { throw new Erro("Cliente não localizado."); }
                return _cliente;
            }
            catch (Exception ex) { throw new Erro(ex.Message); }
        }
        public Cliente GetClienteCPFCNPJ(string cpfcnpj, int idUsuarioAtual)
        {
            try
            {
                DbCommand _cmd;
                Database _db = DbConn.CreateDB();
                Cliente _cliente = new Cliente();

                _cmd = _db.GetStoredProcCommand(String.Format("Proc_Cliente_Por_CPF_CNPJ"));

                _db.AddInParameter(_cmd, "@CPF_CNPJ", DbType.Decimal,decimal.Parse(cpfcnpj));
                _db.AddInParameter(_cmd, "@idUsuario", DbType.Int32, idUsuarioAtual);

                using (IDataReader _dr = _db.ExecuteReader(_cmd))
                {
                    while (_dr.Read())
                    {
                        _cliente = ConverteBaseObjeto(_dr);
                    }
                }
                if (_cliente == null) { throw new Erro("Cliente não localizado."); }
                return _cliente;
            }
            catch (Exception ex) { throw new Erro(ex.Message); }
        }