//public ClienteFacturacionModel(ClienteFacturacionModel obj) : base(obj) { } public static new ClienteFacturacionModel Create(ClienteFacturacion obj) { if (obj == null) { return(null); } return(new ClienteFacturacionModel(obj) as ClienteFacturacionModel); }
private void btnGuardar_Click(object sender, EventArgs e) { this.Guardado = false; if (!Validaciones()) return; var res = Util.MensajePregunta("¿Está seguro de que la información es correcta?", GlobalClass.NombreApp); if (res == DialogResult.No) return; this.Cursor = Cursors.WaitCursor; int iClienteID; try { SplashScreen.Show(new Splash()); this.btnGuardar.Enabled = false; if (EsNuevo) { var cliente = new Cliente() { Nombre = this.txtNombreCliente.Text, Calle = this.txtCalle.Text, NumeroExterior = this.txtNumeroExt.Text, NumeroInterior = this.txtNumeroInt.Text, Colonia = this.txtColonia.Text, EstadoID = Util.Entero(this.cboEstado.SelectedValue), MunicipioID = Util.Entero(this.cboMunicipio.SelectedValue), CiudadID = Util.Entero(this.cboCiudad.SelectedValue), CodigoPostal = this.txtCp.Text, Alias = this.txtAlias.Text, Telefono = this.txtTelOficina.Text, Particular = this.txtTelParticular.Text, Celular = this.txtTelCelular.Text, Nextel = this.txtNextel.Text, TieneCredito = this.chkTieneCredito.Checked, Tolerancia = this.chkTolerancia.Checked, DiasDeCredito = Util.Entero(this.txtPlazo.Text), LimiteCredito = Util.Decimal(this.txtLimite.Text), CobranzaContacto = this.txtCreditoContacto.Text, CobranzaObservacion = this.txtCreditoObservacion.Text, MenorQue2000Efectivo = this.chkMenor2000Efectivo.Checked, TipoFormaPagoID = Util.Entero(this.cboMetodoPago.SelectedValue) > 0 ? Util.Entero(this.cboMetodoPago.SelectedValue) : default(int?), BancoID = Util.Entero(this.cboBanco.SelectedValue) > 0 ? Util.Entero(this.cboBanco.SelectedValue) : default(int?), CuentaBancaria = this.txtCuenta.Text, ListaDePrecios = Util.Entero(this.nudListaPrecio.Value), TipoClienteID = Util.Entero(this.cboTipoCliente.SelectedValue) > 0 ? Util.Entero(this.cboTipoCliente.SelectedValue) : default(int?), ClienteComisionistaID = Util.Entero(this.cboClienteComisionista.SelectedValue) > 0 ? Util.Entero(this.cboClienteComisionista.SelectedValue) : default(int?), EsClienteComisionista = this.chkClienteComisionista.Checked, EsTallerElectrico = this.chkTallerElectrico.Checked, EsTallerMecanico = this.chkTallerMecanico.Checked, EsTallerDiesel = this.chkTallerDiesel.Checked, Vip = this.chkVip.Checked, CobroPorEnvio = this.chkCobroPorEnvio.Checked, ImporteParaCobroPorEnvio = Util.Decimal(this.txtImporteParaCobroPorEnvio.Text), ImporteCobroPorEnvio = Util.Decimal(this.txtImporteCobroPorEnvio.Text), DiaDeCobro = this.cbDiaCobro.SelectedIndex+1, //HoraDeCobro = TimeSpan.Parse(this.cbCobrarCredito.Text); //var hora= DateTime.Parse(this.dtpHoraCobro.Value); // HoraDeCobro = TimeSpan.Parse(this.dtpHoraCobro.Value.TimeOfDay.ToString()) //Factura SiempreFactura = this.chkSiempreFactura.Checked, SiempreTicket = this.chkSiempreTicket.Checked, //Vale SiempreVale = this.chkSiempreVale.Checked, //Ticket precio 1 TicketPrecio1 = this.chkTicket1.Checked }; Datos.Guardar<Cliente>(cliente); iClienteID = cliente.ClienteID; if (this.txtRfc.Text != "") { var clf = Datos.GetEntity<ClienteFacturacion>(c => c.ClienteID == cliente.ClienteID); if (clf == null) { var clientef = new ClienteFacturacion() { ClienteID = cliente.ClienteID, Rfc = UtilLocal.LimpiarCadenaDeEspaciosBlancos(this.txtRfc.Text), RazonSocial = UtilLocal.LimpiarCadenaDeEspaciosBlancos(this.txtNombreCliente.Text), Calle = UtilLocal.LimpiarCadenaDeEspaciosBlancos(this.txtCalle.Text), NumeroExterior = UtilLocal.LimpiarCadenaDeEspaciosBlancos(this.txtNumeroExt.Text), NumeroInterior = UtilLocal.LimpiarCadenaDeEspaciosBlancos(this.txtNumeroInt.Text), Colonia = UtilLocal.LimpiarCadenaDeEspaciosBlancos(this.txtColonia.Text), CodigoPostal = this.txtCp.Text != "" ? UtilLocal.LimpiarCadenaDeEspaciosBlancos(this.txtCp.Text) : "00000", Pais = "MEXICO", EstadoID = Util.Entero(this.cboEstado.SelectedValue), MunicipioID = Util.Entero(this.cboMunicipio.SelectedValue), CiudadID = Util.Entero(this.cboCiudad.SelectedValue) }; Datos.Guardar<ClienteFacturacion>(clientef); } else { Datos.Guardar<ClienteFacturacion>(clf); } } if (this.ModificaCredito) { if (Util.Decimal(this.txtPlazo.Text) > 0 || Util.Decimal(this.txtLimite.Text) > 0 || this.chkTieneCredito.Checked || this.chkTolerancia.Checked) { if (cliente.ClienteID > 0) { var r = this.chkTieneCredito.Checked == true ? "SI" : "NO"; var t = this.chkTolerancia.Checked == true ? "SI" : "NO"; var credito = new ClienteCredito() { ClienteID = cliente.ClienteID, Accion = string.Format("Plazo:{0}, Limite:{1}, Restringir:{2}, Tolerancia:{3}", txtPlazo.Text, txtLimite.Text, r, t), Comentario = this.txtComentario.Text }; Datos.Guardar<ClienteCredito>(credito); } } } catalogosClientes.Instance.CustomInvoke<catalogosClientes>(m => m.seleccionarCliente(cliente.ClienteID)); } else { //Modificar Cliente Cliente.Nombre = this.txtNombreCliente.Text; Cliente.Calle = this.txtCalle.Text; Cliente.NumeroExterior = this.txtNumeroExt.Text; Cliente.NumeroInterior = this.txtNumeroInt.Text; Cliente.Colonia = this.txtColonia.Text; Cliente.EstadoID = Util.Entero(this.cboEstado.SelectedValue); Cliente.MunicipioID = Util.Entero(this.cboMunicipio.SelectedValue); Cliente.CiudadID = Util.Entero(this.cboCiudad.SelectedValue); Cliente.CodigoPostal = this.txtCp.Text; Cliente.Alias = this.txtAlias.Text; Cliente.Telefono = this.txtTelOficina.Text; Cliente.Particular = this.txtTelParticular.Text; Cliente.Celular = this.txtTelCelular.Text; Cliente.Nextel = this.txtNextel.Text; Cliente.TieneCredito = this.chkTieneCredito.Checked; Cliente.Tolerancia = this.chkTolerancia.Checked; Cliente.DiasDeCredito = Util.Entero(this.txtPlazo.Text); Cliente.LimiteCredito = Util.Decimal(this.txtLimite.Text); Cliente.CobranzaContacto = this.txtCreditoContacto.Text; Cliente.CobranzaObservacion = this.txtCreditoObservacion.Text; Cliente.MenorQue2000Efectivo = this.chkMenor2000Efectivo.Checked; Cliente.TipoFormaPagoID = Util.Entero(this.cboMetodoPago.SelectedValue); Cliente.BancoID = Util.Entero(this.cboBanco.SelectedValue); Cliente.CuentaBancaria = this.txtCuenta.Text; Cliente.ListaDePrecios = Util.Entero(this.nudListaPrecio.Value); Cliente.TipoClienteID = Util.Entero(this.cboTipoCliente.SelectedValue) > 0 ? Util.Entero(this.cboTipoCliente.SelectedValue) : default(int?); Cliente.ClienteComisionistaID = Util.Entero(this.cboClienteComisionista.SelectedValue) > 0 ? Util.Entero(this.cboClienteComisionista.SelectedValue) : default(int?); Cliente.EsClienteComisionista = this.chkClienteComisionista.Checked; Cliente.EsTallerElectrico = this.chkTallerElectrico.Checked; Cliente.EsTallerMecanico = this.chkTallerMecanico.Checked; Cliente.EsTallerDiesel = this.chkTallerDiesel.Checked; Cliente.Vip = this.chkVip.Checked; Cliente.CobroPorEnvio = this.chkCobroPorEnvio.Checked; Cliente.ImporteParaCobroPorEnvio = Util.Decimal(this.txtImporteParaCobroPorEnvio.Text); Cliente.ImporteCobroPorEnvio = Util.Decimal(this.txtImporteCobroPorEnvio.Text); //Guardar dia y hora de preferencia de cobro Cliente.DiaDeCobro = this.cbDiaCobro.SelectedIndex+1; Cliente.HoraDeCobro = TimeSpan.Parse(this.dtpHoraCobro.Value.TimeOfDay.ToString()); Cliente.SiempreFactura = this.chkSiempreFactura.Checked; Cliente.SiempreTicket = this.chkSiempreTicket.Checked; Cliente.SiempreVale = this.chkSiempreVale.Checked; Cliente.TicketPrecio1 = this.chkTicket1.Checked; Datos.Guardar<Cliente>(Cliente); iClienteID = Cliente.ClienteID; //Modificar Cliente Facturacion if (ClienteFacturacion != null) { ClienteFacturacion.Rfc = UtilLocal.LimpiarCadenaDeEspaciosBlancos(this.txtRfc.Text); ClienteFacturacion.RazonSocial = UtilLocal.LimpiarCadenaDeEspaciosBlancos(this.txtNombreCliente.Text); ClienteFacturacion.Calle = UtilLocal.LimpiarCadenaDeEspaciosBlancos(this.txtCalle.Text); ClienteFacturacion.NumeroExterior = UtilLocal.LimpiarCadenaDeEspaciosBlancos(this.txtNumeroExt.Text); ClienteFacturacion.NumeroInterior = UtilLocal.LimpiarCadenaDeEspaciosBlancos(this.txtNumeroInt.Text); ClienteFacturacion.Colonia = UtilLocal.LimpiarCadenaDeEspaciosBlancos(this.txtColonia.Text); ClienteFacturacion.CodigoPostal = UtilLocal.LimpiarCadenaDeEspaciosBlancos(this.txtCp.Text); ClienteFacturacion.Pais = "MEXICO"; ClienteFacturacion.EstadoID = Util.Entero(this.cboEstado.SelectedValue); ClienteFacturacion.MunicipioID = Util.Entero(this.cboMunicipio.SelectedValue); ClienteFacturacion.CiudadID = Util.Entero(this.cboCiudad.SelectedValue); Datos.Guardar<ClienteFacturacion>(ClienteFacturacion); } else { if (this.txtRfc.Text != "") { var clientef = new ClienteFacturacion() { ClienteID = Cliente.ClienteID, Rfc = UtilLocal.LimpiarCadenaDeEspaciosBlancos(this.txtRfc.Text), RazonSocial = UtilLocal.LimpiarCadenaDeEspaciosBlancos(this.txtNombreCliente.Text), Calle = UtilLocal.LimpiarCadenaDeEspaciosBlancos(this.txtCalle.Text), NumeroExterior = UtilLocal.LimpiarCadenaDeEspaciosBlancos(this.txtNumeroExt.Text), NumeroInterior = UtilLocal.LimpiarCadenaDeEspaciosBlancos(this.txtNumeroInt.Text), Colonia = UtilLocal.LimpiarCadenaDeEspaciosBlancos(this.txtColonia.Text), CodigoPostal = UtilLocal.LimpiarCadenaDeEspaciosBlancos(this.txtCp.Text), Pais = "MEXICO", EstadoID = Util.Entero(this.cboEstado.SelectedValue), MunicipioID = Util.Entero(this.cboMunicipio.SelectedValue), CiudadID = Util.Entero(this.cboCiudad.SelectedValue) }; Datos.Guardar<ClienteFacturacion>(clientef); } } if (modificoCredito && this.ModificaCredito) { var r = this.chkTieneCredito.Checked == true ? "SI" : "NO"; var t = this.chkTolerancia.Checked == true ? "SI" : "NO"; var credito = new ClienteCredito() { ClienteID = Cliente.ClienteID, Accion = string.Format("Plazo:{0}, Limite:{1}, Restringir:{2}, Tolerancia:{3}", txtPlazo.Text, txtLimite.Text, r, t), Comentario = this.txtComentario.Text }; Datos.Guardar<ClienteCredito>(credito); txtComentario.Text = ""; cargarClienteCredito(Cliente.ClienteID); } } // Se guardan los datos de los vehículos ClienteFlotilla oReg; foreach (DataGridViewRow oFila in this.dgvVehiculos.Rows) { if (oFila.IsNewRow) continue; int iId = this.dgvVehiculos.ObtenerId(oFila); int iCambio = this.dgvVehiculos.ObtenerIdCambio(oFila); switch (iCambio) { case Cat.TiposDeAfectacion.Agregar: case Cat.TiposDeAfectacion.Modificar: if (iCambio == Cat.TiposDeAfectacion.Agregar) oReg = new ClienteFlotilla() { ClienteID = iClienteID }; else oReg = Datos.GetEntity<ClienteFlotilla>(c => c.ClienteFlotillaID == iId && c.Estatus); oReg.NumeroEconomico = Util.Cadena(oFila.Cells["NumeroEconomico"].Value); oReg.Anio = (Util.Entero(oFila.Cells["Anio"].Value) > 0 ? (int?)Util.Entero(oFila.Cells["Anio"].Value) : null); oReg.MotorID = (Util.Entero(oFila.Cells["MotorID"].Value) > 0 ? (int?)Util.Entero(oFila.Cells["MotorID"].Value) : null); oReg.VehiculoTipoID = (Util.Entero(oFila.Cells["TipoID"].Value) > 0 ? (int?)Util.Entero(oFila.Cells["TipoID"].Value) : null); oReg.Vin = Util.Cadena(oFila.Cells["Vin"].Value); oReg.Color = Util.Cadena(oFila.Cells["Color"].Value); oReg.Placa = Util.Cadena(oFila.Cells["Placa"].Value); oReg.Kilometraje = Util.Entero(oFila.Cells["Kilometraje"].Value); Datos.Guardar<ClienteFlotilla>(oReg); break; case Cat.TiposDeAfectacion.Borrar: oReg = Datos.GetEntity<ClienteFlotilla>(c => c.ClienteFlotillaID == iId && c.Estatus); Datos.Eliminar<ClienteFlotilla>(oReg, true); break; } } this.CargarClienteVehiculos(iClienteID); new Notificacion("Cliente Guardado exitosamente", 2 * 1000).Mostrar(Principal.Instance); this.modificoCredito = false; this.Cursor = Cursors.Default; this.Guardado = true; this.clienteId = iClienteID; this.txtComentario.Clear(); //refrescar calendario this.CargarEventosCalendario(); SplashScreen.Close(); this.btnGuardar.Enabled = true; } catch (Exception ex) { SplashScreen.Close(); this.btnGuardar.Enabled = true; Util.MensajeError(ex.Message, GlobalClass.NombreApp); this.Cursor = Cursors.Default; } }
protected ClienteFacturacionModel(ClienteFacturacion obj) : base(obj) { }
public void CargarCliente(int clienteId) { this.LimpiarFormulario(); //Si viene de Ventas Ocultar los contenedores de ""abajo"" excepto Personal y vehículos if (VieneDeVentas) { this.tabClientes.TabPages.Remove(this.tabClientesCalendario); this.tabClientes.TabPages.Remove(this.tabControl); this.gpoCredito.Visible = false; this.gpoMetodoPago.Visible = false; this.gpoCaracteristicas.Visible = false; this.btnCobranza.Visible = false; } try { if (clienteId <= 0) { EsNuevo = true; // this.LimpiarFormulario() this.modificoCredito = false; this.gpoDatosUsuarios.Enabled = false; return; } var cliente = Datos.GetEntity<ClientesView>(c => c.ClienteID.Equals(clienteId)); if (cliente != null) { EsNuevo = false; this.gpoDatosUsuarios.Enabled = true; Cliente = Datos.GetEntity<Cliente>(c => c.ClienteID == cliente.ClienteID); this.ClienteID = clienteId; ClienteFacturacion = Datos.GetEntity<ClienteFacturacion>(c => c.ClienteID == cliente.ClienteID); if (this.cboEstado.DataSource == null) { this.bancos = new BindingSource(); var bancos = Datos.GetListOf<Banco>().ToList(); bancos.Insert(0, new Banco() { BancoID = 0, NombreBanco = "" }); this.bancos.DataSource = bancos; var listaEstados = (List<Estado>)estados.DataSource; this.cboEstado.DisplayMember = "NombreEstado"; this.cboEstado.DataSource = listaEstados; this.cboEstado.ValueMember = "EstadoID"; } this.txtNombreCliente.Text = cliente.Nombre; this.txtRfc.Text = cliente.Rfc; this.txtCalle.Text = cliente.Calle; this.txtNumeroExt.Text = cliente.NumeroExterior; this.txtNumeroInt.Text = cliente.NumeroInterior; this.txtColonia.Text = cliente.Colonia; this.txtPais.Text = "MEXICO"; this.txtCp.Text = cliente.CodigoPostal; this.txtFechaIngreso.Text = Util.Cadena(cliente.FechaRegistro.ToShortDateString()); this.txtAlias.Text = cliente.Alias; this.txtTelOficina.Text = cliente.Telefono; this.txtTelParticular.Text = cliente.Particular; this.txtTelCelular.Text = cliente.Celular; this.txtNextel.Text = cliente.Nextel; this.txtPlazo.Text = Util.Cadena(cliente.DiasDeCredito); this.txtLimite.Text = UtilLocal.DecimalToCadenaMoneda(cliente.LimiteCredito); this.chkTieneCredito.Checked = Util.Logico(cliente.TieneCredito); this.chkTolerancia.Checked = Util.Logico(cliente.Tolerancia); this.txtCreditoContacto.Text = cliente.CobranzaContacto; this.txtCreditoObservacion.Text = cliente.CobranzaObservacion; this.chkMenor2000Efectivo.Checked = cliente.MenorQue2000Efectivo.Valor(); if (cliente.TipoFormaPagoID != null) this.cboMetodoPago.SelectedValue = cliente.TipoFormaPagoID; if (cliente.BancoID != null) this.cboBanco.SelectedValue = cliente.BancoID; this.txtCuenta.Text = cliente.CuentaBancaria; this.nudListaPrecio.Value = cliente.ListaDePrecios < 1 ? 1 : cliente.ListaDePrecios; if (cliente.TipoClienteID != null) this.cboTipoCliente.SelectedValue = cliente.TipoClienteID; this.chkClienteComisionista.Checked = Util.Logico(cliente.EsClienteComisionista); this.chkTallerMecanico.Checked = Util.Logico(cliente.EsTallerMecanico); this.chkTallerElectrico.Checked = Util.Logico(cliente.EsTallerElectrico); this.chkTallerDiesel.Checked = Util.Logico(cliente.EsTallerDiesel); this.chkVip.Checked = Util.Logico(cliente.Vip); this.chkCobroPorEnvio.Checked = Cliente.CobroPorEnvio.Valor(); this.txtImporteCobroPorEnvio.Enabled = this.chkCobroPorEnvio.Checked; this.txtImporteParaCobroPorEnvio.Enabled = this.chkCobroPorEnvio.Checked; if (Cliente.CobroPorEnvio.Valor()) { this.txtImporteParaCobroPorEnvio.Text = Cliente.ImporteParaCobroPorEnvio.Valor().ToString(); this.txtImporteCobroPorEnvio.Text = Cliente.ImporteCobroPorEnvio.Valor().ToString(); } if (cliente.ClienteComisionistaID != null) this.cboClienteComisionista.SelectedValue = cliente.ClienteComisionistaID; else this.cboClienteComisionista.Text = ""; //this.txtPromedioPagoTotal.Text = Util.ConvertirCadena(cliente.PromedioPagoTotal); //this.txtPromedioPago3meses.Text = Util.ConvertirCadena(cliente.PromedioPagoTresMeses); //this.txtDeudaActual.Text = Util.DecimalToCadenaMoneda(cliente.DeudaActual); //this.txtVencido.Text = Util.DecimalToCadenaMoneda(cliente.DeudaVencido); //this.txtAcumulado.Text = Util.DecimalToCadenaMoneda(cliente.Acumulado); //this.txtAcumuladoH.Text = Util.DecimalToCadenaMoneda(cliente.AcumuladoH); // Otros acumulados var oVentas = Datos.GetListOf<VentasView>(c => c.ClienteID == clienteId && c.VentaEstatusID == Cat.VentasEstatus.Completada); this.txtAcumulado.Text = (cliente.AcumuladoH.Valor() + (oVentas.Count > 0 ? oVentas.Sum(c => c.Pagado) : 0)).ToString(GlobalClass.FormatoMoneda); this.cboEstado.SelectedValue = cliente.EstadoID; this.cboMunicipio.SelectedValue = cliente.MunicipioID; this.cboCiudad.SelectedValue = cliente.CiudadID; this.cargarClientePersonal(clienteId); this.cargarClienteCredito(clienteId); // Se cargan los vehículos del cliente this.CargarClienteVehiculos(clienteId); // Si es ventas mostrador, se bloquea this.gpoDatosUsuarios.Enabled = (clienteId != Cat.Clientes.Mostrador); // Para las cargas de la pestaña de productos vendidos this.CambiarClienteProductosVendidos(clienteId); // Se carga la tab Tablero de Control if (this.tabClientes.SelectedTab == this.tabControl) this.CargarTableroControl(clienteId); } } catch (Exception ex) { Util.MensajeError(ex.Message, GlobalClass.NombreApp); } }