public PartialViewResult BancosClientes(int bancoId, string nombre, string numeroCuenta) { var bancoCliente = new BancoCliente { BancoId = bancoId, Banco = _db.Bancos.Find(bancoId), Nombre = nombre, NumeroCuenta = numeroCuenta }; return(PartialView("~/Views/Clientes/Bancos.cshtml", bancoCliente)); }
private void btnAtualizarCliente_Click(object sender, EventArgs e) { BancoCliente cli = new BancoCliente(); _ = cli.AlterarCliente(txtNomeCliente.Text.ToString(), mskCpf.Text.ToString(), "", txtEmailCliente.Text.ToString(), "", mskTelefone.Text.ToString(), txtEndereco.Text.ToString(), txtBairro.Text.ToString(), txtCidade.Text.ToString(), txtEstado.Text.ToString(), txtComplemento.Text.ToString(), txtNumero.Text.ToString()); CamadaNegocios Cli = new CamadaNegocios(); DataSet ds = new DataSet(); ds = Cli.ExibirDados("Cliente"); dtgCliente.DataSource = ds.Tables[0]; }
//Botão de Cadastro private void btnAdicionarCli_Click(object sender, EventArgs e) { if (textNomeCli.Text != "") { CCliente c = new CCliente(); c.nome = textNomeCli.Text; c.telefone = maskedTextTelefonecli.Text; c.cpf = maskedTextCPFcli.Text; c.email = textemail.Text; c.endereço = textendereco.Text; BancoCliente bc1 = new BancoCliente(); bc1.addCliente(c); MessageBox.Show("Cliente cadastrado com sucesso!!!"); AtualizarLista(); LimparTela(); } }
public List <BancoCliente> getbancobycliente(string cliente) { try { using (SqlConnection sqlConn = new SqlConnection(this.strConn)) { sqlConn.Open(); SqlCommand cmd = new SqlCommand(strConn, sqlConn); cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.CommandText = "sp_get_Banco_Cliente"; cmd.Parameters.AddWithValue("@cliente", cliente); SqlDataReader reader = cmd.ExecuteReader(); List <BancoCliente> lgasto = new List <BancoCliente>(); while (reader.Read()) { BancoCliente mbancocliente = new BancoCliente(); mbancocliente.Codigo_banco = reader["codigo_banco"].ToString(); mbancocliente.Id_cliente = reader["id_cliente"].ToString();; mbancocliente.Nombre = reader["nombre"].ToString();; mbancocliente.Check = reader["check"].ToString(); lgasto.Add(mbancocliente); mbancocliente = null; } return(lgasto); } } catch (Exception ex) { throw ex; } }
//Botão de excluir private void btnExcluircli_Click(object sender, EventArgs e) { if (!isCCliente()) { MessageBox.Show("Cliente não cadastrado, selecione um cliente válido."); } else { DialogResult resposta = MessageBox.Show("Tem certeza que deseja excluir o cliente selecionado?", "Atenção", MessageBoxButtons.YesNo); if (resposta == DialogResult.Yes) { CCliente c = new CCliente(); c.idcli = id; BancoCliente bc3 = new BancoCliente(); bc3.excluirCliente(c); MessageBox.Show("Excluido do banco"); AtualizarLista(); LimparTela(); } } }
//Botão de alterar private void btnAlterarcli_Click(object sender, EventArgs e) { if (!isCCliente()) { MessageBox.Show("Cliente não cadastrado, selecione um cliente válido."); } else { CCliente c = new CCliente(); c.idcli = id; c.nome = textNomeCli.Text; c.telefone = maskedTextTelefonecli.Text; c.cpf = maskedTextCPFcli.Text; c.email = textemail.Text; c.endereço = textendereco.Text; BancoCliente bc2 = new BancoCliente(); bc2.alterarCliente(c); MessageBox.Show("Cliente alterado com sucesso!!!"); AtualizarLista(); LimparTela(); } }
public List <String> Importar(string path, int sucursalId) { var errores = new List <String>(); using (StreamReader archivo = File.OpenText(path)) { var csv = new CsvReader(archivo); var registros = new List <List <String> >(); var sucursal = _db.Sucursales.Find(sucursalId); while (csv.Read()) { var registro = new List <String>(); for (int i = 0; csv.TryGetField(i, out string value); i++) { registro.Add(value); } registros.Add(registro); } for (int i = 1; i < registros.Count(); i++) { try { var bancoCliente = new BancoCliente(); var rfcCliente = registros[i][0]; var nombreBanco = registros[i][1]; var nombre = registros[i][2]; var numeroCuenta = registros[i][3]; var cliente = _db.Clientes.FirstOrDefault(p => p.Rfc == rfcCliente && p.SucursalId == sucursalId); if (cliente == null) { throw new Exception(String.Format("El cliente con RFC {0} no fue encontrado en el registro {1}", rfcCliente, i)); } bancoCliente.ClienteId = cliente.Id; var banco = _db.Bancos.FirstOrDefault(p => p.NombreCorto == nombreBanco); if (banco == null) { throw new Exception(String.Format("El banco {0} no fue encontrado en el registro {1}", nombreBanco, i)); } bancoCliente.BancoId = banco.Id; bancoCliente.Nombre = nombre; bancoCliente.NumeroCuenta = numeroCuenta; //Sustitucion de espacios en blanco por null foreach (var propertyInfo in bancoCliente.GetType().GetProperties()) { if (propertyInfo.PropertyType == typeof(string)) { if ((String)propertyInfo.GetValue(bancoCliente, null) == string.Empty) { propertyInfo.SetValue(bancoCliente, null, null); } } } //Registro Existente var registroAnterior = _db.BancosClientes.FirstOrDefault(bc => bc.ClienteId == cliente.Id && bc.BancoId == banco.Id && bc.NumeroCuenta == numeroCuenta); if (registroAnterior != null) { bancoCliente.Id = registroAnterior.Id; } //Actualizacion _db.BancosClientes.AddOrUpdate(bancoCliente); try { _db.SaveChanges(); } catch (DbEntityValidationException dbEx) { var erroresDb = new List <String>(); foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { erroresDb.Add(String.Format("Propiedad: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage)); } } throw new Exception(string.Join(",", erroresDb.ToArray())); } catch (Exception ex) { if (ex.InnerException != null) { throw new Exception(ex.InnerException.InnerException.Message); } throw ex; } } catch (Exception ex) { errores.Add(ex.Message); } finally { archivo.Close(); archivo.Dispose(); } } } return(errores); }
public List <ComplementoPago> Importar(string path, int sucursalId, Meses mes, bool previsualizacion) { var errores = new List <String>(); var complementosPago = new List <ComplementoPago>(); using (StreamReader archivo = File.OpenText(path)) { try { var csv = new CsvReader(archivo); var registros = new List <List <String> >(); var sucursal = _db.Sucursales.Find(sucursalId); while (csv.Read()) { var registro = new List <String>(); for (int i = 0; csv.TryGetField(i, out string value); i++) { registro.Add(value); } registros.Add(registro); } var pagos = new List <Pago>(); //var facturasEmitidas = _db.FacturasEmitidas.Where(fe => fe.EmisorId == sucursalId).ToList(); for (int i = 1; i < registros.Count(); i++) { try { var fechaPago = Convert.ToDateTime(registros[i][0]); var formaPago = ParseEnum <c_FormaPago>(registros[i][1], i); var monto = Convert.ToDouble(registros[i][2]); var moneda = ParseEnum <c_Moneda>(registros[i][3], i); var tipoCambioPago = Convert.ToDouble(registros[i][4]); var tipoCambioDocumentoRelacionado = Convert.ToDouble(registros[i][5]); var numeroOperacion = registros[i][6]; if (String.IsNullOrEmpty(numeroOperacion)) { numeroOperacion = null; } var serie = registros[i][10]; var folio = registros[i][11]; var facturaEmitida = _db.FacturasEmitidas.FirstOrDefault(fe => fe.EmisorId == sucursalId && fe.Serie == serie && fe.Folio == folio); if (facturaEmitida == null) { errores.Add(String.Format("La factura {0} - {1} no fue encontrada para el registro {2}", serie, folio, i)); continue; } //Se desorganizaron los numeros por que necesito el cliente para determinar el banco var nombreBancoOrdenante = registros[i][7]; BancoCliente bancoOrdenante = null; if (!String.IsNullOrEmpty(nombreBancoOrdenante)) { bancoOrdenante = _db.BancosClientes.FirstOrDefault(b => b.Nombre == nombreBancoOrdenante && b.Cliente.SucursalId == sucursalId && b.ClienteId == facturaEmitida.ReceptorId); if (bancoOrdenante == null) { errores.Add(String.Format("El banco {0} no fue encontrado para el registro {1}", nombreBancoOrdenante, i)); continue; } } var nombreBancoBeneficiario = registros[i][8]; BancoSucursal bancoBeneficiario = null; if (!String.IsNullOrEmpty(nombreBancoBeneficiario)) { bancoBeneficiario = _db.BancosSucursales.FirstOrDefault(b => b.Nombre == nombreBancoBeneficiario && b.SucursalId == sucursalId); if (bancoBeneficiario == null) { errores.Add(String.Format("El banco {0} no fue encontrado para el registro {1}", nombreBancoBeneficiario, i)); continue; } } var numeroParcialidad = registros[i][9]; var importePagado = String.IsNullOrEmpty(registros[i][12]) ? facturaEmitida.Total : Convert.ToDouble(registros[i][12]); var importeSaldoAnterior = String.IsNullOrEmpty(registros[i][13]) ? facturaEmitida.Total : Convert.ToDouble(registros[i][13]); var importeSaldoInsoluto = String.IsNullOrEmpty(registros[i][14]) ? 0.0 : Convert.ToDouble(registros[i][14]); #region Pagos #region Documentos Relacionados var documentoRelacionado = new DocumentoRelacionado { FacturaEmitidaId = facturaEmitida.Id, FacturaEmitida = facturaEmitida, Folio = facturaEmitida.Folio, IdDocumento = facturaEmitida.Uuid, ImportePagado = importePagado, ImporteSaldoAnterior = importeSaldoAnterior, ImporteSaldoInsoluto = importeSaldoInsoluto, MetodoPago = facturaEmitida.MetodoPago, Moneda = facturaEmitida.Moneda, NumeroParcialidad = Convert.ToInt32(String.IsNullOrEmpty(numeroParcialidad) ? "1" : numeroParcialidad), Serie = facturaEmitida.Serie, TipoCambio = tipoCambioDocumentoRelacionado }; #endregion if (pagos.Any(p => p.NumeroOperacion == numeroOperacion && p.FechaPago == fechaPago && p.Monto == monto && p.DocumentosRelacionados.Any(dr => dr.FacturaEmitida.ReceptorId == documentoRelacionado.FacturaEmitida.ReceptorId))) { pagos.First(p => p.NumeroOperacion == numeroOperacion && p.FechaPago == fechaPago && p.Monto == monto && p.DocumentosRelacionados.Any(dr => dr.FacturaEmitida.ReceptorId == documentoRelacionado.FacturaEmitida.ReceptorId)).DocumentosRelacionados.Add(documentoRelacionado); } else { var pago = new Pago { FechaPago = fechaPago, FormaPago = formaPago, Moneda = moneda, Monto = monto, NumeroOperacion = numeroOperacion, SucursalId = sucursalId, TipoCambio = tipoCambioPago }; if (bancoOrdenante != null) { pago.BancoOrdenante = bancoOrdenante; pago.BancoOrdenanteId = bancoOrdenante.Id; } if (bancoBeneficiario != null) { pago.BancoBeneficiario = bancoBeneficiario; pago.BancoBeneficiarioId = bancoBeneficiario.Id; } if (pago.DocumentosRelacionados == null) { pago.DocumentosRelacionados = new List <DocumentoRelacionado>(); } pago.DocumentosRelacionados.Add(documentoRelacionado); pagos.Add(pago); } #endregion } catch (Exception ex) { errores.Add(String.Format("No se pudo procesar el registro {0} el motivo reportado: {1} </br>", i, ex.Message)); continue; } } foreach (var pago in pagos) { var receptor = pago.DocumentosRelacionados.FirstOrDefault().FacturaEmitida.Receptor; if (receptor == null) { errores.Add(String.Format("El pago {0} no tiene documentos relacionados", pago.Desplegado)); } var complementoPago = complementosPago.FirstOrDefault(cp => cp.ReceptorId == receptor.Id); if (complementoPago == null) { complementoPago = new ComplementoPago { FechaDocumento = DateTime.Now, Generado = false, ReceptorId = receptor.Id, Receptor = receptor, Status = Status.Activo, Mes = mes, SucursalId = sucursal.Id, Sucursal = sucursal, Version = "1.0", Pagos = new List <Pago> { pago } }; complementosPago.Add(complementoPago); } else { complementoPago.Pagos.Add(pago); } } } catch (Exception ex) { errores.Add(ex.Message); } finally { archivo.Close(); archivo.Dispose(); } } if (errores.Count > 0) { throw new Exception(String.Join("|", errores)); } if (!previsualizacion) { foreach (var complementoPago in complementosPago) { _db.ComplementosPago.Add(complementoPago); try { _db.SaveChanges(); } catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { errores.Add(String.Format("Propiedad: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage)); } } } } //foreach (var complementoPago in complementosPago) //{ // try // { // _pagosManager.GenerarComplementoPago(sucursalId, complementoPago.ReceptorId, complementoPago.Id); // errores.Add(String.Format("Comando realizado con éxito del complemento del receptor {0} con total de montos {1:c}", complementoPago.Receptor.RazonSocial, complementoPago.Pagos.Sum(p => p.Monto))); // } // catch (Exception ex) // { // errores.Add(String.Format("Error de generación del complemento del receptor {0} con total de montos {1:c}: {2}", complementoPago.Receptor.RazonSocial, complementoPago.Pagos.Sum(p => p.Monto), ex.Message)); // } //} } return(complementosPago); }