Пример #1
0
        public string proceso_ventana_emergente(string[] nom_datos_recolectados, int modificara = 0, string[] infoextra = null, char caracter_spliteo = '°')
        {
            string[] arraytextbox;
            arraytextbox = new string[1];
            int x            = 120;
            int y            = 0;
            int ancho        = 100;
            int alto         = 50;
            int acumleft     = 0;
            int separacion_y = 15;
            int contador_en_horisontal_txtbox = 0;;

            if (nom_datos_recolectados.Length != 0)
            {
                for (int i = 0; i < nom_datos_recolectados.Length; i++)
                {
                    Label   lb  = new Label();
                    TextBox txt = new TextBox();



                    if (contador_en_horisontal_txtbox <= 4)
                    {
                        lb.Top  = y;
                        lb.Left = acumleft;

                        txt.Top  = y + separacion_y;
                        txt.Left = acumleft;
                    }
                    else
                    {
                        contador_en_horisontal_txtbox = 0;
                        y        = y + 40;
                        acumleft = 0;
                        lb.Top   = y;
                        lb.Left  = acumleft;

                        txt.Top  = y + separacion_y;
                        txt.Left = acumleft;
                    }

                    contador_en_horisontal_txtbox = contador_en_horisontal_txtbox + 1;



                    string[] espliteado = nom_datos_recolectados[i].Split(caracter_spliteo);
                    if (espliteado.Length == 2)
                    {
                        txt.Text = espliteado[1];
                        nom_datos_recolectados[i] = espliteado[0];
                    }
                    lb.Text = nom_datos_recolectados[i];

                    txt.Width  = ancho;
                    txt.Height = alto;

                    lb.AutoSize = true;
                    this.Controls.Add(lb);  //le agrega un indice al control para luego utilisarlo por su indise en  la funcion devolver string
                    this.Controls.Add(txt); //le agrega un indice al control para luego utilisarlo por su indise en  la funcion devolver string
                    acumleft = acumleft + x;
                }
                Button btn_aceptar  = new Button();
                Button btn_cancelar = new Button();

                btn_aceptar.Width  = ancho;
                btn_aceptar.Height = alto;
                btn_aceptar.Top    = y + 60;
                btn_aceptar.Left   = x;

                btn_aceptar.Name  = "btn_aceptar_1";
                btn_cancelar.Name = "btn_cancelar_1";

                btn_aceptar.Text  = "aceptar";
                btn_cancelar.Text = "cancelar";
                this.Controls.Add(btn_aceptar);//le agrega un indice al control para luego utilisarlo por su indise en  la funcion devolver string
                //this.Controls.Add(btn_cancelar);
                btn_aceptar.DialogResult = DialogResult.OK;
                this.ShowDialog();



                //----------------------------------------------------------------------------------------------------------------------------
                if (btn_aceptar.DialogResult == DialogResult)
                {
                    int                  K     = 0;
                    tex_base             bas   = new tex_base();
                    operaciones_archivos op    = new operaciones_archivos();
                    string               temp2 = "";

                    foreach (var obj in this.Controls)//checa cuantos objeto del tipo textbox  y pone el arreglo global conforme a la cantidad de textbox
                    {
                        if (obj is TextBox)
                        {
                            arraytextbox = new string[K + 1];
                            K++;
                        }
                    }

                    K = 0;
                    foreach (var obj in this.Controls) //aqui agrega añ arreglo global "arraytextbox" la informacion
                    {
                        if (obj is TextBox)
                        {
                            TextBox temp = (TextBox)obj;
                            arraytextbox[K] = temp.Text;
                            temp2           = temp2 + temp.Text + G_parametros[0];
                            K++;
                        }
                    }

                    bas.crear_archivo_y_directorio("inf\\inventario\\cosas_no_estaban.txt");
                    switch (modificara)
                    {
                    case 0:
                        bas.agregar("inf\\inventario\\cosas_no_estaban.txt", "movimiento origen: " + modificara + G_parametros[0] + temp2);
                        break;

                    case 1:
                        bas.agregar("inf\\inventario\\cosas_no_estaban.txt", "movimiento origen: " + modificara + G_parametros[0] + temp2);
                        bas.agregar("inf\\inventario\\invent.txt", temp2);
                        break;

                    case 2:
                        bas.agregar("inf\\inventario\\cosas_no_estaban.txt", "movimiento origen: " + modificara + G_parametros[0] + temp2);

                        op.actualisar_costo_compra("inf\\inventario\\invent.txt", infoextra[0], Convert.ToDecimal(arraytextbox[0]));
                        break;

                    case 3:
                        bas.agregar("inf\\inventario\\cosas_no_estaban.txt", "movimiento origen: " + modificara + G_parametros[0] + temp2);
                        break;

                    default:
                        bas.agregar("inf\\inventario\\cosas_no_estaban.txt", "movimiento origen: " + modificara + G_parametros[0] + temp2);
                        break;
                    }

                    this.Close();
                }
                //------------------------------------------------------------------------------------------------------------------
            }
            else
            {
                MessageBox.Show("no has puesto ningun dato");
            }

            string union = "";

            if (arraytextbox[0] != null)
            {
                for (int i = 0; i < arraytextbox.Length; i++)
                {
                    union = union + arraytextbox[i] + G_parametros[0];
                }
            }
            return(union);
        }
