private void btnProcesar_Click(object sender, EventArgs e) { string message; string caption = "Precaución"; ManejaArticulos objManejaArticulos = new ManejaArticulos(); message = "¿Esta seguro de que desea actualizar la Marca?"; MessageBoxButtons buttons = MessageBoxButtons.YesNo; DialogResult result; // Displays the MessageBox. result = MessageBox.Show(message, caption, buttons); if (result == System.Windows.Forms.DialogResult.Yes) { if (!VerificoCamposAntesDeGrabar()) { MessageBox.Show("Debe cargar un Excel con datos completos"); return; } //Recorro la grilla y actualizo objManejaArticulos = new ManejaArticulos(); try { foreach (DataGridViewRow row in gridArticulos.Rows) { //objArticulos = new Articulos(); //objArticulos.StrCodigo=Convert.ToString (row.Cells[0].Value); //objArticulos.Intstock = Convert.ToInt32 (row.Cells[1].Value); //list.Add(objArticulos); //Me fijo si existe la Marca ManejaDiccionario objManejaDiccionario = new ManejaDiccionario(); if (!objManejaDiccionario.ExisteDiccionario("MARCA", Convert.ToString(row.Cells[1].Value))) { //Si no existe la creo Diccionario objDiccionario = new Diccionario(); objDiccionario.StrParametro = "MARCA"; objDiccionario.StrValor1 = Convert.ToString(row.Cells[1].Value); objManejaDiccionario.GrabarDiccionario(objDiccionario); } objManejaArticulos.ModificaMarcaMasivo(Convert.ToString(row.Cells[0].Value), Convert.ToString(row.Cells[1].Value)); } gridArticulos.Rows.Clear(); objManejaArticulos = null; MessageBox.Show("La Actualización ha sido correcta"); } catch (Exception ex) { MessageBox.Show("Formato incorrecto, revise el Excel"); } } }
private void Modifico() { AsignoDatosAlObjeto(); ManejaArticulos objManejaArticulos = new ManejaArticulos(); objManejaArticulos.ModificaArticulos(objArticulos); }
private void btnEliminar_Click(object sender, EventArgs e) { string message; string caption = "Mensaje"; ManejaArticulos objManejaArticulos = new ManejaArticulos(); message = "Desea Eliminar el Articulo"; MessageBoxButtons buttons = MessageBoxButtons.YesNo; DialogResult result; // Displays the MessageBox. result = MessageBox.Show(message, caption, buttons); if (result == System.Windows.Forms.DialogResult.Yes) { //Si me dice que si, lo elimino objManejaArticulos.EliminaArticulos(objArticulos.IntCodigo); MessageBox.Show("El Articulo " + objArticulos.StrDescripcion + " ha sido eliminado correctamente"); LimpioCampos(); } }
private string ValidaRegistros(string strCol1, string strCol4, string strCol12) { ManejaArticulos objManejaArticulos = new ManejaArticulos(); //Valida si existe el articulo, si ya existe devuelve falso if (objManejaArticulos.ExisteArticulo(strCol1)) { return("El Articulo: " + strCol1.ToUpper() + " ya se encuentra ingresado. No se agregara a la grilla, Fila: "); } //Valida si el proveedor Existe if (!objManejaArticulos.ExisteProveedor(strCol4)) { return("Proveedor No Existe en la fila: "); } //Valida si existe la Moneda if (!objManejaArticulos.ExisteMoneda(strCol12)) { return("Moneda No Existe en la fila: "); } return(null); }
private void ActualizoStock(int intCodigo, int intCantidad, string strEstadoVenta) { //Si el estado de la orden es pendiente o cumplida entonces descuento el stock //Si el estado es cancelado incremento el stock ManejaArticulos objManejaArticulos = new ManejaArticulos(); objManejaArticulos.ModificaStockDevolucion(intCodigo, intCantidad, strEstadoVenta); }
private void btnReporte_Click(object sender, EventArgs e) { DataTable dt = ArmoSql(); ManejaArticulos objManejaArticulos = new ManejaArticulos(); frmReportes objfrmReporte; objfrmReporte = new frmReportes("ReporteArticulos.rdlc", objManejaArticulos.ReporteDeArticulosGral(dt), "ArticulosReporteGral"); objfrmReporte.Show(); }
private void btnBorrar_Click(object sender, EventArgs e) { Int32 selRow = 0; int intBorrados = 0; string message; string caption = "Mensaje"; ManejaArticulos objManejoArticulos = new ManejaArticulos(); message = "Desea Borrar los articulos seleccionados?"; if (gridBuscarArticulos != null) { if (gridBuscarArticulos.Rows.Count > 0) { //Recorro los tildados para borrar for (int i = 0; i <= Convert.ToInt32(gridBuscarArticulos.Rows.Count) - 1; i++) { if (Convert.ToBoolean(gridBuscarArticulos[COL_BORRADO, i].Value) == true) { intBorrados++; if (intBorrados == 1)// Si encuentro borrados pregunto si quiere borrar { MessageBoxButtons buttons = MessageBoxButtons.YesNo; DialogResult result; result = MessageBox.Show(message, caption, buttons); if (result == System.Windows.Forms.DialogResult.Yes) { int intCodigo = Convert.ToInt32(gridBuscarArticulos[0, i].Value.ToString()); objManejoArticulos.EliminaArticulos(intCodigo); } else { return; } } else { int intCodigo = Convert.ToInt32(gridBuscarArticulos[0, i].Value.ToString()); objManejoArticulos.EliminaArticulos(intCodigo); } } } if (gridBuscarArticulos.SelectedCells.Count > 0) { selRow = gridBuscarArticulos.CurrentCell.RowIndex; } CargoGrilla(); if ((gridBuscarArticulos.Rows.Count - 1) > selRow) { gridBuscarArticulos.ClearSelection(); gridBuscarArticulos.CurrentCell = gridBuscarArticulos[COL_BORRADO, selRow]; } } } }
private void BuscaElCodigoExtraDelArticulo(string strCodigo) { ManejaArticulos objManejaArticulos = new ManejaArticulos(); objArticulos = new Articulos(); objArticulos = objManejaArticulos.BuscarArticulosPorCodigoExtra(strCodigo, true); txtCodigo.Text = strCodigo; txtDescripcion.Enabled = true; txtDescripcion.Text = objArticulos.StrDescripcion; txtDescripcion.Enabled = false; txtPrecio.Enabled = true; txtPrecio.Text = Convert.ToString(Redondeo(TomaPrecioDeLista(objArticulos))); txtCantidad.Text = "1"; txtPrecio.Enabled = false; }
private void cboAgregar_Click(object sender, EventArgs e) { strCodigo = ((Button)sender).Name; if (boOtraPantalla) { this.Close();//Cierra la pantalla y vuelve a la pantalla de ventas } else { ManejaArticulos objManejaArticulos = new ManejaArticulos(); Articulos objArticulos = objManejaArticulos.BuscarArticulosPorCodigoExtra(strCodigo, boOtraPantalla); frmArticulos objfrmArticulos = new frmArticulos(objArticulos); objfrmArticulos.Show(); objfrmArticulos.Activate(); } }
private void btnProcesar_Click(object sender, EventArgs e) { string message; string caption = "Precaución"; ManejaArticulos objManejaArticulos = new ManejaArticulos(); message = "¿Esta seguro de que desea actualizar el proveedor?"; MessageBoxButtons buttons = MessageBoxButtons.YesNo; DialogResult result; // Displays the MessageBox. result = MessageBox.Show(message, caption, buttons); if (result == System.Windows.Forms.DialogResult.Yes) { if (!VerificoCamposAntesDeGrabar()) { MessageBox.Show("Debe cargar un Excel con datos completos"); return; } //Recorro la grilla y actualizo objManejaArticulos = new ManejaArticulos(); try { foreach (DataGridViewRow row in gridArticulos.Rows) { objManejaArticulos.ModificaProveedorMasivo(Convert.ToString(row.Cells[0].Value), Convert.ToInt32(row.Cells[1].Value)); } gridArticulos.Rows.Clear(); objManejaArticulos = null; MessageBox.Show("La Actualización ha sido correcta"); } catch (Exception ex) { MessageBox.Show("Formato incorrecto, revise el Excel"); } } }
private void txtCodigo_Leave(object sender, EventArgs e) { if (!string.IsNullOrEmpty(txtCodigo.Text)) { //Busco el codigo ManejaArticulos objManejaArticulos = new ManejaArticulos(); Articulos objArticulos = new Articulos(); objArticulos = objManejaArticulos.BuscarArticulosPorCodigoExtra(txtCodigo.Text, true); txtCantidad.Text = "1"; if (objArticulos.IntCodigo == 0)//El Articulo no esta, debo obligarlo a cargar { string message = "¿Desea Cargar el articulo?"; string caption = "Articulo Inexistente"; MessageBoxButtons buttons = MessageBoxButtons.YesNo; DialogResult result; // Displays the MessageBox. result = MessageBox.Show(message, caption, buttons); if (result == System.Windows.Forms.DialogResult.Yes) { objArticulos.StrCodigo = txtCodigo.Text; objArticulos.DtFechaAlta = DateTime.Now; frmArticulos objFrmArticulos = new frmArticulos(objArticulos); objFrmArticulos.ShowDialog(); objArticulos = null; cboBuscarCodigo_Click(null, null); } else { txtCodigo.Text = ""; txtCantidad.Text = ""; } } } }
private void gridBuscarArticulos_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { if (gridBuscarArticulos.RowCount > 0) { if (boOtraPantalla) { strCodigo = Convert.ToString(gridBuscarArticulos.CurrentRow.Cells[2].Value.ToString()); this.Close(); } else { ManejaArticulos objManejaArticulos = new ManejaArticulos(); int intCodigo = Convert.ToInt32(gridBuscarArticulos.CurrentRow.Cells[0].Value.ToString()); Articulos objArticulos = objManejaArticulos.BuscarArticulos(intCodigo); frmArticulos objfrmArticulos = new frmArticulos(objArticulos); if (frmLogin.PermiteEntrar("ARTICULOS", "ARTICULOS_ALTA")) { objfrmArticulos.Show(); objfrmArticulos.Activate(); CargoGrilla(); } } } }
private void BuscoArticulo() { objManejaArticulos = new ManejaArticulos(); objArticulos = new Articulos(); objArticulos = objManejaArticulos.BuscarArticulosPorCodigoExtra(txtCodigo.Text, false); if (objArticulos.IntCodigo > 0) { CargoCombos(); AsignoCamposConObjetos(); if (strPermiso != "LECTURA") { btnEliminar.Enabled = true; } this.Text = "Articulo: " + txtDescripcion.Text; //Si esta dado de baja bloqueo todo if (!string.IsNullOrEmpty(objArticulos.DtFechaBaja)) { HabilitoDesabilitoCampos(false); } } }
private void Grabo() { AsignoDatosAlObjeto(); objManejaArticulos = new ManejaArticulos(); objArticulos.IntCodigo = objManejaArticulos.GrabarArticulos(objArticulos); }
private void btnProcesar_Click(object sender, EventArgs e) { string message; string caption = "Precaución"; ManejaArticulos objManejaArticulos = new ManejaArticulos(); ManejaDiccionario objManejaDiccionario = new ManejaDiccionario(); message = "¿Esta seguro de que desea correr el proceso?"; MessageBoxButtons buttons = MessageBoxButtons.YesNo; DialogResult result; // Displays the MessageBox. result = MessageBox.Show(message, caption, buttons); if (result == System.Windows.Forms.DialogResult.Yes) { if (!VerificoCamposAntesDeGrabar()) { MessageBox.Show("Debe cargar un Excel con datos completos"); return; } //Recorro la grilla y actualizo objManejaArticulos = new ManejaArticulos(); try { foreach (DataGridViewRow row in gridArticulos.Rows) { Articulos objArticulos = new Articulos(); objArticulos.StrCodigo = Convert.ToString(row.Cells[0].Value).Trim(); objArticulos.StrDescripcion = Convert.ToString(row.Cells[1].Value).Trim().ToUpper(); objArticulos.StrDescrCorta = Convert.ToString(row.Cells[2].Value).Trim().ToUpper(); objArticulos.IntProveedor = Convert.ToInt32(row.Cells[3].Value); objArticulos.StrRubro = Convert.ToString(row.Cells[4].Value).Trim().ToUpper(); objArticulos.StrMarca = Convert.ToString(row.Cells[5].Value).Trim().ToUpper(); objArticulos.StrUbicacion = Convert.ToString(row.Cells[6].Value).Trim(); if (String.IsNullOrEmpty(Convert.ToString(row.Cells[12].Value))) { objArticulos.IntMoneda = 1; //Por defecto pongo moneda ARS } else { objArticulos.IntMoneda = Convert.ToInt32(row.Cells[12].Value); } if (String.IsNullOrEmpty(Convert.ToString(row.Cells[7].Value))) { objArticulos.Intstock = 0; } else { objArticulos.Intstock = Convert.ToInt32(row.Cells[7].Value); } if (String.IsNullOrEmpty(Convert.ToString(row.Cells[8].Value))) { objArticulos.Intstockminimo = 0; } else { objArticulos.Intstockminimo = Convert.ToInt32(row.Cells[8].Value); } if (String.IsNullOrEmpty(Convert.ToString(row.Cells[9].Value))) { objArticulos.DoCosto = 0; } else { objArticulos.DoCosto = Convert.ToDecimal(row.Cells[9].Value); } if (String.IsNullOrEmpty(Convert.ToString(row.Cells[10].Value))) { objArticulos.DoGanancia = 0; } else { objArticulos.DoGanancia = Convert.ToDecimal(row.Cells[10].Value); } if (String.IsNullOrEmpty(Convert.ToString(row.Cells[11].Value))) { objArticulos.DoPrecioEfectivo = 0; } else { objArticulos.DoPrecioEfectivo = Convert.ToDecimal(row.Cells[11].Value); } objArticulos.DtFechaAlta = Convert.ToDateTime(DateTime.Now.ToShortDateString()); int intcodigo = objManejaArticulos.GrabarArticulos(objArticulos); //Me fijo si existe el Rubro if (!objManejaDiccionario.ExisteDiccionario("PRODUCTOS/SERVICIOS", objArticulos.StrRubro)) { //Si no existe lo creo Diccionario objDiccionario = new Diccionario(); objDiccionario.StrParametro = "PRODUCTOS/SERVICIOS"; objDiccionario.StrValor1 = objArticulos.StrRubro; objManejaDiccionario.GrabarDiccionario(objDiccionario); } //Me fijo si existe la Marca if (!objManejaDiccionario.ExisteDiccionario("MARCA", objArticulos.StrMarca)) { //Si no existe la creo Diccionario objDiccionario = new Diccionario(); objDiccionario.StrParametro = "MARCA"; objDiccionario.StrValor1 = objArticulos.StrMarca; objManejaDiccionario.GrabarDiccionario(objDiccionario); } } gridArticulos.Rows.Clear(); objManejaArticulos = null; MessageBox.Show("La creación masiva ha sido correcta"); } catch (Exception ex) { MessageBox.Show("Formato incorrecto, revise el Excel"); gridArticulos.Rows.Clear(); return; } } }
private void btnImportar_Click(object sender, EventArgs e) { int intTienePacientesRepetidos = 0; int intElementoRepetidoEnGrilla = 0; ManejaArticulos objManejaArticulos = new ManejaArticulos(); object strCol1 = null; object strCol2 = null; object strCol3 = null; object strCol4 = null; object strCol5 = null; object strCol6 = null; object strCol7 = null; object strCol8 = null; object strCol9 = null; object strCol10 = null; object strCol11 = null; object strCol12 = null; object strCol13 = null; string strMessageValidacion = null; //abrimos el dialogo para poder obtener el nombre la ubicacion del archivo ofdAbrirArchivo.Filter = "Excel files|*.xlsx;*.xls"; ofdAbrirArchivo.ShowDialog(); string sArchivo = ofdAbrirArchivo.FileName; if (String.IsNullOrEmpty(sArchivo)) { return; } //declaramos las variables que necesitamos para poder abrir un archivo excel _Application exlApp; Workbook exlWbook; Worksheet exlWsheet; exlApp = new ApplicationClass(); //Asignamos el libro que sera abierot exlWbook = exlApp.Workbooks.Open(sArchivo, 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0); exlWsheet = (Worksheet)exlWbook.Worksheets.get_Item(1); Range exlRange; //Definimos el el rango de celdas que seran leidas exlRange = exlWsheet.UsedRange; //Seteo la grilla CargoTituloGrilla(); gridArticulos.DataSource = null; gridArticulos.Rows.Clear(); try { string[] array = new string[exlRange.Rows.Count]; //Recorremos el archivo excel como si fuera una matriz for (int i = 2; i <= exlRange.Rows.Count; i++) { strMessageValidacion = ""; strCol1 = ""; strCol2 = ""; strCol3 = ""; strCol4 = ""; strCol5 = ""; strCol6 = ""; strCol7 = ""; strCol8 = ""; strCol9 = ""; strCol10 = ""; strCol11 = ""; strCol12 = ""; strCol13 = ""; strCol1 = (exlRange.Cells[i, 1] as Range).Value2; //Verifico que el codigo este repetido //Recorro el array y me fijo si ese elemento ya existe //Si no existe lo agrego, sino salgo e informo if (strCol1 != null) { intElementoRepetidoEnGrilla = 0; for (int j = 0; j < array.Length; j++) { if (array[j] == strCol1.ToString()) { //MessageBox.Show("El elemento de la fila: " + i + " esta repetido"); //gridArticulos.Rows.Clear(); //exlApp.Quit(); //return; intElementoRepetidoEnGrilla = 1; } } if (intElementoRepetidoEnGrilla == 0) { //lo Asigno array[i - 1] = strCol1.ToString(); strCol2 = (exlRange.Cells[i, 2] as Range).Value2; strCol3 = (exlRange.Cells[i, 3] as Range).Value2; strCol4 = (exlRange.Cells[i, 4] as Range).Value2; strCol5 = (exlRange.Cells[i, 5] as Range).Value2; strCol6 = (exlRange.Cells[i, 6] as Range).Value2; strCol7 = (exlRange.Cells[i, 7] as Range).Value2; strCol8 = (exlRange.Cells[i, 8] as Range).Value2; strCol9 = (exlRange.Cells[i, 9] as Range).Value2; strCol10 = (exlRange.Cells[i, 10] as Range).Value2; strCol11 = (exlRange.Cells[i, 11] as Range).Value2; strCol12 = (exlRange.Cells[i, 12] as Range).Value2; strCol13 = (exlRange.Cells[i, 13] as Range).Value2; if (strCol1 != null && strCol2 != null && strCol4 != null && strCol5 != null && strCol6 != null) { //Valida Codigo Existente if (String.IsNullOrEmpty(Convert.ToString(strCol13))) { strCol13 = "1"; //Pongo por defecto ARS para la moneda } strMessageValidacion = ValidaRegistros(Convert.ToString(strCol1), Convert.ToString(strCol4), Convert.ToString(strCol13)); if (String.IsNullOrEmpty(strMessageValidacion)) { gridArticulos.Rows.Add(Convert.ToString(strCol1), Convert.ToString(strCol2), Convert.ToString(strCol3), Convert.ToString(strCol4), Convert.ToString(strCol5), Convert.ToString(strCol6), Convert.ToString(strCol7), Convert.ToString(strCol8), Convert.ToString(strCol9), Convert.ToString(strCol10), Convert.ToString(strCol11), Convert.ToString(strCol12), Convert.ToString(strCol13)); } else { //MessageBox.Show(strMessageValidacion + i); //gridArticulos.Rows.Clear(); //exlApp.Quit(); //return; intTienePacientesRepetidos = intTienePacientesRepetidos + 1; } } else { MessageBox.Show("La fila: " + i + " contiene datos obligatorios imcompletos, revise el Excel"); } } } //} } } catch (Exception ex) { MessageBox.Show("Formato incorrecto en el registro con codigo: " + strCol1 + ", revise el Excel"); gridArticulos.Rows.Clear(); exlApp.Quit(); return; } //cerramos el libro y la aplicacion exlApp.Quit(); if (intTienePacientesRepetidos > 0) { MessageBox.Show("El Excel tiene articulos repetidos. Los mismos no fueron agregados a la grilla."); } MessageBox.Show("Presione Procesar para continuar"); }
private void Modifico() { ManejaDiccionario objManejaDiccionario = new ManejaDiccionario(); bool boCancelaVenta = false; //Tengo que setear una fecha porque todavia no esta cargada //objDevoluciones.ObjSubVentaCheque.DtFechaVencimiento = DateTime.Now; // int intStockActual; string message; string caption = "Mensaje"; message = "¿Desea Grabar la Devolución?"; MessageBoxButtons buttons = MessageBoxButtons.YesNo; DialogResult result; // Displays the MessageBox. result = MessageBox.Show(message, caption, buttons); if (result == System.Windows.Forms.DialogResult.Yes) { ManejaDevoluciones objManejaDevoluciones = new ManejaDevoluciones(); //Si estoy cancelando una orden, una vez actualizado el estado debo devolver el stock if ((cboEstado.Text == "CANCELADA") && (objManejaDevoluciones.BuscoEstado(objDevoluciones.IntCodigo) != "CANCELADA")) { boCancelaVenta = true; } //Verifico si el cliente o el empleado estan dados de baja cuando cumplo la orden if (cboEstado.Text == "PENDIENTE") { objDevoluciones.StrEstado = "CUMPLIDA"; cboEstado.Text = "CUMPLIDA"; } if (objDevoluciones.StrEstado == "CUMPLIDA") { ManejaClientes objManejaClientes = new ManejaClientes(); if (objManejaClientes.ClienteDadoDeBaja(objDevoluciones.ObjCliente.IntCodigo)) { objDevoluciones.StrEstado = "PENDIENTE"; cboEstado.Text = "PENDIENTE"; MessageBox.Show("El cliente se encuentra eliminado, debe borrarlo para continuar"); return; } ManejaEmpleados objManejaEmpleados = new ManejaEmpleados(); if (objManejaEmpleados.EmpleadoDadoDeBaja(objDevoluciones.ObjEmpleado.IntCodigo)) { objDevoluciones.StrEstado = "PENDIENTE"; cboEstado.Text = "PENDIENTE"; MessageBox.Show("El vendedor se encuentra eliminado, debe borrarlo para continuar"); return; } } ManejaArticulos objManejaArticulos = new ManejaArticulos(); foreach (var c in objDevoluciones.ListArticulosPorDevolucion) { if (objManejaArticulos.ArticuloDadoDeBaja(c.ObjArticulo.IntCodigo)) { objDevoluciones.StrEstado = "PENDIENTE"; cboEstado.Text = "PENDIENTE"; MessageBox.Show("El articulo " + c.ObjArticulo.StrCodigo + " - " + c.ObjArticulo.StrDescripcion + " se encuentra borrarlo, debe eliminarlo para continuar"); return; } } objManejaDevoluciones.ModificaDevolucion(objDevoluciones); this.Text = "Devolución: " + lblLegajo.Text; foreach (var c in objDevoluciones.ListArticulosPorDevolucion) { if (c.IntCodigo > 0) { //Como se si es algo que no se modifico???? //Quizas deberia comparar con la cantidad con la que tiene guardada en esa factura detalle // intStockActual = objManejaDevoluciones.BuscoStock(c.IntCodigo); objManejaDevoluciones.ModificaVentaDetalle(c, objDevoluciones.IntCodigo); //ActualizoStock(c.ObjArticulo.IntCodigo, c.IntCantidad, "CANCELADA"); //if (intStockActual != c.IntCantidad) //{ // if (c.IntCantidad > intStockActual) //Saco // ActualizoStock(c.ObjArticulo.IntCodigo, c.IntCantidad - intStockActual, "CUMPLIDA"); //Le pongo el estado CUMPLIDA para que saque stock // else //Agrego // ActualizoStock(c.ObjArticulo.IntCodigo, intStockActual - c.IntCantidad, "CANCELADA"); //Le pongo el estado CUMPLIDA para que agregue stock //} } else { c.IntCodigo = objManejaDevoluciones.GrabarVentaDetalle(c, objDevoluciones.IntCodigo); ActualizoStock(c, cboEstado.Text); } } //Estos son los articulos dados de baja foreach (var d in objListArticulosPorDevolucionBorrados) { //Borro los detalles de la base y luego devuelvo el stock ActualizoStock(d.ObjArticulo.IntCodigo, d.IntCantidad, "CANCELADA"); //Le pongo el estado CUMPLIDA para que agregue objManejaDevoluciones.EliminaDevolucionesDetalle(d.IntCodigo); } //Esto es para una orden dada de baja if (boCancelaVenta) { foreach (var artbaja in objDevoluciones.ListArticulosPorDevolucion) { ActualizoStock(artbaja.ObjArticulo.IntCodigo, artbaja.IntCantidad, "CANCELADA"); } } MessageBox.Show("La Devolución ha sido guardada"); //Verifico si el nuevo estado es PENDIENTE, en ese caso habilito todos los campos de lo contrario los griso if (objDevoluciones.StrEstado == "PENDIENTE") { HabilitaDesabilitaCamposTodos(true); } else { HabilitaDesabilitaCamposTodos(false); } //Fix //if (objDevoluciones.StrEstado == "CUMPLIDA") //{ // //Imprimo siempre y cuando este parametrizado que tiene impresora // if (objManejaDiccionario.BuscarValor("IMPRESORA") == "SI") // Imprimir();//btnImprimir_Click(null, null); //} CalculoPrecioNetoEnEfectivo(); } else { if (objDevoluciones.StrEstado == "CUMPLIDA") { objDevoluciones.StrEstado = "PENDIENTE"; cboEstado.Text = "PENDIENTE"; } } }
private void Grabo() { //Tengo que setear una fecha porque todavia no esta cargada //objDevoluciones.ObjSubVentaCheque.DtFechaVencimiento = DateTime.Now; ManejaDiccionario objManejaDiccionario = new ManejaDiccionario(); string message; string caption = "Mensaje"; message = "¿Desea Grabar la Devolución?"; MessageBoxButtons buttons = MessageBoxButtons.YesNo; DialogResult result; // Displays the MessageBox. result = MessageBox.Show(message, caption, buttons); if (result == System.Windows.Forms.DialogResult.Yes) { //Verifico si el cliente o el empleado estan dados de baja cuando cumplo la orden if (objDevoluciones.StrEstado == "CUMPLIDA") { if (String.IsNullOrEmpty(cboCliente.Text)) { objDevoluciones.StrEstado = "PENDIENTE"; cboEstado.Text = "PENDIENTE"; MessageBox.Show("Debe completar el cliente para continuar"); return; } if (String.IsNullOrEmpty(cboVendedor.Text)) { objDevoluciones.StrEstado = "PENDIENTE"; cboEstado.Text = "PENDIENTE"; MessageBox.Show("Debe completar el vendedor para continuar"); return; } ManejaClientes objManejaClientes = new ManejaClientes(); if (objManejaClientes.ClienteDadoDeBaja(objDevoluciones.ObjCliente.IntCodigo)) { objDevoluciones.StrEstado = "PENDIENTE"; cboEstado.Text = "PENDIENTE"; MessageBox.Show("El cliente se encuentra eliminado, debe borrarlo para continuar"); return; } ManejaEmpleados objManejaEmpleados = new ManejaEmpleados(); if (objManejaEmpleados.EmpleadoDadoDeBaja(objDevoluciones.ObjEmpleado.IntCodigo)) { objDevoluciones.StrEstado = "PENDIENTE"; cboEstado.Text = "PENDIENTE"; MessageBox.Show("El vendedor se encuentra eliminado, debe borrarlo para continuar"); return; } } ManejaArticulos objManejaArticulos = new ManejaArticulos(); //Antes de Grabar la venta debo verificar si el el articulo esta dado de baja y si posee Stock foreach (var c in objDevoluciones.ListArticulosPorDevolucion) { //int sumaStockArt = 0; if (objManejaArticulos.ArticuloDadoDeBaja(c.ObjArticulo.IntCodigo)) { objDevoluciones.StrEstado = "PENDIENTE"; cboEstado.Text = "PENDIENTE"; MessageBox.Show("El articulo " + c.ObjArticulo.StrCodigo + " - " + c.ObjArticulo.StrDescripcion + " se encuentra eliminado, debe borrarlo para continuar"); return; } //Obtengo el stock Actual //int stockActual = objManejaArticulos.CantidadDeStock(c.ObjArticulo.IntCodigo); ////Ahora sumo todos los articulos que hay en la compra //foreach (var art in objDevoluciones.ListArticulosPorDevolucion) //{ // if (art.ObjArticulo.IntCodigo == c.ObjArticulo.IntCodigo) // //Sumo la cantidad de articulos // sumaStockArt = sumaStockArt + art.IntCantidad; //} //if (stockActual < sumaStockArt) //Si el stock actual es menor a lo que estoy vendiendo, aviso //{ // objDevoluciones.StrEstado = "PENDIENTE"; // cboEstado.Text = "PENDIENTE"; // MessageBox.Show("El articulo " + c.ObjArticulo.StrCodigo + " - " + c.ObjArticulo.StrDescripcion + " se encuentra sin Stock suficiente, posee " + stockActual + " y esta vendiendo " + sumaStockArt + ", debe borrarlo o modificar el stock para continuar"); // return; //} } CalculoPrecioNetoEnEfectivo(); ManejaDevoluciones objManejaDevoluciones = new ManejaDevoluciones(); objDevoluciones.IntCodigo = objManejaDevoluciones.GrabarDevolucion(objDevoluciones); lblLegajo.Text = Convert.ToString(objDevoluciones.IntCodigo); this.Text = "Devolución: " + lblLegajo.Text; foreach (var c in objDevoluciones.ListArticulosPorDevolucion) { c.IntCodigo = objManejaDevoluciones.GrabarVentaDetalle(c, objDevoluciones.IntCodigo); ActualizoStock(c, cboEstado.Text); } MessageBox.Show("La Devolución ha sido guardada"); //btnImprimir.Enabled = true; //Fix //if (objDevoluciones.StrEstado == "CUMPLIDA") //{ // //Imprimo siempre y cuando este parametrizado que tiene impresora // if (objManejaDiccionario.BuscarValor("IMPRESORA") == "SI") // Imprimir();//btnImprimir_Click(null, null); //} //CalculoPrecioNetoEnEfectivo(); } else { if (objDevoluciones.StrEstado == "CUMPLIDA") { objDevoluciones.StrEstado = "PENDIENTE"; cboEstado.Text = "PENDIENTE"; } } if (objDevoluciones.StrEstado == "PENDIENTE") { HabilitaDesabilitaCamposTodos(true); } else { HabilitaDesabilitaCamposTodos(false); } }
private void btnImportar_Click(object sender, EventArgs e) { ManejaArticulos objManejaArticulos = new ManejaArticulos(); object strCol1 = null; object strCol2 = null; //abrimos el dialogo para poder obtener el nombre la ubicacion del archivo ofdAbrirArchivo.Filter = "Excel files|*.xlsx;*.xls"; ofdAbrirArchivo.ShowDialog(); string sArchivo = ofdAbrirArchivo.FileName; if (String.IsNullOrEmpty(sArchivo)) { return; } //declaramos las variables que necesitamos para poder abrir un archivo excel _Application exlApp; Workbook exlWbook; Worksheet exlWsheet; exlApp = new ApplicationClass(); //Asignamos el libro que sera abierot exlWbook = exlApp.Workbooks.Open(sArchivo, 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0); exlWsheet = (Worksheet)exlWbook.Worksheets.get_Item(1); Range exlRange; //Definimos el el rango de celdas que seran leidas exlRange = exlWsheet.UsedRange; //Seteo la grilla CargoTituloGrilla(); gridArticulos.DataSource = null; gridArticulos.Rows.Clear(); try { //Recorremos el archivo excel como si fuera una matriz for (int i = 1; i <= exlRange.Rows.Count; i++) { strCol1 = ""; strCol2 = ""; for (int j = 1; j <= 2; j++) { if (j == 1) { strCol1 = (exlRange.Cells[i, j] as Range).Value2; } else { strCol2 = (exlRange.Cells[i, j] as Range).Value2; } } if (strCol1 != null && strCol2 != null) { if (objManejaArticulos.ExisteArticulo(strCol1.ToString())) { if (objManejaArticulos.ExisteProveedor(Convert.ToString(strCol2))) { gridArticulos.Rows.Add(Convert.ToString(strCol1), Convert.ToString(strCol2)); } else { MessageBox.Show("Id de Proveedor Inexistente: " + strCol1 + ", revise el Excel"); gridArticulos.Rows.Clear(); exlApp.Quit(); return; } } else { MessageBox.Show("Codigo de Art. Inexistente: " + strCol1 + ", revise el Excel"); gridArticulos.Rows.Clear(); exlApp.Quit(); return; } } } } catch (Exception ex) { MessageBox.Show("Formato incorrecto en el registro con codigo: " + strCol1 + ", revise el Excel"); gridArticulos.Rows.Clear(); exlApp.Quit(); return; } //cerramos el libro y la aplicacion exlApp.Quit(); }
private void CargoDatos() { string strSql; if (rbFechaVenta.Checked) { strSql = "select f.fechaalta, f.facturaid,idextra,descripcion, rubro, marca,f.ubicacion, stock, precioefectivo, cantidad, d.descuento, d.total "; strSql += " from dbo.Articulos a LEFT OUTER JOIN dbo.Proveedores P ON a.proveedor = P.id , dbo.Factura_Detalle D, dbo.Factura f "; strSql += " where a.id = D.articuloid and d.facturaid = f.facturaid "; if (ckCumplida.Checked) { strSql += " and ( f.estado='CUMPLIDA' "; } if (ckCancelada.Checked && ckCancelada.Checked) { strSql += " or f.estado='CANCELADA' "; } if (ckCancelada.Checked && !ckCancelada.Checked) { strSql += " and (f.estado='CANCELADA' "; } if (ckCumplida.Checked || ckCancelada.Checked) { strSql += " ) "; } strSql += " and f.fechaalta between DATEADD(D, 0, DATEDIFF(D, 0," + "'" + dtpFechaVentaDesde.Text + "'))" + " and DATEADD(D, 0, DATEDIFF(D, 0," + "'" + dtpFechadeVentaHasta.Text + "')+1)"; } else { strSql = " select a.id,idextra,descripcion, rubro, marca, stock, a.ubicacion, precioefectivo, isnull (sum(cantidad),0) as cantidad, isnull (sum(d.total),0) as total "; strSql += " from dbo.Articulos a LEFT OUTER JOIN dbo.Proveedores P ON a.proveedor = P.id LEFT OUTER JOIN dbo.Factura_Detalle D ON a.id = D.articuloid LEFT OUTER JOIN dbo.Factura F On F.facturaid = D.facturaid "; if (ckCumplida.Checked) { strSql += " and ( f.estado='CUMPLIDA' "; } if (ckCancelada.Checked && ckCancelada.Checked) { strSql += " or f.estado='CANCELADA' "; } if (ckCancelada.Checked && !ckCancelada.Checked) { strSql += " and (f.estado='CANCELADA' "; } if (ckCumplida.Checked || ckCancelada.Checked) { strSql += " ) "; } strSql += " where 1=1 "; } if (txtCodigo.Text != "") { if (txtCodigo.Text.Substring(0, 2).Trim() == "20" && txtCodigo.Text.Trim().Length == 13) //Los dos primeros digitos tienen que se 20 y el ancho del codigo de barra tiene que ser de 12 digitos { //Reemplazo la busqueda, //El codigo de barra se conforma de la siguiente manera //20PPPPIIIIIIX //20- Codigo Identificatorio. 2Digitos //P- Codigo PLU . 4Digitos //I-Importe. 6Digitos //X-Digito Control. 1Digito //Ejemplo: //2000010003006 //Es un producto de almacen if (cboCodigo.Text == "=") { strSql += " and SUBSTRING(a.idextra,1,6) = '" + txtCodigo.Text.Substring(0, 6) + "'"; } if (cboCodigo.Text == "like") { strSql += " and SUBSTRING(a.idextra,1,6) like '" + txtCodigo.Text.Substring(0, 6) + "%' "; } if (cboCodigo.Text == "path") { strSql += " and SUBSTRING(a.idextra,1,6) '%" + txtCodigo.Text.Substring(0, 6) + "%' "; } } else { if (cboCodigo.Text == "=") { strSql += " and a.idextra = '" + txtCodigo.Text + "'"; } if (cboCodigo.Text == "like") { strSql += " and a.idextra like '" + txtCodigo.Text + "%' "; } if (cboCodigo.Text == "path") { strSql += " and a.idextra like '%" + txtCodigo.Text + "%' "; } } } if (txtDescripcion.Text != "") { if (cboDescripcion.Text == "=") { strSql += " and a.descripcion = '" + txtDescripcion.Text + "'"; } if (cboDescripcion.Text == "like") { strSql += " and a.descripcion like '" + txtDescripcion.Text + "%' "; } if (cboDescripcion.Text == "path") { strSql += " and a.descripcion like '%" + txtDescripcion.Text + "%' "; } } if (cboRubro.Text != "") { strSql += " and a.rubro = '" + cboRubro.Text + "'"; } if (cboMarca.Text != "") { strSql += " and a.marca = '" + cboMarca.Text + "'"; } if (txtUbicacion.Text != "") { if (cboUbicacion.Text == "=") { strSql += " and a.ubicacion = '" + txtUbicacion.Text + "'"; } if (cboUbicacion.Text == "like") { strSql += " and a.ubicacion like '" + txtUbicacion.Text + "%' "; } if (cboUbicacion.Text == "path") { strSql += " and a.ubicacion like '%" + txtUbicacion.Text + "%' "; } } if (cboProveedor.Text != "") { strSql += " and a.proveedor =" + cboProveedor.SelectedValue; } if (txtStock.Text != "") { strSql += " and a.stock " + cboStock.Text + txtStock.Text; } if (CkStockMinimo.Checked) { strSql += " and a.stock<=a.stockminimo"; } if (cboEstadoArt.Text != "") { if (cboEstadoArt.Text == "ALTA") { strSql += " and a.fechabaja is null "; } else { strSql += " and a.fechabaja is not null "; } } if (rbFechaVenta.Checked) { strSql += " order by f.fechaalta"; } else { strSql += " group by a.id,idextra,descripcion, a.fechaalta, rubro, marca,a.ubicacion, stock, precioefectivo "; } if (rbCodigo.Checked) { strSql += " order by idextra"; } else if (rbMarca.Checked) { strSql += " order by marca"; } else if (rbMasVendido.Checked) { strSql += " order by cantidad desc "; } else if (rbMayorGanancia.Checked) { strSql += " order by total desc "; } else if (rbMenosVendido.Checked) { strSql += " order by cantidad asc "; } else if (rbOrdenAlfabetico.Checked) { strSql += " order by descripcion "; } else if (rbRubro.Checked) { strSql += " order by rubro "; } LlenaCombos objLlenaCombos = new LlenaCombos(); DataTable dt = objLlenaCombos.GetSqlDataAdapterbySql(strSql); ManejaArticulos objManejaArticulos = new ManejaArticulos(); frmReportes objfrmReporte; if (rbFechaVenta.Checked) { objfrmReporte = new frmReportes("ReporteArticulosVenta.rdlc", objManejaArticulos.ReporteDeArticulosVenta(dt), "ArticulosReporte"); } else { objfrmReporte = new frmReportes("ReporteArticulosGeneral.rdlc", objManejaArticulos.ReporteDeArticulos(dt), "ArticulosReporte"); } objfrmReporte.Show(); }