void TlbGuardarClick(object sender, EventArgs e) { VariablesPropias.VariablesPropias.vpRemito vpRemi = new VariablesPropias.VariablesPropias.vpRemito(); vpRemi = CargarRemito(); OperacionesComunes.Guardar(vpRemi); //Permite imprimir. tlbImprimir.Enabled = true; tlbGuardar.Enabled = false; cmbRazonSocial.Enabled = false; }
/// <summary> /// Carga un remito en una variable propia /// </summary> /// <param name="numRemito">El numero del remito a cargar</param> public void CargarRemito(int numRemito) { VariablesPropias.VariablesPropias.vpRemito Remito = new VariablesPropias.VariablesPropias.vpRemito(); Remito = Modulos.Remitos.CargarRemito(numRemito); //gridDatos.Rows.Clear(); //TODO manejar los productos como arrays //Revisar que no se dupliquen los datos //Producto 1 if (Remito.Producto1.intCantidad > 0) { gridDatos.Rows.Add(); gridDatos[1, 0].Value = Remito.Producto1.strDescripcion; gridDatos.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells; gridDatos[2, 0].Value = Remito.Producto1.intCantidad.ToString(); } //Producto 2 if (Remito.Producto2.intCantidad > 0) { gridDatos.Rows.Add(); gridDatos[1, 1].Value = Remito.Producto2.strDescripcion; gridDatos.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells; gridDatos[2, 1].Value = Remito.Producto2.intCantidad.ToString(); } //Producto 3 if (Remito.Producto3.intCantidad > 0) { gridDatos.Rows.Add(); gridDatos[1, 2].Value = Remito.Producto3.strDescripcion; gridDatos.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells; gridDatos[2, 2].Value = Remito.Producto3.intCantidad.ToString(); } //Producto 4 if (Remito.Producto4.intCantidad > 0) { gridDatos.Rows.Add(); gridDatos[1, 3].Value = Remito.Producto4.strDescripcion; gridDatos.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells; gridDatos[2, 3].Value = Remito.Producto4.intCantidad.ToString(); } //Producto 5 if (Remito.Producto5.intCantidad > 0) { gridDatos.Rows.Add(); gridDatos[1, 4].Value = Remito.Producto5.strDescripcion; gridDatos.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells; gridDatos[2, 4].Value = Remito.Producto5.intCantidad.ToString(); } ObtenerTotales(); }
/// <summary> /// Sobrecarga de la funcion CargarRemito. Con esta lo hacemos desde la base de datos en vez de desde el form. /// </summary> /// <param name="intNumeroRemito"> /// Es el numero del remito. Deberia ser el ID del remito y ser un string. /// Veremos como lo arreglamos en el futuro. /// </param> public static VariablesPropias.VariablesPropias.vpRemito CargarRemito(int intNumeroRemito) { #region Variables VariablesPropias.VariablesPropias.vpRemito remi = new VariablesPropias.VariablesPropias.vpRemito(); #endregion #region DB ConexionAccess2007.Conectar(ConfigurationManager.AppSettings["BaseDeDatos"].ToString()); //tener en cuenta que primero va la condicion y luego el Order by ConexionAccess2007.Consultar("Remitos", "*", "NumRemito = " + intNumeroRemito, "NumRemito"); //Nueva Tabla DataTable Remito = new DataTable(); //Cargo la tabla con los datos de la Base de Datos Remito = ConexionAccess2007.Table; #endregion //Cargo los datos en una vp (Variable propia) para despues pasarlo a cada parte //lo hago asi para que luego si cambio algo no se joda todo. remi.dtFecha = Convert.ToDateTime(Remito.Rows[0]["Fecha"].ToString()); //Id del remito es todo el numero del remito //TODO: Mejorar esto porque esta mal. remi.IDRemito = "0001-0000" + intNumeroRemito.ToString(); /* * TODO: Ver como cargar la posicion ante el IVA como un string y no 6 booleanos * IVARespIns * IVARespNoIns * IVARegMono * IVANoResp * IVAExento * IVAConsFinal */ //CLiente remi.Cliente = OperacionesComunes.ObtenerCliente(Remito.Rows[0]["Nombre"].ToString()); //remi.Cliente.strNombre = Remito.Rows[0]["Nombre"].ToString(); //remi.Cliente.strDireccion = Remito.Rows[0]["Direccion"].ToString(); //remi.Cliente.strLocalidad = Remito.Rows[0]["Nombre"].ToString(); //remi.Cliente.strProvincia = Remito.Rows[0]["Nombre"].ToString(); //remi.Cliente.dblCUIT = Convert.ToDouble ( Remito.Rows[0]["CUIT"].ToString()); //remi.Cliente.strPosIVA = Remito.Rows[0]["Nombre"].ToString(); //Transporte remi.Transporte.strNombre = Remito.Rows[0]["TranspNombre"].ToString(); remi.Transporte.strDireccion = Remito.Rows[0]["TranspDireccion"].ToString(); //Productos //Producto 1 remi.Producto1.intCantidad = Convert.ToInt16(Remito.Rows[0]["Cant1"].ToString()); remi.Producto1.strDescripcion = Remito.Rows[0]["Deatalle1"].ToString(); remi.Producto1.curPrecioNeto = Convert.ToDecimal(Remito.Rows[0]["Precio1"].ToString()) / Convert.ToInt16(Remito.Rows[0]["Cant1"].ToString());; remi.Producto1.curPrecioTotal = remi.Producto1.curPrecioNeto * Convert.ToInt16(Remito.Rows[0]["Cant1"].ToString()); remi.Producto1.Trazabilidad.strNumPartida = Remito.Rows[0]["IDProdu1"].ToString(); //Producto 2 remi.Producto2.intCantidad = Convert.ToInt16(Remito.Rows[0]["Cant2"].ToString()); remi.Producto2.strDescripcion = Remito.Rows[0]["Deatalle2"].ToString(); if (Convert.ToInt16(Remito.Rows[0]["Cant2"].ToString()) > 0) { remi.Producto2.curPrecioNeto = Convert.ToDecimal(Remito.Rows[0]["Precio2"].ToString()) / Convert.ToInt16(Remito.Rows[0]["Cant2"].ToString()); } remi.Producto2.curPrecioTotal = remi.Producto2.curPrecioNeto * Convert.ToInt16(Remito.Rows[0]["Cant2"].ToString()); remi.Producto2.Trazabilidad.strNumPartida = Remito.Rows[0]["IDProdu2"].ToString(); //Producto 3 remi.Producto3.intCantidad = Convert.ToInt16(Remito.Rows[0]["Cant3"].ToString()); remi.Producto3.strDescripcion = Remito.Rows[0]["Deatalle3"].ToString(); if (Convert.ToInt16(Remito.Rows[0]["Cant3"].ToString()) > 0) { remi.Producto3.curPrecioNeto = Convert.ToDecimal(Remito.Rows[0]["Precio3"].ToString()) / Convert.ToInt16(Remito.Rows[0]["Cant3"].ToString()); } remi.Producto3.curPrecioTotal = remi.Producto3.curPrecioNeto * Convert.ToInt16(Remito.Rows[0]["Cant3"].ToString()); remi.Producto3.Trazabilidad.strNumPartida = Remito.Rows[0]["IDProdu3"].ToString(); //Producto 4 remi.Producto4.intCantidad = Convert.ToInt16(Remito.Rows[0]["Cant4"].ToString()); remi.Producto4.strDescripcion = Remito.Rows[0]["Deatalle4"].ToString(); if (Convert.ToInt16(Remito.Rows[0]["Cant4"].ToString()) > 0) { remi.Producto4.curPrecioNeto = Convert.ToDecimal(Remito.Rows[0]["Precio4"].ToString()) / Convert.ToInt16(Remito.Rows[0]["Cant4"].ToString()); } remi.Producto4.curPrecioTotal = remi.Producto4.curPrecioNeto * Convert.ToInt16(Remito.Rows[0]["Cant4"].ToString()); remi.Producto4.Trazabilidad.strNumPartida = Remito.Rows[0]["IDProdu4"].ToString(); //Producto 5 remi.Producto5.intCantidad = Convert.ToInt16(Remito.Rows[0]["Cant5"].ToString()); remi.Producto5.strDescripcion = Remito.Rows[0]["Deatalle5"].ToString(); if (Convert.ToInt16(Remito.Rows[0]["Cant5"].ToString()) > 0) { remi.Producto5.curPrecioNeto = Convert.ToDecimal(Remito.Rows[0]["Precio5"].ToString()) / Convert.ToInt16(Remito.Rows[0]["Cant5"].ToString()); } remi.Producto5.curPrecioTotal = remi.Producto5.curPrecioNeto * Convert.ToInt16(Remito.Rows[0]["Cant5"].ToString()); remi.Producto5.Trazabilidad.strNumPartida = Remito.Rows[0]["IDProdu5"].ToString(); //Chofer remi.strChofer = "Maximiliano Esposito DNI 37.375.313"; //Valor Declarado remi.curTotal = Convert.ToDecimal(Remito.Rows[0]["ValorDeclarado"].ToString()); //Nota remi.strNota = Remito.Rows[0]["Notas"].ToString(); //Cerrar la conexion ConexionAccess2007.Desconectar(); return(remi); }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void TlbFacturarClick(object sender, EventArgs e) { //Crea un nuevo objeto que es el frmDocumentoFiscal frmDocumentoFiscal FacturaNueva = new frmDocumentoFiscal(); VariablesPropias.VariablesPropias.vpRemito Remito = new VariablesPropias.VariablesPropias.vpRemito(); Remito = CargarRemito(); FacturaNueva.cmbRazonSocial.Text = Remito.Cliente.strNombre; FacturaNueva.CargarClientes(); //FacturaNueva.cmbRazonSocial.SelectedIndexChanged;//object sender, EventArgs e) FacturaNueva.cmbRemito1.Text = Remito.dblNumRemi.ToString(); FacturaNueva.CargarRemito(Convert.ToInt32(Remito.dblNumRemi)); /* * string[] producto = new string[3]; //Esto son los productos directamente en cant, traza y Nombbre * int a = 0; //variable de refuerzo para sacar cada uno de los productos * double valordeclarado = 0; //Valor declarado del remito. * * * //Cargo todos los datos dentro del nuevo remito * RemitoNuevo.cmbRazonSocial.Text = gridDatos.CurrentRow.Cells[2].Value.ToString(); * RemitoNuevo.CargarClientesRemito(); * * double descuento = Convert.ToDouble(OperacionesComunes.ObtenerClieDescuento(RemitoNuevo.txtIdCliente.Text))/100; * * * * double dblDolar = Convert.ToDouble(OperacionesComunes.ObtenerDolar()); * * RemitoNuevo.lblDolar.Text = dblDolar.ToString(); * * * //Cargar todos los productos * for (int j = 0; j < 5; j++) * * { * //Datos de cada productos * for (int i = 0; i < 3; i++) * { * producto[i] = gridDatosPedido[i+a, 0].Value.ToString(); * } * if (producto[0].Length != 0 ) * { * RemitoNuevo.gridDatos.Rows.Add(producto); * * * * //aumento en 3 porque cada producto son 3 datos * a += 3; * * //Esta condicion asegura que no se pasen cadenas vacias * if (producto[1] != "") * { * //Esta linea obtiene el valor de la mercaderia incluyendo el descuento. * double precio = Convert.ToDouble (OperacionesComunes.ObtenerPrecioMercaderia (producto[1] )); * * RemitoNuevo.gridDatos[3,j].Value = (precio - * (precio * descuento)) * * dblDolar; * RemitoNuevo.gridDatos[4,j].Value = (Convert.ToDouble (RemitoNuevo.gridDatos[3,j].Value.ToString()) * * Convert.ToDouble (RemitoNuevo.gridDatos[0,j].Value.ToString())).ToString(); * * valordeclarado += Convert.ToDouble (RemitoNuevo.gridDatos[3,j].Value.ToString()) * Convert.ToDouble (RemitoNuevo.gridDatos[0,j].Value.ToString()); * * } * * } * } * * //Al terminar con todo paso el valor declarado * RemitoNuevo.lblValDec.Text = valordeclarado.ToString(); * * */ //Usando this.MdiParent es como hago que cargue el form child en el general FacturaNueva.MdiParent = this.MdiParent; FacturaNueva.Show(); }
/// <summary> /// /// </summary> /// <param name="remi"></param> void PasarARemito(VariablesPropias.VariablesPropias.vpRemito remi) { dtpFecha.Value = remi.dtFecha; //Id del remito es todo el numero del remito //TODO: Mejorar esto porque esta mal. //txtNumRemito.Text = ; //CLiente cmbRazonSocial.Text = remi.Cliente.strNombre; lblDireccion.Text = remi.Cliente.strDireccion; lblLocalidad.Text = remi.Cliente.strLocalidad; lblProvincia.Text = remi.Cliente.strProvincia; lblCUIT.Text = remi.Cliente.dblCUIT.ToString(); txtIdCliente.Text = remi.Cliente.strid; //Transporte cmbTransNombre.Text = remi.Transporte.strNombre; txtTransDireccion.Text = remi.Transporte.strDireccion; //Producto //TODO: hay que pasar esto a un array de productos gridDatos.RowCount = 1; if (remi.Producto1.intCantidad > 0) { string[] fila = new string[5] { remi.Producto1.intCantidad.ToString(), remi.Producto1.Trazabilidad.strNumPartida, remi.Producto1.strDescripcion, remi.Producto1.curPrecioNeto.ToString("C", CultureInfo.CreateSpecificCulture("es-AR")), remi.Producto1.curPrecioTotal.ToString("C", CultureInfo.CreateSpecificCulture("es-AR")) }; gridDatos.Rows.Add(fila); } if (remi.Producto2.intCantidad > 0) { string[] fila = new string[5] { remi.Producto2.intCantidad.ToString(), remi.Producto2.Trazabilidad.strNumPartida, remi.Producto2.strDescripcion, remi.Producto2.curPrecioNeto.ToString("C", CultureInfo.CreateSpecificCulture("es-AR")), remi.Producto2.curPrecioTotal.ToString("C", CultureInfo.CreateSpecificCulture("es-AR")) }; gridDatos.Rows.Add(fila); } if (remi.Producto3.intCantidad > 0) { string[] fila = new string[5] { remi.Producto3.intCantidad.ToString(), remi.Producto3.Trazabilidad.strNumPartida, remi.Producto3.strDescripcion, remi.Producto3.curPrecioNeto.ToString("C", CultureInfo.CreateSpecificCulture("es-AR")), remi.Producto3.curPrecioTotal.ToString("C", CultureInfo.CreateSpecificCulture("es-AR")) }; gridDatos.Rows.Add(fila); } if (remi.Producto4.intCantidad > 0) { string[] fila = new string[5] { remi.Producto4.intCantidad.ToString(), remi.Producto4.Trazabilidad.strNumPartida, remi.Producto4.strDescripcion, remi.Producto4.curPrecioNeto.ToString("C", CultureInfo.CreateSpecificCulture("es-AR")), remi.Producto4.curPrecioTotal.ToString("C", CultureInfo.CreateSpecificCulture("es-AR")) }; gridDatos.Rows.Add(fila); } if (remi.Producto5.intCantidad > 0) { string[] fila = new string[5] { remi.Producto5.intCantidad.ToString(), remi.Producto5.Trazabilidad.strNumPartida, remi.Producto5.strDescripcion, remi.Producto5.curPrecioNeto.ToString("C", CultureInfo.CreateSpecificCulture("es-AR")), remi.Producto5.curPrecioTotal.ToString("C", CultureInfo.CreateSpecificCulture("es-AR")) }; gridDatos.Rows.Add(fila); } //Chofer //remi.strChofer = "Maximiliano Esposito DNI 37.375.313"; //Valor Declarado lblValDec.Text = remi.curTotal.ToString(); /* * * * * * * //AFIP * remi.strFechaVto = lblFechaVto.Text; * remi.strCAI = lblCAI.Text; * remi.picCodBarras = this.pictureBox1; * */ }
///<summary> ///Carga los datos presentados en una variable propia que tiene todos los datos en forma de estructura ///</summary> public VariablesPropias.VariablesPropias.vpRemito CargarRemito() { VariablesPropias.VariablesPropias.vpRemito remi = new VariablesPropias.VariablesPropias.vpRemito(); CultureInfo cultura = new CultureInfo("es-AR"); CultureInfo culture = new CultureInfo("en-US"); remi.dblNumRemi = Convert.ToDouble(txtNumRemito.Text); remi.dtFecha = dtpFecha.Value; //Id del remito es todo el numero del remito //TODO: Mejorar esto porque esta mal. remi.IDRemito = "0001-0000" + txtNumRemito.Text; //CLiente remi.Cliente.strNombre = this.cmbRazonSocial.Text.ToString(); remi.Cliente.strid = this.txtIdCliente.Text; remi.Cliente.strDireccion = this.lblDireccion.Text; remi.Cliente.strLocalidad = this.lblLocalidad.Text; remi.Cliente.strProvincia = this.lblProvincia.Text; remi.Cliente.dblCUIT = Convert.ToDouble(this.lblCUIT.Text); //remi.Cliente.strPosIVA = this //Transporte remi.Transporte.strNombre = cmbTransNombre.Text; remi.Transporte.strDireccion = txtTransDireccion.Text; //Producto //TODO:Aca va un for para el array de productos que tiene el vpRemito //Producto 1 remi.Producto1.intCantidad = Convert.ToInt16(gridDatos[0, 0].Value); remi.Producto1.strid = gridDatos[1, 0].Value.ToString(); remi.Producto1.strDescripcion = gridDatos[2, 0].Value.ToString(); //Uso el Culture info para pasar un numero con el formato de Argentina para que lo pase como decimal (yanqui) //Me falta saber como sacarle directamente el "$" del string de entrada remi.Producto1.curPrecioNeto = Convert.ToDecimal(Convert.ToDecimal(gridDatos[3, 0].Value.ToString().Replace("$", "").ToString(), cultura)); remi.Producto2.curPrecioTotal = Convert.ToDecimal(Convert.ToDecimal(gridDatos[4, 0].Value.ToString().Replace("$", "").ToString(), cultura)); //Producto 2 if (gridDatos.Rows.Count > 2) { remi.Producto2.intCantidad = Convert.ToInt16(gridDatos[0, 1].Value); remi.Producto2.strid = gridDatos[1, 1].Value.ToString(); remi.Producto2.strDescripcion = gridDatos[2, 1].Value.ToString(); //Uso el Culture info para pasar un numero con el formato de Argentina para que lo pase como decimal (yanqui) //Me falta saber como sacarle directamente el "$" del string de entrada remi.Producto2.curPrecioNeto = Convert.ToDecimal(gridDatos[3, 1].Value.ToString().Replace("$", "").ToString()); remi.Producto2.curPrecioTotal = Convert.ToDecimal(gridDatos[4, 1].Value.ToString().Replace("$", "").ToString()); } else { remi.Producto2.intCantidad = 0; remi.Producto2.strDescripcion = " "; remi.Producto2.curPrecioNeto = 0; remi.Producto2.curPrecioTotal = 0; } //Producto 3 if (gridDatos.Rows.Count > 3) { remi.Producto3.intCantidad = Convert.ToInt16(gridDatos[0, 2].Value); remi.Producto3.strid = gridDatos[1, 2].Value.ToString(); remi.Producto3.strDescripcion = gridDatos[2, 2].Value.ToString(); //Uso el Culture info para pasar un numero con el formato de Argentina para que lo pase como decimal (yanqui) //Me falta saber como sacarle directamente el "$" del string de entrada remi.Producto3.curPrecioNeto = Convert.ToDecimal(gridDatos[3, 2].Value.ToString().Replace("$", "").ToString().ToString(), cultura); remi.Producto3.curPrecioTotal = Convert.ToDecimal(gridDatos[4, 2].Value.ToString().Replace("$", "").ToString().ToString(), cultura); } else { remi.Producto3.intCantidad = 0; remi.Producto3.strDescripcion = " "; remi.Producto3.curPrecioNeto = 0; remi.Producto3.curPrecioTotal = 0; } //Producto 4 if (gridDatos.Rows.Count > 4) { remi.Producto4.intCantidad = Convert.ToInt16(gridDatos[0, 3].Value); remi.Producto4.strid = gridDatos[1, 3].Value.ToString(); remi.Producto4.strDescripcion = gridDatos[2, 3].Value.ToString(); //Uso el Culture info para pasar un numero con el formato de Argentina para que lo pase como decimal (yanqui) //Me falta saber como sacarle directamente el "$" del string de entrada remi.Producto4.curPrecioNeto = Convert.ToDecimal(gridDatos[3, 3].Value.ToString().Replace("$", "").ToString().ToString(), cultura); remi.Producto4.curPrecioTotal = Convert.ToDecimal(gridDatos[4, 3].Value.ToString().Replace("$", "").ToString().ToString(), cultura); } else { remi.Producto4.intCantidad = 0; remi.Producto4.strDescripcion = " "; remi.Producto4.curPrecioNeto = 0; remi.Producto4.curPrecioTotal = 0; } //Producto 5 if (gridDatos.Rows.Count > 5) { remi.Producto5.intCantidad = Convert.ToInt16(gridDatos[0, 4].Value); remi.Producto5.strid = gridDatos[1, 4].Value.ToString(); remi.Producto5.strDescripcion = gridDatos[2, 4].Value.ToString(); //Uso el Culture info para pasar un numero con el formato de Argentina para que lo pase como decimal (yanqui) //Me falta saber como sacarle directamente el "$" del string de entrada remi.Producto5.curPrecioNeto = Convert.ToDecimal(gridDatos[3, 4].Value.ToString().Replace("$", "").ToString().ToString(), cultura); remi.Producto5.curPrecioTotal = Convert.ToDecimal(gridDatos[4, 4].Value.ToString().Replace("$", "").ToString().ToString(), cultura); } else { remi.Producto5.intCantidad = 0; remi.Producto5.strDescripcion = " "; remi.Producto5.curPrecioNeto = 0; remi.Producto5.curPrecioTotal = 0; } //Chofer remi.strChofer = "Maximiliano Esposito DNI 37.375.313"; //Valor Declarado remi.curTotal = Convert.ToDecimal(lblValDec.Text); //AFIP //Esto arma una nueva variable propia VariablesPropias.VariablesPropias.vpCAIRemito CAIRemito = new VariablesPropias.VariablesPropias.vpCAIRemito(); //Esto carga los datos en la variable propia CAIRemito = OperacionesComunes.CargarElCAI(txtNumRemito.Text); //TODO: HACER YA remi.strFechaVto = CAIRemito.strFechaVenc; remi.strCAI = CAIRemito.strCAI; remi.picCodBarras = this.pictureBox1; remi.strFechaImpresion = CAIRemito.strFechaImpresion; return(remi); }