Пример #2
0
        private void btn_procesar_venta_Click(object sender, EventArgs e)
        {
            #region codigo para guarar la lista en un archivo

            /*
             *  ponero en una carpeta la lista de pedido
             *
             *  FolderBrowserDialog fbd = new FolderBrowserDialog();
             *  if (fbd.ShowDialog()==DialogResult.OK)
             *  {
             *      MessageBox.Show(fbd.SelectedPath);
             *  }
             *  else
             *  {
             *      return;
             *  }
             *
             *
             *  DateTime fecha_hora = DateTime.Now;
             *  operaciones_archivos op = new operaciones_archivos();
             *  tex_base bas = new tex_base();
             *  string[] lista_pedido = new string[lst_ventas.Items.Count];
             *  for (int i = 0; i < lst_ventas.Items.Count; i++)
             *  {
             *      lista_pedido[i] = "" + lst_ventas.Items[i];
             *  }
             *  op.pedido(fbd.SelectedPath + "\\ped_" + fecha_hora.ToString("dd-MM-yyyy")+".txt", lista_pedido);
             *
             *
             *  lst_ventas.Items.Clear();
             *  }
             */
            #endregion

            string               temporal = "";
            string[]             temporal_s;
            decimal              total = 0;
            int                  bandera = 0;
            string               productos_ya_unidos = "", ids_ya_unidos = "";
            DateTime             fecha_hora = DateTime.Now;
            operaciones_archivos op = new operaciones_archivos();

            for (int coll = 0; coll < lst_ventas.Items.Count; coll++)
            {
                temporal   = "" + lst_ventas.Items[coll];
                temporal_s = temporal.Split(G_parametros);
                if (temporal_s[0] != "")
                {
                    total = total + (Convert.ToDecimal(temporal_s[5]) * Convert.ToDecimal(temporal_s[8]));
                }
                if (Convert.ToDecimal(temporal_s[5]) < Convert.ToDecimal(temporal_s[7]))
                {
                    DialogResult result = MessageBox.Show("producto: " + temporal_s[0] + "precio anterior: " + temporal_s[5] + "  precio actual: " + temporal_s[7], "Hi", MessageBoxButtons.OKCancel);
                    if (result == DialogResult.OK)
                    {
                        ids_ya_unidos       = ids_ya_unidos + temporal_s[1] + "°";
                        productos_ya_unidos = productos_ya_unidos + temporal_s[0] + "°";
                        op.actualisar_costo_compra("inf\\inventario\\invent.txt", "" + temporal_s[1], Convert.ToDecimal(temporal_s[7]));
                        op.actualisar_inventario("inf\\inventario\\invent.txt", "" + temporal_s[1], Convert.ToDecimal(temporal_s[8]));
                    }
                }
                else
                {
                    ids_ya_unidos       = ids_ya_unidos + temporal_s[1] + "°";
                    productos_ya_unidos = productos_ya_unidos + temporal_s[0] + "°";
                    op.actualisar_costo_compra("inf\\inventario\\invent.txt", "" + temporal_s[1], Convert.ToDecimal(temporal_s[7]));
                    op.actualisar_inventario("inf\\inventario\\invent.txt", "" + temporal_s[1], Convert.ToDecimal(temporal_s[8]));
                }
            }

            modelo_actualisacion_de_compras(fecha_hora.ToString("yyyy"), fecha_hora.ToString("MM"), fecha_hora.ToString("dd"), fecha_hora.ToString("dd-MM-yyyy"), fecha_hora.ToString("HH:mm:ss"), ids_ya_unidos, total, productos_ya_unidos);



            lst_ventas.Items.Clear();
            txt_buscar_producto.Focus();
        }