private void AsignarDatos(Agendamiento_cobros agendamiento) { StringBuilder info = new StringBuilder(); info.Append(agendamiento.Estado_cobro).Append(" - ").Append(agendamiento.Fecha_cobro.ToLongDateString()).Append(Environment.NewLine); info.Append("Valor de cuota: ").Append(agendamiento.Valor_cobro.ToString("C")); if (agendamiento.Estado_cobro.Equals("TERMINADO")) { info.Append(" - Valor pagado: ").Append(Agendamiento.Valor_pagado.ToString("C")); } info.Append(" - Saldo restante: ").Append(agendamiento.Saldo_restante.ToString("C")); this.txtInfoCliente.Text = info.ToString(); if (agendamiento.Estado_cobro.Equals("TERMINADO")) { this.panel1.BackColor = Color.SteelBlue; } else { this.panel1.BackColor = Color.FromArgb(255, 128, 128); if ((DateTime.Now - agendamiento.Fecha_cobro).Days < 1) { this.btnAbono.Visible = true; } else { this.btnAbono.Visible = false; } } }
private async void LoadAgendamientos(string tipo_busqueda, string texto_busqueda) { try { var(rpta, dtAgendamiento) = await NAgendamiento_cobros.BuscarAgendamientos(tipo_busqueda, texto_busqueda); this.Agendamientos = new List <Agendamiento_cobros>(); if (dtAgendamiento != null) { int pagos = 0; int nopagos = 0; List <UserControl> controls = new List <UserControl>(); this.UltimoAgendamiento = new Agendamiento_cobros(dtAgendamiento.Rows[0]); foreach (DataRow row in dtAgendamiento.Rows) { Agendamiento_cobros ag = new Agendamiento_cobros(row); this.Agendamientos.Add(ag); if (ag.Estado_cobro.Equals("TERMINADO")) { pagos += 1; } else { nopagos += 1; } AgendamientoSmall agendamientoSmall = new AgendamientoSmall { Agendamiento = ag, }; agendamientoSmall.OnRefresh += AgendamientoSmall_OnRefresh; controls.Add(agendamientoSmall); } this.panelPagos.AddArrayControl(controls); this.rdNoPagos.Text = "No pagos (" + nopagos + ")"; this.rdTerminados.Text = "Terminados (" + pagos + ")"; } } catch (Exception ex) { Mensajes.MensajeErrorCompleto(this.Name, "LoadAgendamientos", "Hubo un error al buscar los agendamientos", ex.Message); } }
private async void AsignarDatos(Ventas venta) { this.IsEditar = true; //Obtener el último agendamiento var(rptaAg, dt) = await NAgendamiento_cobros.BuscarAgendamientos("ID VENTA", venta.Id_venta.ToString()); if (dt != null) { Agendamiento_cobros agendamiento = new Agendamiento_cobros(dt.Rows[0]); this.txtValorAbono.Text = agendamiento.Valor_pagado.ToString("C"); this.txtValorAbono.Tag = agendamiento.Valor_pagado; this.dateUltimoPago.Value = agendamiento.Fecha_cobro; } this.gbValorAbono.Visible = true; this.rdActual.Visible = false; this.rdAnterior.Visible = false; this.gbUltimoPago.Visible = true; this.dateFechaVenta.Value = venta.Fecha_venta; this.txtNombres.Text = venta.Cliente.Nombres; this.txtApellidos.Text = venta.Cliente.Apellidos; this.txtIdentificacion.Text = venta.Cliente.Identificacion; this.txtValorTotalVenta.Tag = venta.Total_venta; this.txtValorTotalVenta.Text = venta.Total_venta.ToString("C"); this.txtDireccionResidencia.Text = venta.Direccion.Direccion; this.txtTelCliente.Text = venta.Cliente.Celular; this.numericPlazo.Value = venta.Numero_cuotas; this.dateFechaVenta.Value = venta.Fecha_venta; this.LoadListaFrecuencia(); this.listaFrecuencia.Text = venta.Frecuencia_cobro; this.LoadCiudades("ID PAIS", "2020"); this.listaCiudades.SelectedValue = venta.Direccion.Zona.Id_ciudad.ToString(); this.LoadBarrios("ID CIUDAD", venta.Direccion.Zona.Id_ciudad.ToString()); this.listaBarrios.SelectedValue = venta.Direccion.Zona.Id_zona; }
private async Task LoadAgendamientos(string tipo_busqueda, string texto_busqueda) { try { MensajeEspera.ShowWait("Cargando..."); var(rpta, dtAgendamiento) = await NAgendamiento_cobros.BuscarAgendamientos(tipo_busqueda, texto_busqueda); this.panelClientes.clearDataSource(); this.positionChanged = 1; this.DtAgendamientos = dtAgendamiento; if (dtAgendamiento != null) { List <UserControl> userControls = new List <UserControl>(); foreach (DataRow row in dtAgendamiento.Rows) { Agendamiento_cobros ag = new Agendamiento_cobros(row); ClienteSmall clienteSmall = new ClienteSmall { Agendamiento = ag, }; clienteSmall.OnRefresh += ClienteSmall_OnRefresh; userControls.Add(clienteSmall); } this.panelClientes.PageSize = 20; this.panelClientes.OnBsPositionChanged += PaneClientes_OnBsPositionChanged; this.panelClientes.SetPagedDataSource(userControls, this.bindingNavigator2); } MensajeEspera.CloseForm(); this.Show(); } catch (Exception ex) { MensajeEspera.CloseForm(); Mensajes.MensajeErrorCompleto(this.Name, "LoadClientes", "Hubo un error al cargar los agendamientos", ex.Message); } }
private void AsignarDatos(Agendamiento_cobros agendamiento) { StringBuilder infoCliente = new StringBuilder(); infoCliente.Append("(" + agendamiento.Venta.Cliente.Id_usuario + ") " + agendamiento.Venta.Cliente.NombreCompleto + " - Celular: " + agendamiento.Venta.Cliente.Celular + " - Cédula: " + agendamiento.Venta.Cliente.Identificacion).Append(Environment.NewLine); StringBuilder infoPago = new StringBuilder(); infoPago.Append("Total de la venta: " + agendamiento.Venta.Total_venta + " - Valor cuota: " + agendamiento.Venta.Valor_cuota.ToString("C")).Append(Environment.NewLine); this.txtInfoPago.Text = infoPago.ToString(); this.txtInfoCliente.Text = infoCliente.ToString(); if (agendamiento.Estado_cobro.Equals("PENDIENTE")) { this.panel1.BackColor = Color.FromArgb(255, 128, 128); } else { this.panel1.BackColor = Color.SteelBlue; } this.btnAbono.Visible = true; }
public static string InsertarAgendamiento(out int id_agendamiento, Agendamiento_cobros agendamiento) { DAgendamiento_cobros DAgendamiento_cobros = new DAgendamiento_cobros(); return(DAgendamiento_cobros.InsertarAgendamiento(out id_agendamiento, agendamiento)); }
public static async Task <string> EditarAgendamiento(int id_agendamiento, Agendamiento_cobros agendamiento) { DAgendamiento_cobros DAgendamiento_cobros = new DAgendamiento_cobros(); return(await DAgendamiento_cobros.EditarAgendamiento(id_agendamiento, agendamiento)); }
public string InsertarAgendamiento(out int id_agendamiento, Agendamiento_cobros agendamiento) { id_agendamiento = 0; int contador = 0; string rpta = ""; //string consulta = "INSERT INTO Agendamiento_cobros (Id_venta, Id_turno, Orden_cobro, Fecha_cobro, Hora_cobro, " + // "Valor_cobro, Valor_pagado, Saldo_restante, Tipo_cobro, Observaciones_cobro, Estado_cobro) " + // "VALUES(@Id_venta, @Id_turno, @Orden_cobro, @Fecha_cobro, @Hora_cobro, " + // "@Valor_cobro, @Valor_pagado, @Saldo_restante, @Tipo_cobro, @Observaciones_cobro, @Estado_cobro) " + // "SET @Id_agendamiento = SCOPE_IDENTITY() "; SqlConnection SqlCon = new SqlConnection(); SqlCon.InfoMessage += new SqlInfoMessageEventHandler(SqlCon_InfoMessage); SqlCon.FireInfoMessageEventOnUserErrors = true; try { SqlCon.ConnectionString = DConexion.Cn; SqlCon.Open(); SqlCommand SqlCmd = new SqlCommand { Connection = SqlCon, CommandText = "sp_Insertar_agendamiento", CommandType = CommandType.StoredProcedure, }; SqlParameter Id_agendamiento = new SqlParameter { ParameterName = "@Id_agendamiento", SqlDbType = SqlDbType.Int, Direction = ParameterDirection.Output }; SqlCmd.Parameters.Add(Id_agendamiento); SqlParameter Id_venta = new SqlParameter { ParameterName = "@Id_venta", SqlDbType = SqlDbType.Int, Value = agendamiento.Id_venta }; SqlCmd.Parameters.Add(Id_venta); contador += 1; SqlParameter Id_turno = new SqlParameter { ParameterName = "@Id_turno", SqlDbType = SqlDbType.Int, Value = agendamiento.Id_turno }; SqlCmd.Parameters.Add(Id_turno); contador += 1; SqlParameter Orden_cobro = new SqlParameter { ParameterName = "@Orden_cobro", SqlDbType = SqlDbType.Int, Value = agendamiento.Orden_cobro, }; SqlCmd.Parameters.Add(Orden_cobro); contador += 1; SqlParameter Fecha_cobro = new SqlParameter { ParameterName = "@Fecha_cobro", SqlDbType = SqlDbType.Date, Value = agendamiento.Fecha_cobro, }; SqlCmd.Parameters.Add(Fecha_cobro); contador += 1; SqlParameter Hora_cobro = new SqlParameter { ParameterName = "@Hora_cobro", SqlDbType = SqlDbType.Time, Value = agendamiento.Hora_cobro, }; SqlCmd.Parameters.Add(Hora_cobro); contador += 1; SqlParameter Valor_cobro = new SqlParameter { ParameterName = "@Valor_cobro", SqlDbType = SqlDbType.Decimal, Value = agendamiento.Valor_cobro, }; SqlCmd.Parameters.Add(Valor_cobro); contador += 1; SqlParameter Valor_pagado = new SqlParameter { ParameterName = "@Valor_pagado", SqlDbType = SqlDbType.Decimal, Value = agendamiento.Valor_pagado, }; SqlCmd.Parameters.Add(Valor_pagado); contador += 1; SqlParameter Saldo_restante = new SqlParameter { ParameterName = "@Saldo_restante", SqlDbType = SqlDbType.Decimal, Value = agendamiento.Saldo_restante, }; SqlCmd.Parameters.Add(Saldo_restante); contador += 1; SqlParameter Tipo_cobro = new SqlParameter { ParameterName = "@Tipo_cobro", SqlDbType = SqlDbType.VarChar, Size = 50, Value = agendamiento.Tipo_cobro.Trim().ToUpper() }; SqlCmd.Parameters.Add(Tipo_cobro); contador += 1; SqlParameter Observaciones_cobro = new SqlParameter { ParameterName = "@Observaciones_cobro", SqlDbType = SqlDbType.VarChar, Size = 150, Value = agendamiento.Observaciones_cobro.Trim().ToUpper() }; SqlCmd.Parameters.Add(Observaciones_cobro); contador += 1; SqlParameter Estado_cobro = new SqlParameter { ParameterName = "@Estado_cobro", SqlDbType = SqlDbType.VarChar, Size = 50, Value = agendamiento.Estado_cobro.Trim().ToUpper() }; SqlCmd.Parameters.Add(Estado_cobro); contador += 1; //Ejecutamos nuestro comando rpta = SqlCmd.ExecuteNonQuery() >= 1 ? "OK" : "NO SE INGRESÓ"; if (!rpta.Equals("OK")) { if (this.Mensaje_respuesta != null) { rpta = this.Mensaje_respuesta; } } else { id_agendamiento = Convert.ToInt32(SqlCmd.Parameters["@Id_agendamiento"].Value); } } //Mostramos posible error que tengamos catch (SqlException ex) { rpta = ex.Message; } catch (Exception ex) { rpta = ex.Message; } finally { //Si la cadena SqlCon esta abierta la cerramos if (SqlCon.State == ConnectionState.Open) { SqlCon.Close(); } } return(rpta); }
public async Task <string> EditarAgendamiento(int id_agendamiento, Agendamiento_cobros agendamiento) { int contador = 0; string rpta = ""; string consulta = "UPDATE Agendamiento_cobros SET " + "Id_venta = @Id_venta, " + "Id_turno = @Id_turno, " + "Fecha_cobro = @Fecha_cobro, " + "Hora_cobro = @Hora_cobro, " + "Valor_cobro = @Valor_cobro, " + "Valor_pagado = @Valor_pagado, " + "Saldo_restante = @Saldo_restante, " + "Tipo_cobro = @Tipo_cobro, " + "Observaciones_cobro = Observaciones_cobro, " + "Estado_cobro = @Estado_cobro " + "WHERE Id_agendamiento = @Id_agendamiento "; SqlConnection SqlCon = new SqlConnection(); SqlCon.InfoMessage += new SqlInfoMessageEventHandler(SqlCon_InfoMessage); SqlCon.FireInfoMessageEventOnUserErrors = true; try { SqlCon.ConnectionString = DConexion.Cn; await SqlCon.OpenAsync(); SqlCommand SqlCmd = new SqlCommand { Connection = SqlCon, CommandText = consulta, CommandType = CommandType.Text }; SqlParameter Id_agendamiento = new SqlParameter { ParameterName = "@Id_agendamiento", SqlDbType = SqlDbType.Int, Value = id_agendamiento, }; SqlCmd.Parameters.Add(Id_agendamiento); SqlParameter Id_venta = new SqlParameter { ParameterName = "@Id_venta", SqlDbType = SqlDbType.Int, Value = agendamiento.Id_venta, }; SqlCmd.Parameters.Add(Id_venta); contador += 1; SqlParameter Id_turno = new SqlParameter { ParameterName = "@Id_turno", SqlDbType = SqlDbType.Int, Value = agendamiento.Id_turno, }; SqlCmd.Parameters.Add(Id_turno); contador += 1; SqlParameter Fecha_cobro = new SqlParameter { ParameterName = "@Fecha_cobro", SqlDbType = SqlDbType.Date, Value = agendamiento.Fecha_cobro, }; SqlCmd.Parameters.Add(Fecha_cobro); contador += 1; SqlParameter Hora_cobro = new SqlParameter { ParameterName = "@Hora_cobro", SqlDbType = SqlDbType.Time, Value = agendamiento.Hora_cobro, }; SqlCmd.Parameters.Add(Hora_cobro); contador += 1; SqlParameter Valor_cobro = new SqlParameter { ParameterName = "@Valor_cobro", SqlDbType = SqlDbType.Decimal, Value = agendamiento.Valor_cobro, }; SqlCmd.Parameters.Add(Valor_cobro); contador += 1; SqlParameter Valor_pagado = new SqlParameter { ParameterName = "@Valor_pagado", SqlDbType = SqlDbType.Decimal, Value = agendamiento.Valor_pagado, }; SqlCmd.Parameters.Add(Valor_pagado); contador += 1; SqlParameter Saldo_restante = new SqlParameter { ParameterName = "@Saldo_restante", SqlDbType = SqlDbType.Decimal, Value = agendamiento.Saldo_restante, }; SqlCmd.Parameters.Add(Saldo_restante); contador += 1; SqlParameter Tipo_cobro = new SqlParameter { ParameterName = "@Tipo_cobro", SqlDbType = SqlDbType.VarChar, Size = 50, Value = agendamiento.Tipo_cobro.Trim().ToUpper() }; SqlCmd.Parameters.Add(Tipo_cobro); contador += 1; SqlParameter Observaciones_cobro = new SqlParameter { ParameterName = "@Observaciones_cobro", SqlDbType = SqlDbType.VarChar, Size = 150, Value = agendamiento.Observaciones_cobro.Trim().ToUpper() }; SqlCmd.Parameters.Add(Observaciones_cobro); contador += 1; SqlParameter Estado_cobro = new SqlParameter { ParameterName = "@Estado_cobro", SqlDbType = SqlDbType.VarChar, Size = 50, Value = agendamiento.Estado_cobro.Trim().ToUpper() }; SqlCmd.Parameters.Add(Estado_cobro); contador += 1; //Ejecutamos nuestro comando rpta = await SqlCmd.ExecuteNonQueryAsync() >= 1 ? "OK" : "NO SE INGRESÓ"; if (!rpta.Equals("OK")) { if (this.Mensaje_respuesta != null) { rpta = this.Mensaje_respuesta; } } } //Mostramos posible error que tengamos catch (SqlException ex) { rpta = ex.Message; } catch (Exception ex) { rpta = ex.Message; } finally { //Si la cadena SqlCon esta abierta la cerramos if (SqlCon.State == ConnectionState.Open) { SqlCon.Close(); } } return(rpta); }
private async void BtnSave_Click(object sender, EventArgs e) { try { var(result, usuario, direccion, venta, agendamiento) = await this.Comprobaciones(); if (result) { MensajeEspera.ShowWait("Guardando..."); List <string> errores = new List <string>(); string rpta = ""; if (this.IsEditar) { rpta = NUsuarios.EditarUsuario(usuario.Id_usuario, usuario); } else { rpta = NUsuarios.InsertarUsuario(out int id_usuario, usuario); direccion.Id_usuario = id_usuario; venta.Id_cliente = id_usuario; usuario.Id_usuario = id_usuario; } if (rpta.Equals("OK")) { if (this.IsEditar) { rpta = NDireccion_clientes.EditarDireccion(direccion.Id_direccion, direccion); } else { rpta = NDireccion_clientes.InsertarDireccion(out int id_direccion, direccion); venta.Id_direccion = id_direccion; } if (rpta.Equals("OK")) { if (this.IsEditar) { rpta = NVentas.EditarVenta(venta.Id_venta, venta); } else { rpta = NVentas.InsertarVenta(out int id_venta, venta); venta.Id_venta = id_venta; } if (rpta.Equals("OK")) { if (this.rdActual.Checked && !this.IsEditar && this.chkDescontar.Checked) { foreach (Articulos art in this.ArticulosSelected) { Detalle_articulos_venta detalle = new Detalle_articulos_venta { Articulo = art, Id_articulo = art.Id_articulo, Venta = venta, Id_venta = venta.Id_venta, Cantidad_articulo = (int)art.Cantidad_articulo, Valor_articulo = art.Valor_articulo, Estado_detalle = "ACTIVO", }; var(rptaDetalle, id_detalle) = await NDetalle_articulos_venta.InsertarDetalle(detalle); if (!rptaDetalle.Equals("OK")) { errores.Add(rptaDetalle); } } } MainController main = MainController.GetInstance(); if (!this.IsEditar) { rpta = NUsuariosVentas.InsertarUsuarioVenta(new Usuarios_ventas { Id_usuario = main.Usuario.Id_usuario, Id_venta = venta.Id_venta, }); if (rpta.Equals("OK")) { agendamiento.Id_venta = venta.Id_venta; rpta = NAgendamiento_cobros.InsertarAgendamiento(out int id_agendamiento, agendamiento); if (rpta.Equals("OK")) { MensajeEspera.CloseForm(); Mensajes.MensajeInformacion("Se guardó correctamente el cliente, " + "número cliente: " + usuario.Id_usuario + " Número venta: " + venta.Id_venta, "Entendido"); this.Close(); } else { throw new Exception(rpta); } } else { throw new Exception(rpta); } } else { //Obtener el último agendamiento var(rptaAg, dt) = await NAgendamiento_cobros.BuscarAgendamientos("ID VENTA", venta.Id_venta.ToString()); if (dt != null) { agendamiento = new Agendamiento_cobros(dt.Rows[0]); agendamiento.Valor_cobro = venta.Valor_cuota; agendamiento.Fecha_cobro = this.dateUltimoPago.Value; rptaAg = await NAgendamiento_cobros.EditarAgendamiento(agendamiento.Id_agendamiento, agendamiento); if (rptaAg != "OK") { Mensajes.MensajeInformacion("Se actualizó el cliente pero no su último pago," + "número cliente: " + usuario.Id_usuario + " Número venta: " + venta.Id_venta, "Entendido"); this.OnRefresh?.Invoke(sender, e); this.Close(); } else { Mensajes.MensajeInformacion("Se actualizó correctamente el cliente, " + "número cliente: " + usuario.Id_usuario + " Número venta: " + venta.Id_venta, "Entendido"); this.OnRefresh?.Invoke(sender, e); this.Close(); } } else { Mensajes.MensajeInformacion("Se actualizó correctamente el cliente pero no se encontraron sus agendamientos, número asignado: " + usuario.Id_usuario, "Entendido"); this.OnRefresh?.Invoke(sender, e); this.Close(); } } } } else { throw new Exception(rpta); } } else { throw new Exception(rpta); } } MensajeEspera.CloseForm(); } catch (Exception ex) { MensajeEspera.CloseForm(); Mensajes.MensajeErrorCompleto(this.Name, "BtnSave_Click", "Hubo un error al guardar el cliente", ex.Message); } }
Agendamiento_cobros agendamiento)> Comprobaciones() { bool result = true; MainController main = MainController.GetInstance(); Agendamiento_cobros agendamiento = new Agendamiento_cobros(); Usuarios usuario = new Usuarios(); Direccion_clientes direccion = new Direccion_clientes(); Ventas venta = new Ventas(); int id_cobro = 0; int id_tipo_producto = 0; if (this.IsEditar) { id_tipo_producto = this.Venta.Id_tipo_producto; id_cobro = this.Venta.Id_cobro; usuario = this.Venta.Cliente; direccion = this.Venta.Direccion; venta = this.Venta; venta.Id_cobro = id_cobro; venta.Id_tipo_producto = id_tipo_producto; venta.Id_turno = main.Turno.Id_turno; this.Total_articulos = venta.Total_venta; } else { usuario = new Usuarios(); direccion = new Direccion_clientes(); venta = new Ventas(); id_tipo_producto = 2; id_cobro = main.Turno.Id_cobro; usuario.Fecha_ingreso = DateTime.Now; usuario.Tipo_usuario = "CLIENTE"; usuario.Estado_usuario = "ACTIVO"; usuario.Email = string.Empty; direccion.Estado_direccion = "ACTIVO"; venta.Fecha_venta = DateTime.Now; venta.Id_cobro = id_cobro; venta.Id_tipo_producto = id_tipo_producto; venta.Id_turno = main.Turno.Id_turno; venta.Hora_venta = DateTime.Now.TimeOfDay; venta.Valor_venta = this.Total_articulos; venta.Total_venta = this.Total_articulos; venta.Fecha_venta = this.dateFechaVenta.Value; venta.Tipo_venta = "NUEVA"; venta.Interes_venta = 0; venta.Estado_venta = "ACTIVO"; agendamiento.Orden_cobro = 0; } if (string.IsNullOrEmpty(this.txtNombres.Text)) { Mensajes.MensajeInformacion("Verifique el nombre del cliente", "Entendido"); result = false; } if (string.IsNullOrEmpty(this.txtDireccionResidencia.Text)) { Mensajes.MensajeInformacion("Verifique la dirección del cliente", "Entendido"); result = false; } if (string.IsNullOrEmpty(this.txtTelCliente.Text)) { Mensajes.MensajeInformacion("Verifique el teléfono del cliente", "Entendido"); result = false; } if (string.IsNullOrEmpty(this.listaFrecuencia.Text)) { Mensajes.MensajeInformacion("Verifique la frecuencia de cobro", "Entendido"); result = false; } if (this.numericPlazo.Value == 0) { Mensajes.MensajeInformacion("Verifique el plazo de cobro", "Entendido"); result = false; } if (!int.TryParse(this.listaBarrios.SelectedValue.ToString(), out int id_barrio)) { Mensajes.MensajeInformacion("Verifique el barrio seleccionado", "Entendido"); result = false; } venta.Fecha_venta = this.dateFechaVenta.Value; var(dt, rpta) = await NUsuarios.BuscarClientes("IDENTIFICACION", this.txtIdentificacion.Text, ""); if (dt != null) { usuario = new Usuarios(dt.Rows[0]); Mensajes.MensajeInformacion("El cliente ya existe, se realizará una venta nueva", "Entendido"); } else { usuario.Alias = this.txtNombres.Text; usuario.Nombres = this.txtNombres.Text; usuario.Apellidos = this.txtApellidos.Text; usuario.Identificacion = this.txtIdentificacion.Text; if (string.IsNullOrEmpty(this.txtTelResidencia.Text)) { usuario.Celular = this.txtTelCliente.Text; } else { usuario.Celular = this.txtTelCliente.Text + " - " + this.txtTelResidencia.Text; } } direccion.Id_zona = id_barrio; direccion.Direccion = this.txtDireccionResidencia.Text; venta.Numero_cuotas = Convert.ToInt32(numericPlazo.Value); venta.Frecuencia_cobro = this.listaFrecuencia.Text; venta.Valor_cuota = (this.Total_articulos / Convert.ToInt32(numericPlazo.Value)); if (!this.IsEditar) { if (!decimal.TryParse(Convert.ToString(this.txtValorAbono.Tag), out decimal valor_abono)) { Mensajes.MensajeInformacion("Verifique el valor del abono", "Entendido"); result = false; } agendamiento.Id_turno = main.Turno.Id_turno; if (this.rdActual.Checked) { agendamiento.Fecha_cobro = dateUltimoPago.Value; } else { agendamiento.Fecha_cobro = dateUltimoPago.Value; } agendamiento.Hora_cobro = DateTime.Now.TimeOfDay; agendamiento.Valor_cobro = venta.Valor_cuota; agendamiento.Valor_pagado = valor_abono; agendamiento.Saldo_restante = this.Total_saldo; agendamiento.Tipo_cobro = this.listaFrecuencia.Text; agendamiento.Observaciones_cobro = ""; agendamiento.Estado_cobro = "TERMINADO"; } return(result, usuario, direccion, venta, agendamiento); }
private async void BtnReporteClientes_Click(object sender, EventArgs e) { MensajeEspera.ShowWait("Cargando reporte..."); DataTable dtClientes = new DataTable("Clientes"); dtClientes.Columns.Add("Id_cliente", typeof(int)); dtClientes.Columns.Add("Nombre_cliente", typeof(string)); dtClientes.Columns.Add("Celular_cliente", typeof(string)); dtClientes.Columns.Add("Referencia_articulo", typeof(string)); dtClientes.Columns.Add("Saldo_restante", typeof(string)); dtClientes.Columns.Add("Venta_total", typeof(string)); dtClientes.Columns.Add("Fecha_venta", typeof(string)); dtClientes.Columns.Add("Fecha_ultimo_pago", typeof(string)); dtClientes.Columns.Add("Dias_mora", typeof(int)); int id_cliente = 0; string nombre_cliente = string.Empty; string celular_cliente = string.Empty; string referencia_articulo = string.Empty; decimal saldo_restante = 0; decimal total_venta = 0; DateTime fecha_venta = DateTime.Now; decimal suma_ventas = 0; decimal suma_saldos = 0; DateTime fecha_ultimo_pago = DateTime.Now; MainController main = MainController.GetInstance(); var(rpta, dtVentas) = await NVentas.BuscarVentas("ID COBRO ACTIVO", main.Id_cobro.ToString()); if (dtVentas != null) { foreach (DataRow row in dtVentas.Rows) { Ventas venta = new Ventas(row); id_cliente = venta.Id_cliente; nombre_cliente = venta.Cliente.NombreCompleto; celular_cliente = venta.Cliente.Celular; total_venta = venta.Total_venta; fecha_venta = venta.Fecha_venta; suma_ventas += venta.Total_venta; //Buscar los agendamientos de cada venta para ver su saldo restante var(rpta1, dtAgendamientos) = await NAgendamiento_cobros.BuscarAgendamientos("ID VENTA", venta.Id_venta.ToString()); if (dtAgendamientos != null) { Agendamiento_cobros ag = new Agendamiento_cobros(dtAgendamientos.Rows[0]); saldo_restante = ag.Saldo_restante; suma_saldos += ag.Saldo_restante; fecha_ultimo_pago = ag.Fecha_cobro; } TimeSpan timeSpan = DateTime.Now - fecha_ultimo_pago; double dias_mora = timeSpan.TotalDays; DataRow newRow = dtClientes.NewRow(); newRow["Id_cliente"] = id_cliente; newRow["Nombre_cliente"] = nombre_cliente; newRow["Celular_cliente"] = celular_cliente; newRow["Referencia_articulo"] = referencia_articulo; newRow["Saldo_restante"] = saldo_restante.ToString("C"); newRow["Venta_total"] = total_venta.ToString("C"); newRow["Fecha_venta"] = fecha_venta.ToString("dd-MM-yyyy"); newRow["Fecha_ultimo_pago"] = fecha_ultimo_pago.ToString("dd-MM-yyyy"); newRow["Dias_mora"] = dias_mora; dtClientes.Rows.Add(newRow); } if (dtClientes.Rows.Count > 0) { MensajeEspera.CloseForm(); //Enviar informe FrmReporteClientes frmReporteClientes = new FrmReporteClientes { WindowState = FormWindowState.Maximized, dtClientes = dtClientes, Total_saldos = suma_saldos.ToString("C"), Total_ventas = suma_ventas.ToString("C"), }; frmReporteClientes.Show(); } else { MensajeEspera.CloseForm(); Mensajes.MensajeInformacion("No se encontraron clientes", "Entendido"); } } else { MensajeEspera.CloseForm(); Mensajes.MensajeInformacion("No se encontraron clientes", "Entendido"); } MensajeEspera.CloseForm(); }
private void BtnPrint_Click(object sender, EventArgs e) { try { MensajeEspera.ShowWait("Cargando..."); DataTable dtAgendamiento = new DataTable(); dtAgendamiento.Columns.Add("Id_agendamiento", typeof(int)); dtAgendamiento.Columns.Add("Fecha_agendamiento", typeof(string)); dtAgendamiento.Columns.Add("Nombre_cliente", typeof(string)); dtAgendamiento.Columns.Add("Celular_cliente", typeof(string)); dtAgendamiento.Columns.Add("Saldo_restante", typeof(string)); dtAgendamiento.Columns.Add("Valor_cuota", typeof(string)); dtAgendamiento.Columns.Add("Valor_pagado", typeof(string)); dtAgendamiento.Columns.Add("Tipo_cobro", typeof(string)); if (this.DtAgendamientos != null) { decimal total_recaudo = 0; foreach (DataRow row in this.DtAgendamientos.Rows) { Agendamiento_cobros ag = new Agendamiento_cobros(row); int id_agendamiento = ag.Id_agendamiento; DateTime fecha_agendamiento = ag.Fecha_cobro; string nombre_cliente = ag.Venta.Cliente.NombreCompleto; string celular_cliente = ag.Venta.Cliente.Celular; decimal saldo_restante = ag.Saldo_restante; decimal valor_cuota = ag.Valor_cobro; decimal valor_pagado = 0; string tipo_cobro = ag.Tipo_cobro; total_recaudo += valor_cuota; DataRow newRow = dtAgendamiento.NewRow(); newRow["Id_agendamiento"] = id_agendamiento; newRow["Fecha_agendamiento"] = fecha_agendamiento.ToString("yyyy-MM-dd"); newRow["Nombre_cliente"] = nombre_cliente; newRow["Celular_cliente"] = celular_cliente; newRow["Saldo_restante"] = saldo_restante.ToString("C"); newRow["Valor_cuota"] = valor_cuota.ToString("C"); newRow["Valor_pagado"] = valor_pagado.ToString("C"); newRow["Tipo_cobro"] = tipo_cobro; dtAgendamiento.Rows.Add(newRow); } MensajeEspera.CloseForm(); FrmReporteAgendamientos frmReporteAgendamientos = new FrmReporteAgendamientos { DtAgendamientos = dtAgendamiento, Total_recaudo = "Total a recaudar: " + total_recaudo.ToString("C"), }; frmReporteAgendamientos.ShowDialog(); } MensajeEspera.CloseForm(); } catch (Exception ex) { MensajeEspera.CloseForm(); Mensajes.MensajeErrorCompleto(this.Name, "", "Hubo un error al cargar el reporte", ex.Message); } }