private void PartidaNextId()//obtiene el siguiente id { oen_indiv PartidaId = new oen_indiv(); partidaId = PartidaId.NextID(); }
private void ajustarEntradasYsalidas(int ajuste) { if (AccesoInternet() == false) { MessageBox.Show("No hay internet, intente en un momento"); return; } int stockActual = productoSeleccionadoi.STOCK; if (stockActual != ajuste) { if (stockActual > ajuste) { int diferencia = stockActual - ajuste; osa_gral og = new osa_gral(); osa_indiv oi = new osa_indiv(); og.Id = og.NextID(); og.ID_CLIENTE = 0; og.FECHA = DateTime.Now.Date; oi.Id = oi.NextID(); oi.ID_OSAGRAL = og.Id; oi.ID_PRODUCTO2 = productoSeleccionadoi.Id; oi.QTY2 = diferencia; oi.precioAlmacen = productoSeleccionadoi.PrecioAlmacen; oi.totalItem = oi.precioAlmacen * oi.QTY2; #region LOOP SALIDAS INVETNARIOCOSTOS inventariocostos invCost = new inventariocostos(oi.ID_PRODUCTO2, "Salida"); if (invCost.Id > 0) { if (oi.QTY2 <= invCost.cantidad_actual) { invCost.cantidad_actual -= oi.QTY2; invCost.Update("Id"); } else { int Qty = oi.QTY2; Qty -= invCost.cantidad_actual; invCost.cantidad_actual = 0; invCost.Update("Id"); while (Qty > 0) { inventariocostos invCost2 = new inventariocostos(oi.ID_PRODUCTO2, "Salida2"); if (invCost2.Id > 0) { if (Qty <= invCost2.cantidad_actual) { invCost2.cantidad_actual -= Qty; invCost2.Update("Id"); Qty = 0; } else { Qty -= invCost2.cantidad_actual; invCost2.cantidad_actual = 0; invCost2.Update("Id"); } } else { MessageBox.Show("No hay entradas registradas para esta salida"); Qty = 0; } } } } else { MessageBox.Show("Este producto no tiene Facturas de compra, Favor de ingresarlas antes de Sacar el Producto"); } #endregion LOOP SALIDAS INVETNARIOCOSTOS generalok: og.Id = og.NextID(); og.Insert(); if (og.Error != "") { goto generalok; } individualok: oi.Id = oi.NextID(); oi.ID_OSAGRAL = og.Id; oi.Insert(); if (oi.Error != "") { goto individualok; } } else { int diferencia = ajuste - stockActual; oen_gral og = new oen_gral(); oen_indiv oi = new oen_indiv(); og.Id = og.NextID(); og.ID_PROVEEDOR = 0; og.FECHA = DateTime.Now; oi.Id = oi.NextID(); oi.ID_OENGRAL = og.Id; oi.ID_PRODUCTO = productoSeleccionadoi.Id; oi.QTY = diferencia; generalok: og.Id = og.NextID(); og.Insert(); if (og.Error != "") { goto generalok; } individualok: oi.Id = oi.NextID(); oi.ID_OENGRAL = og.Id; oi.Insert(); if (oi.Error != "") { goto individualok; } } } }
private void buttonIngresarHoja_Click(object sender, EventArgs e) { List <productos> listaproductos = new List <productos>(); if (ProveedorSeleccionado == null) { return; } if (AccesoInternet()) { OENGralSeleccionada.PARTIDAS.Clear(); OENGralSeleccionada.ItemsInventario.Clear(); OENGralSeleccionada.ID_PROVEEDOR = ProveedorSeleccionado.ID; OENGralSeleccionada.CODIGODEBARRAS = OENGralSeleccionada.Id.ToString(); OENGralSeleccionada.FECHA = DateTime.Now.Date; if (PartidasOEN.Rows.Count > 0) { int item = 1; totales = 0; double tjavier = 0; foreach (DataRow dr in PartidasOEN.Rows) { #region datos individuales oen_indiv PartidaIndividual = new oen_indiv(); PartidaIndividual.Id = partidaId; PartidaIndividual.ID_OENGRAL = OENGralSeleccionada.Id; PartidaIndividual.ITEM = item; PartidaIndividual.ID_PRODUCTO = Convert.ToInt32(dr["ID_PRODUCTO"]); try { PartidaIndividual.QTY = Convert.ToInt32(dr["QTY"]); PartidaIndividual.COMPRA = Convert.ToInt32(dr["COMPRA"]); PartidaIndividual.VENTA = Convert.ToInt32(dr["VENTA"]); PartidaIndividual.PU = Convert.ToDouble(dr["PU"]); if (dr["MONEDA"].ToString() == "USD" || dr["MONEDA"].ToString() == "usd") { tjavier = Convert.ToDouble(dr["PU"]) * Convert.ToDouble(dr["QTY"]); } else { tjavier = (Convert.ToDouble(dr["PU"]) / Convert.ToDouble(dr["TC"])) * Convert.ToDouble(dr["QTY"]); } } catch { MessageBox.Show("Escriba costo unitario de todas las partidas"); return; } totales += tjavier; PartidaIndividual.TC = Convert.ToDouble(dr["TC"]); PartidaIndividual.MONEDA = dr["MONEDA"].ToString(); PartidaIndividual.FACTURA_PROVEEDOR = dr["FACTURA_PROVEEDOR"].ToString(); PartidaIndividual.FECHA_FACTURAP = Convert.ToDateTime(dr["FECHA_FACTURAP"]); string moneda = PartidaIndividual.MONEDA; double pu = PartidaIndividual.PU; double tc = PartidaIndividual.TC; int qty = PartidaIndividual.QTY; #endregion datos productos stock = new productos(PartidaIndividual.ID_PRODUCTO); if (stock.PrecioAlmacen > 0) { int nuevaCantidad = qty + stock.STOCK; if (moneda == "PMX")//convierte a dolar { pu = pu / tc; } //if (stock.PrecioAlmacen < pu) //{ stock.PrecioAlmacen = pu;//guarda el precio /* //} * if (stock.PrecioAlmacen != pu) * { * * double sumaStock = stock.STOCK * stock.PrecioAlmacen; * double sumaIngresos = pu * qty; * double sumaTotal = sumaStock + sumaIngresos; * double nuevoCosto = sumaTotal / nuevaCantidad; * * stock.PrecioAlmacen = nuevoCosto; * }*/ } else { if (moneda == "PMX") { pu /= tc; } stock.PrecioAlmacen = pu; stock.MONEDA = "USD"; } stock.STOCK += PartidaIndividual.QTY; //suma al stock if (PartidaIndividual.QTY <= stock.ORDENADO) //le resta las entradas a las cantidades ordenadas { stock.ORDENADO -= PartidaIndividual.QTY; } else if (stock.ORDENADO > 0)//pone en cero lo ordenado { stock.ORDENADO = 0; } stock.FECHA_FACTURA = PartidaIndividual.FECHA_FACTURAP; listaproductos.Add(stock); //stock.Update("Id");//actualiza los datos del producto /////// #region guarda datos de inventario costos inventariocostos invCost = new inventariocostos();// LLENADO DE InventarioCostos invCost.Id = PartidaIndividual.Id; invCost.id_producto = PartidaIndividual.ID_PRODUCTO; invCost.cantidad_actual = PartidaIndividual.QTY; invCost.cantidad_oen = PartidaIndividual.QTY; invCost.costoU = PartidaIndividual.PU; invCost.Moneda = PartidaIndividual.MONEDA; invCost.tipoCambio = PartidaIndividual.TC; invCost.facturaProveedor = PartidaIndividual.FACTURA_PROVEEDOR; invCost.fechaFactura = PartidaIndividual.FECHA_FACTURAP; invCost.totalItem = PartidaIndividual.PU * PartidaIndividual.QTY; if (PartidaIndividual.MONEDA == "USD")//convierte a pesos { invCost.totalItemPMX = invCost.totalItem * invCost.tipoCambio; } else { invCost.totalItemPMX = invCost.totalItem; } #endregion guarda OENGralSeleccionada.PARTIDAS.Add(PartidaIndividual); OENGralSeleccionada.ItemsInventario.Add(invCost); partidaId++; item++; } SaveFileDialog save = new SaveFileDialog(); save.DefaultExt = "pdf"; save.Filter = "PDF files|*.pdf"; if (save.ShowDialog() == DialogResult.OK) { string ruta = save.FileName; CreatePDF(ruta); System.Diagnostics.Process.Start(ruta); } DialogResult result = MessageBox.Show("DESEA GENERAR LA ENTRADA CON LOS DATOS CAPTURADOS?", "REVISAR PDF ANTES DE GUARDAR", MessageBoxButtons.YesNo); if (result == DialogResult.No) { return; } else if (result == DialogResult.Yes) { OENGralSeleccionada.InsertarHoja(); foreach (productos prod in listaproductos) { prod.Update("Id"); } if (!(Directory.Exists(Application.StartupPath + @"/OEN_RESPALDO/"))) { Directory.CreateDirectory(Application.StartupPath + @"/OEN_RESPALDO/"); } string ruta = Application.StartupPath + @"/OEN_RESPALDO/OEN_" + textBoxOENid.Text + ".pdf"; CreatePDF(ruta); resetOEN(); } } else { MessageBox.Show("No hay partidas para guardar"); } } else { MessageBox.Show("NO HAY INTERNET INTENTELO EN UN MOMENTO");//10000 } }