public void Modelo_venta(string[] codigo, string[] cantidades_vendidas) { string codigos_unidos = string.Join("°", codigo); DateTime fecha_hora = DateTime.Now; string hora_min_seg = fecha_hora.ToString("HH:mm:ss"); string año_mes_dia = fecha_hora.ToString("yyyyMMdd"); string dia = fecha_hora.ToString("dd"); string mes = fecha_hora.ToString("MM"); string año = fecha_hora.ToString("yyyy"); Tex_base bas = new Tex_base(); Operaciones_archivos op = new Operaciones_archivos(); string[] productos = bas.Leer("inf\\inventario\\invent.txt"); decimal acum_costo_venta = 0, acum_costo_compra = 0; string[] nom_productos = new string[codigo.Length]; for (int j = 0; j < productos.Length; j++) { string[] prod_esplit = productos[j].Split(G_parametros[0]); for (int i = 0; i < codigo.Length; i++) { if (prod_esplit[3] == codigo[i]) { if (cantidades_vendidas[i] == "")//con esto se pone la cantidad que se vendio por cada cosa si no tiene cantidad le pone 1 para que sea un producto { cantidades_vendidas[i] = "1"; } acum_costo_venta = acum_costo_venta + (Convert.ToDecimal(prod_esplit[2]) * Convert.ToDecimal(cantidades_vendidas[i])); acum_costo_compra = acum_costo_compra + (Convert.ToDecimal(prod_esplit[5]) * Convert.ToDecimal(cantidades_vendidas[i])); nom_productos[i] = prod_esplit[1]; } } } string direccion = "ventas\\" + año + "\\" + mes + "\\dias\\" + año_mes_dia + ".txt"; string info = hora_min_seg + " |" + codigos_unidos + " |" + acum_costo_venta + " |" + string.Join("°", nom_productos) + " |" + acum_costo_compra; bas.Agregar(direccion, info);//la hora de compra lo que compro el costo direccion = "ventas\\" + año + "\\" + mes + "\\" + mes + ".txt"; op.Actualisar_resumen_venta(direccion, dia, acum_costo_venta, acum_costo_compra);//actualisa total de cada dias direccion = "ventas\\" + año + "\\" + año + ".txt"; op.Actualisar_resumen_venta(direccion, mes, acum_costo_venta, acum_costo_compra);//actualisa total de cada mes direccion = "ventas\\total_años.txt"; op.Actualisar_resumen_venta(direccion, año, acum_costo_venta, acum_costo_compra);//muestra total de cada año direccion = "ventas\\total_en_juego.txt"; op.Actualisar_resumen_venta(direccion, "dinero_hay: ", acum_costo_venta, acum_costo_compra);//muestra total de cada año direccion = "ventas\\ganancia_real.txt"; op.Actualisar_ganancia_real(direccion, "dinero_hay: ", acum_costo_venta, acum_costo_compra);//muestra ganancia real bas.si_existe_suma_sino_agega_extra("inf\\inventario\\ven\\vent.txt", 0, año_mes_dia, "1", "" + acum_costo_venta, año_mes_dia + "|" + acum_costo_venta + "|0"); for (int i = 0; i < codigo.Length; i++) { direccion = "inf\\inventario\\invent.txt"; op.Actualisar_inventario(direccion, "" + codigo[i], Convert.ToDecimal(cantidades_vendidas[i]) * -1); direccion = "ventas\\" + año + "\\" + mes + "\\dias\\p_" + año_mes_dia + ".txt"; op.Actualisar_resumen_venta_productos(direccion, "" + codigo[i], Convert.ToDecimal(cantidades_vendidas[i]), nom_productos[i]); direccion = "ventas\\" + año + "\\" + mes + "\\p_" + mes + ".txt"; op.Actualisar_resumen_venta_productos(direccion, "" + codigo[i], Convert.ToDecimal(cantidades_vendidas[i]), nom_productos[i]);//muestra total de cada dias direccion = "ventas\\" + año + "\\p_" + año + ".txt"; op.Actualisar_resumen_venta_productos(direccion, "" + codigo[i], Convert.ToDecimal(cantidades_vendidas[i]), nom_productos[i]);//muestra total de cada mes direccion = "ventas\\p_total_años.txt"; op.Actualisar_resumen_venta_productos(direccion, "" + codigo[i], Convert.ToDecimal(cantidades_vendidas[i]), nom_productos[i]);//muestra total de cada año } }
private void Btn_procesar_venta_Click(object sender, EventArgs e) { Ventana_emergente ventana_emerg = new Ventana_emergente(); //a = 5; string[] enviar = { "3°venta_directa°1°0", "3°preVenta°2°0" }; string valor_devuelto = ventana_emerg.Proceso_ventana_emergente(enviar); bool compra_directa; DateTime fecha_hora = DateTime.Now; string año_mes_dia = fecha_hora.ToString("yyyyMMdd"); if (valor_devuelto != "") { if (valor_devuelto == "1") { compra_directa = true; string[] provedores = bas.Leer("inf\\inventario\\pru\\provedores_pru_cmb.txt", null);//este regresa los provedores string provedores_en_una_linea = ""; for (int i = 0; i < provedores.Length; i++) { string[] linea_prov_espliteado = provedores[i].Split(G_parametros[0]); provedores_en_una_linea = provedores_en_una_linea + linea_prov_espliteado[0] + G_parametros[1]; } provedores_en_una_linea = bas.Trimend_paresido(provedores_en_una_linea, G_parametros[1]); Ventana_emergente ventana_emerg2 = new Ventana_emergente(); string[] enviar2 = { "2°cantidad_a_pagar°" + Lbl_cuenta.Text, "1°se_paga_de_caja°0°2", "2°°", "4°provedor°°°°" + provedores_en_una_linea }; string se_paga_de_caja = ventana_emerg2.Proceso_ventana_emergente(enviar2); Operaciones_textos op_text = new Operaciones_textos(); se_paga_de_caja = op_text.cambiar_caracter(se_paga_de_caja, '|', '°'); string[] se_paga_de_caja_spliteado = se_paga_de_caja.Split(G_parametros[1]); double pago_de_caja_a_deuda = Convert.ToDouble(se_paga_de_caja_spliteado[0]) - Convert.ToDouble(se_paga_de_caja_spliteado[1]); if (pago_de_caja_a_deuda < 0) { DialogResult dialogResult = MessageBox.Show("no puede ser mayor lo que se paga se igualara", "error", MessageBoxButtons.YesNo); if (dialogResult == DialogResult.Yes) { se_paga_de_caja_spliteado[1] = se_paga_de_caja_spliteado[0]; se_paga_de_caja_spliteado[2] = "0"; } else { return; } se_paga_de_caja_spliteado[2] = "0"; } else { se_paga_de_caja_spliteado[2] = "" + pago_de_caja_a_deuda; } string compra_joineada = string.Join("°", se_paga_de_caja_spliteado); if (se_paga_de_caja_spliteado.Length > 2) { string direccion_pru = "inf\\inventario\\pru\\"; bas.si_no_existe_agega_comparacion(direccion_pru + "provedores_pru_cmb.txt", se_paga_de_caja_spliteado[3]); bas.si_existe_suma_sino_agega_extra(direccion_pru + año_mes_dia + "_provedores_pru.txt", 3, se_paga_de_caja_spliteado[3], "0°1°2", se_paga_de_caja_spliteado[0] + "°" + se_paga_de_caja_spliteado[1] + "°" + se_paga_de_caja_spliteado[2], compra_joineada, '°'); bas.si_existe_suma_sino_agega_extra("inf\\inventario\\ven\\vent.txt", 0, año_mes_dia, "2", "" + se_paga_de_caja_spliteado[1], año_mes_dia + "|0|" + se_paga_de_caja_spliteado[1]); Modelo_compra_venta mod_com_ven = new Modelo_compra_venta(); for (int i = 0; i < Lst_compras.Items.Count; i++) { string[] item_spliteado = Lst_compras.Items[i].ToString().Split(G_parametros[0]); mod_com_ven.Modelo_compra(item_spliteado[0], item_spliteado[3], item_spliteado[2], item_spliteado[4], item_spliteado[1], item_spliteado[5], item_spliteado[6], compra_directa); bas.si_no_existe_agega_extra(direccion_pru + "para_cambiar_de_provedor\\" + se_paga_de_caja_spliteado[3] + ".txt", 0, item_spliteado[0], item_spliteado[0] + "|" + item_spliteado[1]); Lbl_nom_product_list.Text = ""; Lst_compras.Items.Clear(); Lbl_cuenta.Text = "0"; } } } else { compra_directa = false; Modelo_compra_venta mod_com_ven = new Modelo_compra_venta(); for (int i = 0; i < Lst_compras.Items.Count; i++) { string[] item_spliteado = Lst_compras.Items[i].ToString().Split(G_parametros[0]); mod_com_ven.Modelo_compra(item_spliteado[0], item_spliteado[3], item_spliteado[2], item_spliteado[4], item_spliteado[1], item_spliteado[5], item_spliteado[6], compra_directa); Lbl_nom_product_list.Text = ""; Lst_compras.Items.Clear(); Lbl_cuenta.Text = "0"; } } } }