public virtual Lfx.Types.OperationResult OnCreate() { if (Lbl.Sys.Config.Actual.UsuarioConectado.TienePermiso(this.Definicion.ElementoTipo, Lbl.Sys.Permisos.Operaciones.Crear)) { Lbl.IElementoDeDatos NuevoElem = this.Crear(); if (NuevoElem == null) { return(new Lfx.Types.CancelOperationResult()); } Lfc.FormularioEdicion FormNuevo = Lfc.Instanciador.InstanciarFormularioEdicion(NuevoElem); if (FormNuevo != null) { FormNuevo.MdiParent = this.MdiParent; FormNuevo.Show(); return(new Lfx.Types.SuccessOperationResult()); } else { return(new Lfx.Types.FailureOperationResult("No se puede crear el elemento")); } } else { return(new Lfx.Types.NoAccessOperationResult()); } }
/// <summary> /// Crea un formulario de edición para el ElementoDeDatos proporcionado. /// </summary> /// <param name="elemento">El ElementoDeDatos que se quiere editar.</param> /// <returns>Un formulario derivado de Lfc.FormularioEdicion.</returns> public static Lfc.FormularioEdicion InstanciarFormularioEdicion(Lbl.IElementoDeDatos elemento) { Lfc.FormularioEdicion Res = new Lfc.FormularioEdicion(); Type TipoControlEdicion = InferirControlEdicion(elemento.GetType()); if (TipoControlEdicion == null) return null; Res.ControlUnico = InstanciarControlEdicion(TipoControlEdicion); Res.FromRow(elemento); return Res; }
private void CrearReciboParaEstaFactura() { Lbl.Comprobantes.ComprobanteConArticulos Factura = this.Elemento as Lbl.Comprobantes.ComprobanteConArticulos; Lbl.Comprobantes.ReciboDeCobro Recibo = new Lbl.Comprobantes.ReciboDeCobro(Lfx.Workspace.Master.GetNewConnection("Nuevo recibo para " + Factura.ToString()) as Lfx.Data.Connection); Recibo.Crear(); Recibo.Facturas.AddWithValue(Factura, Factura.ImporteImpago); Recibo.Cliente = Factura.Cliente; Recibo.Concepto = Lbl.Cajas.Concepto.IngresosPorFacturacion; Recibo.ConceptoTexto = "Cancelación de " + Factura.ToString(); Lfc.FormularioEdicion NuevoRecibo = Lfc.Instanciador.InstanciarFormularioEdicion(Recibo); NuevoRecibo.MdiParent = this.ParentForm.MdiParent; NuevoRecibo.Show(); }
/// <summary> /// Crea un formulario de edición para el ElementoDeDatos proporcionado. /// </summary> /// <param name="elemento">El ElementoDeDatos que se quiere editar.</param> /// <returns>Un formulario derivado de Lfc.FormularioEdicion.</returns> public static Lfc.FormularioEdicion InstanciarFormularioEdicion(Lbl.IElementoDeDatos elemento) { Lfc.FormularioEdicion Res = new Lfc.FormularioEdicion(); Type TipoControlEdicion = InferirControlEdicion(elemento.GetType()); if (TipoControlEdicion == null) { return(null); } Res.ControlUnico = InstanciarControlEdicion(TipoControlEdicion); Res.FromRow(elemento); return(Res); }
private void BotonNotaDeb_Click(object sender, System.EventArgs e) { if (this.Cliente != null) { Lbl.Comprobantes.NotaDeDebito Nota = new Lbl.Comprobantes.NotaDeDebito(this.Connection); Nota.Crear(); Nota.Cliente = this.Cliente; Lfc.FormularioEdicion FormularioNota = Lfc.Instanciador.InstanciarFormularioEdicion(Nota); FormularioNota.Connection = this.Connection; FormularioNota.MdiParent = this.MdiParent; FormularioNota.Show(); } else { Lui.Forms.MessageBox.Show("Debe seleccionar una persona. Utilice la opción Filtros (tecla <F2>).", "Error"); } }
private Lfx.Types.OperationResult AsociarPresupuesto() { Lbl.Tareas.Tarea Tarea = this.Elemento as Lbl.Tareas.Tarea; if (Tarea.Presupuesto == null) { using (Comprobantes.Seleccionar SelPresup = new Comprobantes.Seleccionar()) { SelPresup.AceptarAnuladas = false; SelPresup.AceptarNoImpresas = true; SelPresup.AceptarCanceladas = true; SelPresup.Cliente = EntradaCliente.Elemento as Lbl.Personas.Persona; SelPresup.TipoComprob = Comprobantes.Seleccionar.TiposComprob.Presupuestos; if (SelPresup.ShowDialog() == DialogResult.OK && SelPresup.IdComprob != 0) { Tarea.Presupuesto = new Lbl.Comprobantes.Presupuesto(Tarea.Connection, SelPresup.IdComprob); if (EntradaCliente.Elemento == null) { EntradaCliente.Elemento = Tarea.Presupuesto.Cliente; } if (EntradaDescripcion.Text == string.Empty) { EntradaDescripcion.Text = Tarea.Presupuesto.Obs; } else if (EntradaObs.Text == string.Empty) { EntradaObs.Text = Tarea.Presupuesto.Obs; } EntradaComprobante.Text = Tarea.Presupuesto.ToString(); return(new Lfx.Types.SuccessOperationResult()); } else { return(new Lfx.Types.CancelOperationResult()); } } } else { Lfc.FormularioEdicion EditarPresupuesto = Lfc.Instanciador.InstanciarFormularioEdicion(Tarea.Presupuesto); EditarPresupuesto.MdiParent = this.ParentForm.MdiParent; EditarPresupuesto.Show(); return(new Lfx.Types.SuccessOperationResult()); } }
private void BotonConvertir_Click(object sender, EventArgs e) { using (Lfc.Comprobantes.Compra.Crear FormularioConvertir = new Lfc.Comprobantes.Compra.Crear()) { if (FormularioConvertir.ShowDialog() == DialogResult.OK) { Lbl.Comprobantes.ComprobanteDeCompra Comprob = this.Elemento as Lbl.Comprobantes.ComprobanteDeCompra; if ((Comprob.Tipo.Nomenclatura == "NP" || Comprob.Tipo.Nomenclatura == "PD") && EntradaEstado.TextKey != "100") { EntradaEstado.TextKey = "100"; EntradaEstado.Changed = true; } else if ((Comprob.Tipo.EsPedido || FormularioConvertir.TipoComprob == "F" || FormularioConvertir.TipoComprob == "FP" || FormularioConvertir.TipoComprob == "R") && EntradaEstado.TextKey != "100") { EntradaEstado.TextKey = "100"; EntradaEstado.Changed = true; } Lbl.Comprobantes.ComprobanteDeCompra NuevoComprob; if (FormularioConvertir.TipoComprob == "FP") { Lbl.Comprobantes.Tipo NuevoTipo = Lbl.Comprobantes.Tipo.TodosPorLetra["FA"]; NuevoComprob = Comprob.Convertir(NuevoTipo); NuevoComprob.FormaDePago = new Lbl.Pagos.FormaDePago(this.Connection, 3); } else if (FormularioConvertir.TipoComprob == "RP") { Lbl.Comprobantes.Tipo NuevoTipo = Lbl.Comprobantes.Tipo.TodosPorLetra["R"]; NuevoComprob = Comprob.Convertir(NuevoTipo); NuevoComprob.FormaDePago = new Lbl.Pagos.FormaDePago(this.Connection, 3); } else { Lbl.Comprobantes.Tipo NuevoTipo = Lbl.Comprobantes.Tipo.TodosPorLetra[FormularioConvertir.TipoComprob]; NuevoComprob = Comprob.Convertir(NuevoTipo); } Lfc.FormularioEdicion FormularioEdicion = Lfc.Instanciador.InstanciarFormularioEdicion(NuevoComprob); FormularioEdicion.MdiParent = this.ParentForm.MdiParent; FormularioEdicion.Show(); } } }
protected override Lfx.Types.OperationResult OnEdit(int itemId) { Lfx.Data.Row Movim = Lfx.Workspace.Master.Tables["cajas_movim"].FastRows[itemId]; if (Movim != null) { if (Movim.Fields["id_recibo"].Value != null) { int IdRecibo = Movim.Fields["id_recibo"].ValueInt; Type TipoRecibo = typeof(Lbl.Comprobantes.Recibo); Lfx.Data.Connection NuevaDb = Lfx.Workspace.Master.GetNewConnection("Editar " + TipoRecibo.ToString() + " " + IdRecibo) as Lfx.Data.Connection; Lbl.IElementoDeDatos Elem = Lbl.Instanciador.Instanciar(TipoRecibo, NuevaDb, IdRecibo); Lfc.FormularioEdicion FormNuevo = Lfc.Instanciador.InstanciarFormularioEdicion(Elem); FormNuevo.DisposeConnection = true; FormNuevo.MdiParent = this.MdiParent; FormNuevo.Show(); return(new Lfx.Types.SuccessOperationResult()); } else if (Movim.Fields["id_comprob"].Value != null) { int IdComprob = Movim.Fields["id_comprob"].ValueInt; Type TipoRecibo = typeof(Lbl.Comprobantes.ComprobanteConArticulos); var NuevaDb = Lfx.Workspace.Master.GetNewConnection("Editar " + TipoRecibo.ToString() + " " + IdComprob) as Lfx.Data.Connection; Lbl.IElementoDeDatos Elem = Lbl.Instanciador.Instanciar(TipoRecibo, NuevaDb, IdComprob); Lfc.FormularioEdicion FormNuevo = Lfc.Instanciador.InstanciarFormularioEdicion(Elem); FormNuevo.DisposeConnection = true; FormNuevo.MdiParent = this.MdiParent; FormNuevo.Show(); return(new Lfx.Types.SuccessOperationResult()); } else { return(new Lfx.Types.CancelOperationResult()); } } else { return(new Lfx.Types.CancelOperationResult()); } }
private static object ExecCrearEditar(bool crear, string comando) { string SubComando = Lfx.Types.Strings.GetNextToken(ref comando, " ").Trim(); System.Type TipoLbl = Lbl.Instanciador.InferirTipo(SubComando); Lbl.Atributos.Nomenclatura AtrNombre = TipoLbl.GetAttribute <Lbl.Atributos.Nomenclatura>(); if (crear && Lbl.Sys.Config.Actual.UsuarioConectado.TienePermiso(TipoLbl, Lbl.Sys.Permisos.Operaciones.Crear) == false) { return(new Lfx.Types.NoAccessOperationResult()); } if (Lbl.Sys.Config.Actual.UsuarioConectado.TienePermiso(TipoLbl, Lbl.Sys.Permisos.Operaciones.Ver) == false) { return(new Lfx.Types.NoAccessOperationResult()); } var ConnEditar = Lfx.Workspace.Master.GetNewConnection("Editar " + (AtrNombre == null ? SubComando : AtrNombre.NombreSingular)) as Lfx.Data.Connection; Lbl.IElementoDeDatos Elemento = null; if (crear) { Elemento = Lbl.Instanciador.Instanciar(TipoLbl, ConnEditar); Elemento.Crear(); } else { int ItemId = Lfx.Types.Parsing.ParseInt(Lfx.Types.Strings.GetNextToken(ref comando, " ")); Elemento = Lbl.Instanciador.Instanciar(TipoLbl, ConnEditar, ItemId); } Lfc.FormularioEdicion FormularioDeEdicion = Lfc.Instanciador.InstanciarFormularioEdicion(Elemento); FormularioDeEdicion.DisposeConnection = true; if (FormularioDeEdicion == null) { return(null); } return(FormularioDeEdicion); }
public void EnviarNP(object sender, System.EventArgs e) { Lbl.Comprobantes.ComprobanteDeCompra Comprob = new Lbl.Comprobantes.ComprobanteDeCompra(this.Connection); Comprob.Tipo = Lbl.Comprobantes.Tipo.TodosPorLetra["NP"]; Comprob.FormaDePago = new Lbl.Pagos.FormaDePago(this.Connection, 3); Lbl.Comprobantes.ColeccionDetalleArticulos newCole = new Lbl.Comprobantes.ColeccionDetalleArticulos(this.Connection); foreach (ListViewItem Itm in this.Listado.Items) { Lbl.Articulos.Articulo art = new Lbl.Articulos.Articulo(this.Connection, int.Parse(Itm.SubItems[0].Text)); Lbl.Comprobantes.DetalleArticulo detArt = new Lbl.Comprobantes.DetalleArticulo(this.Connection); detArt.Crear(); detArt.Articulo = art; decimal costoFinal = decimal.Parse(Itm.SubItems["articulos.costo"].Text); detArt.ImporteUnitario = costoFinal; decimal stockAct = decimal.Parse(Itm.SubItems["articulos.stock_actual"].Text); decimal stockMin = decimal.Parse(Itm.SubItems["articulos.stock_minimo"].Text); if (stockMin == 0) { detArt.Cantidad = 1; } else { detArt.Cantidad = stockMin > stockAct ? stockMin - stockAct : stockMin; } newCole.Add(detArt); } Comprob.Articulos.AddRange(newCole); Comprob.Estado = 50; Lfc.FormularioEdicion FormularioEdicion = Lfc.Instanciador.InstanciarFormularioEdicion(Comprob); FormularioEdicion.MdiParent = this.MdiParent; //this.ParentForm.MdiParent; FormularioEdicion.Show(); //Lbl.IElementoDeDatos El = Lbl.Instanciador.Instanciar(this.Definicion.ElementoTipo, Lfx.Workspace.Master.GetNewConnection("Crear " + this.Definicion.ElementoTipo.ToString()) as Lfx.Data.Connection); //El.Crear(); }
private Lfx.Types.OperationResult Facturar() { Lui.Forms.YesNoDialog Pregunta = new Lui.Forms.YesNoDialog("¿Desea guardar los cambios realizados y generar una factura a partir de esta tarea?", "Facturar"); if (Pregunta.ShowDialog() != DialogResult.OK) { return(new Lfx.Types.CancelOperationResult()); } if (EntradaEstado.ValueInt < 50) { EntradaEstado.ValueInt = 50; } Lfx.Types.OperationResult Res = this.Save(); if (Res.Success == false) { return(Res); } Lbl.Tareas.Tarea Tarea = this.Elemento as Lbl.Tareas.Tarea; Lbl.Comprobantes.ComprobanteFacturable Factura; Lfx.Data.Connection ConnFacturaNueva = Lfx.Workspace.Master.GetNewConnection("Convertir tarea en factura"); if (Tarea.Factura != null && Tarea.Factura.Anulado == false) { // Ya fue facturada... lo muestro Factura = Tarea.Factura; } else { // No tiene comprobante, lo creo Factura = new Lbl.Comprobantes.Factura(ConnFacturaNueva); Factura.Crear(); Factura.Cliente = EntradaCliente.Elemento as Lbl.Personas.Persona; Factura.Cliente.Connection = ConnFacturaNueva; Factura.Tipo = Factura.Cliente.ObtenerTipoComprobante(); Factura.Tipo.Connection = ConnFacturaNueva; Factura.Vendedor = EntradaEncargado.Elemento as Lbl.Personas.Persona; Factura.Vendedor.Connection = ConnFacturaNueva; Factura.Obs = EntradaTarea.TextDetail + " s/" + this.Elemento.ToString(); if (Tarea.Articulos.Count > 0) { Factura.Articulos.AddRange(Tarea.Articulos); } else if (Tarea.Presupuesto != null && Tarea.Presupuesto.Articulos.Count > 0) { Factura.Articulos.AddRange(Tarea.Presupuesto.Articulos); Factura.Descuento = Tarea.Presupuesto.Descuento; } if (EntradaImportePresupuesto.ValueDecimal > 0) { Lbl.Comprobantes.DetalleArticulo Art = new Lbl.Comprobantes.DetalleArticulo(Factura); Art.Nombre = this.Elemento.ToString(); Art.Unitario = EntradaImportePresupuesto.ValueDecimal; Art.Cantidad = 1; Factura.Articulos.Add(Art); } } Lfc.FormularioEdicion FormularioFactura = Lfc.Instanciador.InstanciarFormularioEdicion(Factura); FormularioFactura.MdiParent = this.ParentForm.MdiParent; FormularioFactura.ControlDestino = EntradaComprobanteId; FormularioFactura.Show(); return(new Lfx.Types.SuccessOperationResult()); }
private void BotonConvertir_Click(object sender, EventArgs e) { //EntradaTipo.TextKey == "NP" || EntradaTipo.TextKey == "PD" using (Lfc.Comprobantes.Compra.Crear FormularioConvertir = new Lfc.Comprobantes.Compra.Crear()) { if (FormularioConvertir.ShowDialog() == DialogResult.OK) { Lbl.Comprobantes.ComprobanteDeCompra Comprob = this.Elemento as Lbl.Comprobantes.ComprobanteDeCompra; if ((Comprob.Tipo.Nomenclatura == "NP" || Comprob.Tipo.Nomenclatura == "PD") && EntradaEstado.TextKey != "100") { //EntradaEstado.TextKey = "100"; //EntradaEstado.Changed = true; try { System.Data.IDbTransaction tran = this.Elemento.Connection.BeginTransaction(); this.Elemento.Connection.ExecuteNonQuery(@"UPDATE comprob SET estado = 100 WHERE id_comprob=" + this.Elemento.Id); tran.Commit(); } catch (Exception ex2) { MessageBox.Show(ex2.Message); return; } } else if ((Comprob.Tipo.EsPedido || FormularioConvertir.TipoComprob == "F" || FormularioConvertir.TipoComprob == "FP" || FormularioConvertir.TipoComprob == "R") && EntradaEstado.TextKey != "100") { try { System.Data.IDbTransaction tran = this.Elemento.Connection.BeginTransaction(); this.Elemento.Connection.ExecuteNonQuery(@"UPDATE comprob SET estado = 100 WHERE id_comprob=" + this.Elemento.Id); tran.Commit(); } catch (Exception ex2) { MessageBox.Show(ex2.Message); return; } } Lbl.Comprobantes.ComprobanteDeCompra NuevoComprob; if (FormularioConvertir.TipoComprob == "FP") { Lbl.Comprobantes.Tipo NuevoTipo = Lbl.Comprobantes.Tipo.TodosPorLetra["FA"]; NuevoComprob = Comprob.Convertir(NuevoTipo); NuevoComprob.FormaDePago = new Lbl.Pagos.FormaDePago(this.Connection, 3); } else if (FormularioConvertir.TipoComprob == "RP") { Lbl.Comprobantes.Tipo NuevoTipo = Lbl.Comprobantes.Tipo.TodosPorLetra["R"]; NuevoComprob = Comprob.Convertir(NuevoTipo); NuevoComprob.FormaDePago = new Lbl.Pagos.FormaDePago(this.Connection, 3); } else { Lbl.Comprobantes.Tipo NuevoTipo = Lbl.Comprobantes.Tipo.TodosPorLetra[FormularioConvertir.TipoComprob]; NuevoComprob = Comprob.Convertir(NuevoTipo); NuevoComprob.Numero = 10; } if (Comprob.TipoFac == "R") { NuevoComprob.IdRemito = Comprob.Id; } Lfc.FormularioEdicion FormularioEdicion = Lfc.Instanciador.InstanciarFormularioEdicion(NuevoComprob); FormularioEdicion.MdiParent = this.ParentForm.MdiParent; FormularioEdicion.Show(); this.Close(); } } }