protected override void OnItemAdded(ListViewItem item, Lfx.Data.Row row) { switch (row.Fields["vencimientos.estado"].ValueInt) { case 1: item.SubItems["vencimientos.estado"].Text = "Activo"; DbDateTime Vencimiento = row.Fields["vencimientos.fecha_proxima"].ValueDateTime; if (Vencimiento != null) { if (Vencimiento <= DateTime.Now) { item.ForeColor = System.Drawing.Color.Red; } else if (Vencimiento <= DateTime.Now.AddDays(5)) { item.ForeColor = System.Drawing.Color.Orange; } } break; case 2: item.SubItems["vencimientos.estado"].Text = "Inactivo"; break; case 100: item.SubItems["vencimientos.estado"].Text = "Terminado"; break; } }
/// <summary> /// Carga (o vuelve a cargar) el elemento desde su registro asociado en la base de datos. /// </summary> public virtual Lfx.Types.OperationResult Cargar() { if (m_ItemId == 0) { throw new InvalidOperationException("No se puede cargar el registro desde la tabla " + this.TablaDatos + " porque no tiene Id."); } else { // Quito el registro de la caché Lfx.Workspace.Master.Tables[this.TablaDatos].FastRows.RemoveFromCache(this.Id); } // En realidad, lo único que hago es vaciar los valores en memoria y dejo que this.Registro.Get() lo cargue. this.m_Registro = null; this.m_RegistroOriginal = null; this.m_Etiquetas = null; this.m_ImagenCambio = false; this.m_Imagen = null; // Fuerzo la carga. Lfx.Data.Row Dummy = this.Registro; if (Dummy == null) { return(new Lfx.Types.FailureOperationResult("No se pudo cargar el registro")); } else { return(new Lfx.Types.SuccessOperationResult()); } }
protected override void OnItemAdded(ListViewItem item, Lfx.Data.Row row) { item.SubItems["comprob.pv"].Text = row.Fields["comprob.pv"].ValueInt.ToString("0000"); item.SubItems["comprob.numero"].Text = row.Fields["comprob.numero"].ValueInt.ToString("00000000"); Contadores[0].AddValue(row.Fields["pendiente"].ValueDecimal); if (row.Fields["comprob.id_formapago"] != null) { int idFormPago = row.Fields["id_formapago"].ValueInt; Lfx.Data.Row formPago = Lfx.Workspace.Master.Tables["formaspago"].FastRows[idFormPago]; switch (idFormPago) { case 1: case 3: //Controla Pago break; default: item.SubItems["comprob.cancelado AS total"].Text = ""; break; } if (formPago != null) { item.SubItems["comprob.id_formapago"].Text = formPago.Fields["nombre"].Value.ToString(); } } }
protected override void OnItemAdded(ListViewItem item, Lfx.Data.Row row) { switch (row.Fields["chequeras.estado"].ValueInt) { case 0: item.SubItems["chequeras.estado"].Text = "Fuera de uso"; break; case 1: item.SubItems["chequeras.estado"].Text = "Activa"; break; default: item.SubItems["chequeras.estado"].Text = "???"; break; } item.SubItems["chequeras.desde"].Text = row.Fields["chequeras.desde"].ValueInt.ToString("00000000"); item.SubItems["chequeras.hasta"].Text = row.Fields["chequeras.hasta"].ValueInt.ToString("00000000"); /* item.SubItems["chequeras.id_banco"].Text = this.Connection.Tables["bancos"].FastRows[System.Convert.ToInt32(row["chequeras.id_banco"])].Fields["nombre"].ToString(); * int IdCaja = row.Fields["id_caja"].ValueInt; * if (IdCaja > 0) * item.SubItems["chequeras.id_caja"].Text = this.Connection.Tables["cajas"].FastRows[IdCaja].Fields["nombre"].ToString(); * */ }
protected override void OnItemAdded(ListViewItem item, Lfx.Data.Row row) { if (row.Fields["comprob.anulada"].ValueInt == 0) { switch (row.Fields["comprob.tipo_fac"].ValueString) { case "NCA": case "NCB": case "NCC": case "NCE": case "NCM": this.Contadores[0].AddValue(-row.Fields["comprob.total"].ValueDecimal); break; default: this.Contadores[0].AddValue(row.Fields["comprob.total"].ValueDecimal); break; } } else { // Si está anulada, la tacho item.SubItems["personas.nombre_visible"].Text = "Anulada"; } base.OnItemAdded(item, row); }
public override void ActualizarElemento() { Lbl.Entidades.Moneda Mon = this.Elemento as Lbl.Entidades.Moneda; Mon.Nombre = EntradaNombre.Text; Mon.Simbolo = EntradaSigno.Text; Mon.NomenclaturaIso = EntradaISO.Text; Mon.Cotizacion = EntradaCotizacion.ValueDecimal; Mon.Decimales = EntradaDecimales.ValueInt; Mon.ActualizarProductos = 0; Lfx.Data.Row RowProdConMoneda = this.Connection.FirstRowFromSelect("SELECT id_articulocotiza FROM articulos_cotiza WHERE id_moneda=" + Mon.Id + " AND estado=1"); if (RowProdConMoneda != null) { Lui.Forms.YesNoDialog Pregunta = new Lui.Forms.YesNoDialog("¿Desea actualizar los productos que cotizan con esta moneda?", "¿Actualización de Productos?"); Pregunta.DialogButtons = Lui.Forms.DialogButtons.YesNo; if (Pregunta.ShowDialog() == DialogResult.OK) { Mon.ActualizarProductos = 1; reiniciar = true; } } base.ActualizarElemento(); //Lfx.Workspace.Master.RunTime.Execute("REBOOT"); }
/// <summary> /// Crea una instancia de un Lbl.ElementoDeDatos a partir de un registro de base de datos. /// </summary> public static T Instanciar <T>(Lfx.Data.IConnection dataBase, Lfx.Data.Row row) where T : Lbl.ElementoDeDatos { Type tipo = typeof(T); System.Reflection.ConstructorInfo TConstr = tipo.GetConstructor(new Type[] { typeof(Lfx.Data.Connection), typeof(Lfx.Data.Row) }); return((T)(TConstr.Invoke(new object[] { dataBase, row }))); }
protected virtual void AgregarTags(qGen.IStatement comando, Lfx.Data.Row registro, string tabla) { Lfx.Data.Table Tabla = Lfx.Workspace.Master.Tables[tabla]; if (Tabla.Tags != null && Tabla.Tags.Count > 0) { foreach (Lfx.Data.Tag Tg in Tabla.Tags) { if (Tg.Nullable == false && registro[Tg.FieldName] == null) { switch (Tg.FieldType) { case Lazaro.Orm.ColumnTypes.Currency: case Lazaro.Orm.ColumnTypes.Integer: case Lazaro.Orm.ColumnTypes.SmallInt: case Lazaro.Orm.ColumnTypes.MediumInt: case Lazaro.Orm.ColumnTypes.TinyInt: case Lazaro.Orm.ColumnTypes.Numeric: comando.ColumnValues.AddWithValue(Tg.FieldName, System.Convert.ToInt32(Tg.DefaultValue)); break; default: comando.ColumnValues.AddWithValue(Tg.FieldName, ""); break; } } else { comando.ColumnValues.AddWithValue(Tg.FieldName, registro[Tg.FieldName]); } } } }
public static string CodigoPredet(Lfx.Workspace workspace, Lfx.Data.Row Articulo) { // Devuelve el código predeterminado de un artículo // Si se pasa un registro artículo como parmetro, devuelve el valor del // De lo contrario, devuelve el nombre del campo // Espero que no se preste a confusin string CodPredet = workspace.CurrentConfig.ReadGlobalSetting <string>("Sistema.Stock.CodigoPredet", "0"); switch (CodPredet) { case "0": case "": // Usar el código autonumérico integrado CodPredet = "id_articulo"; break; default: // Usar un código en particular CodPredet = "codigo" + CodPredet; break; } if (Articulo == null) { return(CodPredet); } else { return(System.Convert.ToString(Articulo[CodPredet])); } }
protected override Lfx.Types.OperationResult OnEdit(int itemId) { Lfx.Data.Row Movim = Lfx.Workspace.Master.Tables["ctacte"].FastRows[itemId]; if (this.Cliente == null) { this.Cliente = new Lbl.Personas.Persona(this.Connection, System.Convert.ToInt32(Movim["id_cliente"])); ((Lazaro.Pres.Filters.RelationFilter)(this.Definicion.Filters["ctacte.id_cliente"])).Value = this.Cliente; RefreshList(); } else { if (Movim != null) { if (Movim["id_recibo"] != null) { int IdRecibo = System.Convert.ToInt32(Movim["id_recibo"]); Lfx.Workspace.Master.RunTime.Execute("EDITAR Lbl.Comprobantes.Recibo " + IdRecibo.ToString()); } if (Movim["id_comprob"] != null) { int IdFactura = System.Convert.ToInt32(Movim["id_comprob"]); Lfx.Workspace.Master.RunTime.Execute("EDITAR Lbl.Comprobantes.ComprobanteConArticulos " + IdFactura.ToString()); } } } return(new Lfx.Types.SuccessOperationResult()); }
private void AddFromRow(Lfx.Data.Row row) { T Elem = Instanciador.Instanciar <T>(this.DataBase, row); this.Add(Elem); this.HayAgregados = true; }
protected override void OnItemAdded(ListViewItem item, Lfx.Data.Row row) { if (row.Fields["destacado"].ValueInt != 0) { item.Font = new Font(item.Font, FontStyle.Bold); } if (item.SubItems.ContainsKey("stock_actual")) { if (row.Fields["stock_actual"].ValueDecimal < row.Fields["stock_minimo"].ValueDecimal) { //Faltante item.UseItemStyleForSubItems = false; item.SubItems["stock_actual"].BackColor = System.Drawing.Color.Pink; item.SubItems["stock_actual"].BackColor = System.Drawing.Color.Pink; } } if (item.SubItems.ContainsKey("apedir")) { if (row.Fields["apedir"].ValueDecimal > 0) { item.SubItems["apedir"].Text = "-"; } else { item.SubItems["apedir"].BackColor = System.Drawing.Color.LightPink; } } }
protected override void OnItemAdded(ListViewItem item, Lfx.Data.Row row) { string TamanoPapel = row["tamanopapel"].ToString(); switch (TamanoPapel) { case "a4": item.SubItems["sys_plantillas.tamanopapel"].Text = "A4"; break; case "a5": item.SubItems["sys_plantillas.tamanopapel"].Text = "A5"; break; case "letter": item.SubItems["sys_plantillas.tamanopapel"].Text = "Carta"; break; case "legal": item.SubItems["sys_plantillas.tamanopapel"].Text = "Oficio"; break; case "cont": item.SubItems["sys_plantillas.tamanopapel"].Text = "Continuo"; break; default: item.SubItems["sys_plantillas.tamanopapel"].Text = TamanoPapel.ToTitleCase(); break; } base.OnItemAdded(item, row); }
protected override void OnItemAdded(ListViewItem item, Lfx.Data.Row row) { switch (((Lbl.Pagos.EstadosCupones)System.Convert.ToInt32(row["estado"]))) { case Lbl.Pagos.EstadosCupones.SinPresentar: this.Contadores[1].AddValue(row.Fields["importe"].ValueDecimal); break; case Lbl.Pagos.EstadosCupones.Anulado: item.ForeColor = Color.Gray; item.Font = new Font(item.Font, FontStyle.Strikeout); break; case Lbl.Pagos.EstadosCupones.Rechazaro: item.ForeColor = Color.Gray; item.Font = new Font(item.Font, FontStyle.Strikeout); break; case Lbl.Pagos.EstadosCupones.Presentado: this.Contadores[0].AddValue(row.Fields["importe"].ValueDecimal); item.ForeColor = Color.DarkGreen; break; case Lbl.Pagos.EstadosCupones.Acreditado: this.Contadores[2].AddValue(row.Fields["importe"].ValueDecimal); item.ForeColor = Color.Gray; break; } base.OnItemAdded(item, row); }
protected virtual void AgregarTags(qGen.Command comando, Lfx.Data.Row registro, string tabla) { Lfx.Data.Table Tabla = this.Connection.Tables[tabla]; if (Tabla.Tags != null && Tabla.Tags.Count > 0) { foreach (Lfx.Data.Tag Tg in Tabla.Tags) { if (Tg.Nullable == false && registro[Tg.FieldName] == null) { switch (Tg.FieldType) { case Lfx.Data.DbTypes.Currency: case Lfx.Data.DbTypes.Integer: case Lfx.Data.DbTypes.SmallInt: case Lfx.Data.DbTypes.MediumInt: case Lfx.Data.DbTypes.TinyInt: case Lfx.Data.DbTypes.Numeric: comando.Fields.AddWithValue(Tg.FieldName, 0); break; default: comando.Fields.AddWithValue(Tg.FieldName, ""); break; } } else { comando.Fields.AddWithValue(Tg.FieldName, registro[Tg.FieldName]); } } } }
protected override void OnItemAdded(ListViewItem item, Lfx.Data.Row row) { item.SubItems["bancos_cheques.numero"].Text = row.Fields["numero"].ValueInt.ToString("00000000"); decimal Importe = row.Fields["importe"].ValueDecimal; this.Contadores[0].AddValue(Importe); switch (row.Fields["estado"].ValueInt) { case 0: if (this.Emitidos) { item.SubItems["bancos_cheques.estado"].Text = "A pagar"; } else { item.SubItems["bancos_cheques.estado"].Text = "A cobrar"; } if (DateTime.Compare(row.Fields["fechacobro"].ValueDateTime, System.DateTime.Now) <= 0) { item.ForeColor = System.Drawing.Color.Green; } else { item.ForeColor = System.Drawing.Color.Black; } this.Contadores[1].AddValue(Importe); break; case 5: item.SubItems["bancos_cheques.estado"].Text = "Depositado"; this.Contadores[1].AddValue(Importe); break; case 10: if (this.Emitidos) { item.SubItems["bancos_cheques.estado"].Text = "Pagado"; } else { item.SubItems["bancos_cheques.estado"].Text = "Cobrado"; } item.ForeColor = System.Drawing.Color.Gray; break; case 11: item.SubItems["bancos_cheques.estado"].Text = "Entregado"; item.ForeColor = System.Drawing.Color.Gray; break; case 90: item.SubItems["bancos_cheques.estado"].Text = "Anulado"; item.ForeColor = System.Drawing.Color.Gray; item.Font = new Font(item.Font, FontStyle.Strikeout); break; } }
protected override void OnItemAdded(ListViewItem item, Lfx.Data.Row row) { if (row.Fields["articulos_situaciones.deposito"].ValueInt == 0) { item.SubItems["articulos_situaciones.deposito"].Text = "No"; } base.OnItemAdded(item, row); }
public Caja(Lfx.Data.IConnection dataBase, Lfx.Data.Row row) : base(dataBase, row) { CajaController = new Lazaro.Base.Controller.CajaController( new Lazaro.Orm.EntityManager(this.Connection, Lfx.Workspace.Master.MetadataFactory), this ); }
protected override void OnItemAdded(ListViewItem item, Lfx.Data.Row row) { switch (row.Fields["pvs.tipo_fac"].ValueString) { case "F": item.SubItems[Listado.Columns["pvs.tipo_fac"].Index].Text = "Facturas"; break; case "F,ND": item.SubItems[Listado.Columns["pvs.tipo_fac"].Index].Text = "Facturas y notas de débito"; break; case "F,NC,ND": item.SubItems[Listado.Columns["pvs.tipo_fac"].Index].Text = "Facturas, notas de crédito y débito"; break; case "R": item.SubItems[Listado.Columns["pvs.tipo_fac"].Index].Text = "Remitos"; break; case "RC": item.SubItems[Listado.Columns["pvs.tipo_fac"].Index].Text = "Recibos de cobro"; break; case "RP": item.SubItems[Listado.Columns["pvs.tipo_fac"].Index].Text = "Recibos de pago"; break; } int TipoPv = row.Fields["pvs.tipo"].ValueInt; if (TipoPv == 0) { item.SubItems[Listado.Columns["pvs.tipo"].Index].Text = "Inactivo"; } if (TipoPv == 1) { item.SubItems[Listado.Columns["pvs.tipo"].Index].Text = "Talonario / Papel"; } else if (TipoPv == 2) { item.SubItems[Listado.Columns["pvs.tipo"].Index].Text = "Controlador fiscal AFIP"; } else if (TipoPv == 10) { item.SubItems[Listado.Columns["pvs.tipo"].Index].Text = "Electrónico AFIP"; } if (item.SubItems[Listado.Columns["pvs.carga"].Index].Text == "0") { item.SubItems[Listado.Columns["pvs.carga"].Index].Text = "Automática"; } else if (item.SubItems[Listado.Columns["pvs.carga"].Index].Text == "1") { item.SubItems[Listado.Columns["pvs.carga"].Index].Text = "Manual"; } }
protected override void OnCreateControl() { base.OnCreateControl(); if (this.Connection != null) { EntradaStockActual.DecimalPlaces = Lbl.Sys.Config.Articulos.Decimales; EntradaStockMinimo.DecimalPlaces = Lbl.Sys.Config.Articulos.Decimales; EntradaCosto.DecimalPlaces = Lfx.Workspace.Master.CurrentConfig.Moneda.DecimalesCosto; EntradaPvp.DecimalPlaces = Lfx.Workspace.Master.CurrentConfig.Moneda.Decimales; Lfx.Data.Row Nombre = null; Nombre = Lfx.Workspace.Master.Tables["articulos_codigos"].FastRows[1]; if (Nombre != null) { EtiquetaCodigo1.Text = Nombre["nombre"].ToString(); } Nombre = Lfx.Workspace.Master.Tables["articulos_codigos"].FastRows[2]; if (Nombre != null) { EtiquetaCodigo2.Text = Nombre["nombre"].ToString(); } Nombre = Lfx.Workspace.Master.Tables["articulos_codigos"].FastRows[3]; if (Nombre != null) { EtiquetaCodigo3.Text = Nombre["nombre"].ToString(); } Nombre = Lfx.Workspace.Master.Tables["articulos_codigos"].FastRows[4]; if (Nombre != null) { EtiquetaCodigo4.Text = Nombre["nombre"].ToString(); } this.Margenes = new Lbl.ColeccionGenerica <Lbl.Articulos.Margen>(this.Connection, Lfx.Workspace.Master.Tables["margenes"]); int i = 0; string[] ListaMargenes = new string[this.Margenes.Count + 1]; //Ordeno el listado de Margenes this.Margenes.Sort((x, y) => x.Porcentaje.CompareTo(y.Porcentaje)); foreach (Lbl.Articulos.Margen Mg in this.Margenes) { ListaMargenes[i] = Mg.Nombre + " (" + Lfx.Types.Formatting.FormatNumber(Mg.Porcentaje, 2) + "%)|" + Mg.Id.ToString(); i++; } ListaMargenes[i] = "Otro|0"; IgnorarCostoMargenPvpPvpIvaTextChanged++; EntradaMargen.SetData = ListaMargenes; IgnorarCostoMargenPvpPvpIvaTextChanged--; } }
public override Lfx.Types.OperationResult ValidarControl() { Lfx.Types.OperationResult Res = new Lfx.Types.SuccessOperationResult(); if (EntradaNombre.Text.Length < 2) { Res.Success = false; Res.Message += "Por favor escriba el nombre del artículo." + Environment.NewLine; } if (EntradaCodigo1.Text.Length > 0) { Lfx.Data.Row Articulo = this.Connection.FirstRowFromSelect("SELECT id_articulo FROM articulos WHERE codigo1='" + EntradaCodigo1.Text + "' AND id_articulo<>" + this.Elemento.Id.ToString()); if (Articulo != null) { Res.Success = false; Res.Message += "Ya existe un artículo con el mismo código (" + EtiquetaCodigo1.Text + " " + EntradaCodigo1.Text + ") en la base de datos." + Environment.NewLine; } } if (EntradaCodigo2.Text.Length > 0) { Lfx.Data.Row Articulo = this.Connection.FirstRowFromSelect("SELECT id_articulo FROM articulos WHERE codigo2='" + EntradaCodigo2.Text + "' AND id_articulo<>" + this.Elemento.Id.ToString()); if (Articulo != null) { Res.Success = false; Res.Message += "Ya existe un artículo con el mismo código (" + EtiquetaCodigo2.Text + " " + EntradaCodigo2.Text + ") en la base de datos." + Environment.NewLine; } } if (EntradaCodigo3.Text.Length > 0) { Lfx.Data.Row Articulo = this.Connection.FirstRowFromSelect("SELECT id_articulo FROM articulos WHERE codigo3='" + EntradaCodigo3.Text + "' AND id_articulo<>" + this.Elemento.Id.ToString()); if (Articulo != null) { Res.Success = false; Res.Message += "Ya existe un artículo con el mismo código (" + EtiquetaCodigo3.Text + " " + EntradaCodigo3.Text + ") en la base de datos." + Environment.NewLine; } } if (EntradaCodigo4.Text.Length > 0) { Lfx.Data.Row Articulo = this.Connection.FirstRowFromSelect("SELECT id_articulo FROM articulos WHERE codigo4='" + EntradaCodigo4.Text + "' AND id_articulo<>" + this.Elemento.Id.ToString()); if (Articulo != null) { Res.Success = false; Res.Message += "Ya existe un artículo con el mismo código (" + EtiquetaCodigo4.Text + " " + EntradaCodigo4.Text + ") en la base de datos." + Environment.NewLine; } } return(Res); }
protected override void OnItemAdded(ListViewItem item, Lfx.Data.Row row) { if (row.Fields["comprob.anulada"].ValueInt != 0) { // Si está anulada, le cambio el nombre item.SubItems["personas.nombre_visible"].Text = "Anulada"; } base.OnItemAdded(item, row); }
private void monedaCotiza_TextChanged(object sender, EventArgs e) { if (cotizaValor.ValueDecimal == 0) { Lfx.Data.Row rowCotiza = this.Connection.FirstRowFromSelect("SELECT cotizacion FROM monedas WHERE id_moneda=" + this.monedaCotiza.Elemento.Id.ToString()); if (rowCotiza != null) { cotizaValor.ValueDecimal = Convert.ToDecimal(rowCotiza["cotizacion"]); } } }
public virtual Row Clone() { Lfx.Data.Row Res = new Lfx.Data.Row(); Res.DataTable = this.DataTable; foreach (Lazaro.Orm.Data.ColumnValue Fld in this.Fields) { Res.Fields.Add(Fld.Clone()); } Res.IsModified = this.IsModified; Res.IsNew = this.IsNew; return(Res); }
/// <summary> /// Crea un nuevo elemento nuevo, con sus valores predeterminados. /// </summary> public virtual void Crear() { m_ItemId = 0; m_Registro = new Lfx.Data.Row(); m_RegistroOriginal = null; m_Etiquetas = null; if (this is ICamposBaseEstandar) { ((ICamposBaseEstandar)this).Estado = 1; this.SetFieldValue("fecha", this.Connection.ServerDateTime); } }
public void AddRange(System.Data.DataTable tabla) { if (tabla != null) { foreach (System.Data.DataRow Rw in tabla.Rows) { Lfx.Data.Row Lrw = (Lfx.Data.Row)Rw; this.AddFromRow(Lrw); } } this.HayCambios = false; }
private void EntradaMoneda_TextChanged(object sender, EventArgs e) { if (EntradaMoneda.Enabled && EntradaMoneda.Elemento != null) { Lfx.Data.Row rowCotiza = this.Connection.FirstRowFromSelect("SELECT cotizacion FROM monedas WHERE id_moneda=" + this.EntradaMoneda.Elemento.Id.ToString()); if (rowCotiza != null) { EntradaCotiza.ValueDecimal = Convert.ToDecimal(rowCotiza["cotizacion"]); EntradaCosto.Focus(); } } }
public virtual Lazaro.Pres.Forms.FormActionCollection GetFormActions() { if (m_FormActions == null) { m_FormActions = new Lazaro.Pres.Forms.FormActionCollection(); // Obtengo una lista de acciones basadas en la tabla sys_tags if (this.ElementoTipo != null && Lfx.Data.DatabaseCache.DefaultCache.Tables.ContainsKey("sys_tags")) { Lbl.Atributos.Datos AttrDatos = this.ElementoTipo.GetAttribute <Lbl.Atributos.Datos>(); if (AttrDatos != null) { string NombreTabla = AttrDatos.TablaDatos; var Conn = this.Connection; if (Conn == null) { Conn = Lfx.Workspace.Master.MasterConnection; } System.Data.DataTable TagsTable = Conn.Select("SELECT * FROM sys_tags WHERE fieldtype IN ('action') AND tablename='" + NombreTabla + "'"); foreach (System.Data.DataRow TagRow in TagsTable.Rows) { Lfx.Data.Row ActionRow = (Lfx.Data.Row)TagRow; Lazaro.Pres.Forms.FormAction NewAction = new Lazaro.Pres.Forms.FormAction(ActionRow.Fields["label"].ValueString, null, ActionRow.Fields["label"].ValueString, 0); switch (ActionRow.Fields["inputtype"].ValueString) { case "primary": case "pri": NewAction.Visibility = Lazaro.Pres.Forms.FormActionVisibility.Main; break; case "tertiary": case "ter": NewAction.Visibility = Lazaro.Pres.Forms.FormActionVisibility.Tertiary; break; case "secondary": case "sec": default: NewAction.Visibility = Lazaro.Pres.Forms.FormActionVisibility.Secondary; break; } NewAction.Extra = ActionRow.Fields["extra"].ValueString; m_FormActions.Add(NewAction); } } } } return(m_FormActions.ShallowClone()); }
/// <summary> /// Devuelve el tipo y número de un comprobante (por ejemplo: B 0001-00000135). /// </summary> public static string TipoYNumeroCompleto(Lfx.Data.IConnection connection, int itemId) { Lfx.Data.Row Comp = Lfx.Workspace.Master.Tables["comprob"].FastRows[itemId]; if (Comp == null) { return(""); } else { return((string)Comp["tipo_fac"].ToString() + " " + System.Convert.ToInt32(Comp["pv"]).ToString("0000") + "-" + System.Convert.ToInt32(Comp["numero"]).ToString("00000000")); } }
public void AddRange(Lfx.Data.Table tabla) { if (tabla != null) { tabla.PreLoad(); foreach (Lfx.Data.Row Rw in tabla.FastRows.Values) { Lfx.Data.Row Lrw = Rw; this.AddFromRow(Lrw); } } this.HayCambios = false; }
protected override void OnBeginPrint(System.Drawing.Printing.PrintEventArgs ev) { base.OnBeginPrint(ev); // Abro el Comprobante m_Comprob = this.Workspace.DefaultDataBase.Row("comprob", "id_comprob", this.Comprobante.Id); m_Detalle = this.Workspace.DefaultDataBase.Select("SELECT * FROM comprob_detalle WHERE id_comprob=" + this.Comprobante.Id.ToString()); m_Cliente = this.Workspace.DefaultDataBase.FieldString("SELECT nombre_visible FROM personas WHERE id_persona=" + m_Comprob["id_cliente"].ToString()); m_Vendedor = this.Workspace.DefaultDataBase.FieldString("SELECT nombre FROM personas WHERE id_persona=" + m_Comprob["id_vendedor"].ToString()); m_Pagina = 0; m_LastRow = 0; this.DocumentName = "Presupuesto N " + m_Comprob["numero"].ToString(); DefaultPageSettings.Margins.Bottom = 60; DefaultPageSettings.Margins.Top = 140; DefaultPageSettings.Margins.Left = 100; DefaultPageSettings.Margins.Right = 80; }
public Lfx.Data.Row FirstRowFromSelect(string selectCommand) { /* System.Data.DataTable SelTbl = this.Select(selectCommand); if (SelTbl.Rows.Count == 0) return null; Lfx.Data.Row Res = ((Lfx.Data.Row)(SelTbl.Rows[0])); Res.IsNew = false; return Res; */ using (System.Data.IDataReader Rdr = this.GetReader(selectCommand)) { if (Rdr != null) { Lfx.Data.Row Res = null; if (Rdr.Read()) { Res = new Lfx.Data.Row(); Res.IsNew = false; for (int i = 0; i < Rdr.FieldCount; i++) { object Val = Rdr[i]; if (Val is DateTime && (DateTime)Val == DateTime.MinValue) Res[Rdr.GetName(i)] = null; else if (Val == DBNull.Value) Res[Rdr.GetName(i)] = null; else Res[Rdr.GetName(i)] = Rdr[i]; } Res.IsModified = false; } Rdr.Close(); return Res; } else { return null; } } }
/// <summary> /// Procesa un registro según el mapa de columnas correspondiente a la tabla y devuelve un Lfx.Data.Row /// </summary> public Lfx.Data.Row ProcesarRegistro(MapaDeTabla mapa, System.Data.DataRow externalRow) { Lfx.Data.Row internalRow = new Lfx.Data.Row(); internalRow.IsNew = true; internalRow.Table = this.Connection.Tables[mapa.TablaLazaro]; foreach (MapaDeColumna Col in mapa.MapaDeColumnas) { object FieldValue = null; switch (Col.Conversion) { case ConversionDeColumna.ConvertirAMinusculas: FieldValue = externalRow[Col.ColumnaExterna].ToString().ToLowerInvariant(); break; case ConversionDeColumna.ConvertirAMayusculasYMinusculas: FieldValue = externalRow[Col.ColumnaExterna].ToString().ToTitleCase(); break; case ConversionDeColumna.InterpretarNombreYApellido: FieldValue = externalRow[Col.ColumnaExterna].ToString().ToTitleCase(); string Nombre = FieldValue.ToString(); string Apellido = Lfx.Types.Strings.GetNextToken(ref Nombre, " "); internalRow["nombre"] = Nombre.Trim(); internalRow["apellido"] = Apellido.Trim(); if (Nombre.Length > 0 && Apellido.Length > 0) FieldValue = Apellido + ", " + Nombre; break; case ConversionDeColumna.InterpretarSql: string Sql = Col.ParametroConversion.ToString(); string ClaveBuscada = externalRow[Col.ColumnaExterna].ToString(); if (this.CacheConversiones.ContainsKey(Sql) && this.CacheConversiones[Sql].ContainsKey(ClaveBuscada)){ FieldValue = this.CacheConversiones[Sql][ClaveBuscada]; } else { Lfx.Data.Row Result = this.Connection.FirstRowFromSelect(Sql.Replace("$VALOR$", ClaveBuscada)); if (Result == null || Result[0] == null) FieldValue = null; else FieldValue = Result[0]; if (this.CacheConversiones.ContainsKey(Sql) == false) // Agrego esta conversión a la cache this.CacheConversiones.Add(Sql, new Dictionary<string, object>()); this.CacheConversiones[Sql].Add(ClaveBuscada, FieldValue); } break; case ConversionDeColumna.Ninguna: if (Col.ColumnaExterna != null) { FieldValue = externalRow[Col.ColumnaExterna]; } else { FieldValue = Col.ValorPredeterminado; } break; default: throw new NotImplementedException("Lbl.Servicios.Importar.Filtro: no implementa ConversionDeColumna." + Col.Conversion.ToString()); } internalRow.Fields.AddWithValue(Col.ColumnaLazaro, FieldValue); if (Col.ColumnaExterna != null) internalRow.Fields.AddWithValue("original_" + Col.ColumnaExterna, externalRow[Col.ColumnaExterna]); } // El id de seguimiento de importación string[] ColumnasExternas = mapa.ColumnaIdExterna.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); if (ColumnasExternas.Length == 1) { internalRow[mapa.ColumnaIdLazaro] = externalRow[mapa.ColumnaIdExterna]; internalRow.Fields.AddWithValue("original_" + mapa.ColumnaIdExterna, externalRow[mapa.ColumnaIdExterna]); } else { string Valor = null; foreach (string ColumnaExterna in ColumnasExternas) { if (Valor == null) Valor = externalRow[ColumnaExterna].ToString(); else Valor += "--" + externalRow[ColumnaExterna].ToString(); internalRow.Fields.AddWithValue("original_" + ColumnaExterna, externalRow[ColumnaExterna]); } internalRow[mapa.ColumnaIdLazaro] = Valor; } this.ProcesarRemplazos(mapa, ref internalRow); return internalRow; }
public virtual Row Clone() { Lfx.Data.Row Res = new Lfx.Data.Row(); Res.DataTable = this.DataTable; foreach (Lfx.Data.Field Fld in this.Fields) { Res.Fields.Add(Fld.Clone()); } Res.IsModified = this.IsModified; Res.IsNew = this.IsNew; return Res; }