Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - SAGA-gl

#11
Foro Libre / rational rose
1 Febrero 2016, 04:54 AM
Wenas gente del foro....
Verán tengo un problemita....estoy usando la herramienta d modelado del asunto para modelar un sistemita de la facu....en mi trabajo estamos pasando x grandes y extensos momentos de ocio jeje y m quería llevar el trabajo para adelantarlo.....pero no puedo instalar ningún programa por no ser administrador y no tener privilegios.....q m recomiendan para poder "llevar" el rational rose y poder ejecutarlo.....muchas grax y saludos
#12
Foro Libre / Re: examen 98-361 microsoft
6 Enero 2016, 03:36 AM
Muchas grax x las respuestas....la verdad q si ya estoy en 4to d ing y tengo q ahorrar xa anotarm en una academia d ingles jajaja....slds!
#13
Foro Libre / Re: examen 98-361 microsoft
5 Enero 2016, 02:41 AM
Me temia esta respuesta.....muchas grax tendré q juntar primero para pagarme los intensivos y luego rendir los exámenes....slds!
#14
Foro Libre / examen 98-361 microsoft
5 Enero 2016, 01:20 AM
Buenas noches gente del foro... Alguien tiene un link o algo parecido con el material de este examen en español? (no se nada de ingles prácticamente jajaja)
Muchas grax d antemano....slds!
#15
Foro Libre / uso de la red tor
6 Noviembre 2015, 04:31 AM
Slds gente del foro....veran tngo una duda....mejor dicho un problema...en mi trabajo estamos sufriendo últimamente malos tratos y suspensiones injustificadas...nuestra idea (de mis compañeros y yo) era la d crearnos una cuenta en Facebook y desde ahí denunciar lo q viene pasando a través d un medio publico un programa d tv que es muy popular ya q en el ministerio correspondiente nos vienen pateando la denuncia y para colmo d males nos entregan atados en nuestra empresa con nombre y apellido....queria saber si utilizando la red tor y desd ahí hacer lo d la cuenta d Facebook xa evitar q nos ubicaran o algo parecido.....seria esto posible? Desd ya muchas grax y espero q nos sepan entender....slds!
#16
Programación C/C++ / manual de c
29 Octubre 2015, 00:42 AM
buenas gente del foro....esta pregunta es en especial al mod/s de la sección....cual es el mejor manual q m recomendarian d C el mas completo....el q mejor consideren recomendarme....slds!
#17
buenas noches gente del foro....verán tengo el siguiente código el cual modifica el atributo estado d una tabla sql server a partir de los datos del datagridview...obtengo el error del asunto...investigue un poko y dicen q es x exceder el máximo de caracteres del atributo varchar.....bueno lo cambio a 100 exagerándolo demasiado y obtengo el mismo error...a q se debe? muchas grx d antemano
Código (csharp) [Seleccionar]
private void button2_Click(object sender, EventArgs e)
        {
           
            try
            {
                conexion.Open();
                foreach (DataGridViewRow row in dgv1.Rows)
                {

                    SqlCommand alta1 = new SqlCommand("insert into Stock values(@ubicacion,@medicamento,@jerarquia,@lote,@vto,@cantidadIngreso,@cantidadFaltante)", conexion);
                    alta1.Parameters.AddWithValue("@ubicacion", row.Cells[6].Value);
                    alta1.Parameters.AddWithValue("@medicamento", row.Cells[0].Value);
                    alta1.Parameters.AddWithValue("@jerarquia", row.Cells[1].Value);
                    alta1.Parameters.AddWithValue("@lote", row.Cells[2].Value);
                    alta1.Parameters.AddWithValue("@vto",
         row.Cells[3].Value);
                    alta1.Parameters.AddWithValue("@cantidadIngreso", row.Cells[4].Value);
                    alta1.Parameters.AddWithValue("@cantidadFaltante", row.Cells[5].Value);
                    alta1.ExecuteNonQuery();
                }
                foreach (DataGridViewRow row2 in dgv1.Rows)
                {
                    string ubicacion = row2.Cells["ubicacion"].Value.ToString();

                    string query = "update Ubicaciones set estado= 'ocupado' where ubicacion = @ubicacion";

                    SqlCommand cmd = new SqlCommand(query, conexion);
                    cmd.Parameters.AddWithValue("@ubicacion", ubicacion);

                    cmd.ExecuteNonQuery();


                }
            }
            catch(SqlException ex)
            {
                MessageBox.Show(ex.ToString());
            }
            finally
            {
                conexion.Close();
            }
        }
#18
muchas grax gente....grax elektro lo puse en marcha y funciona d maravilla....x otro lado se que m vas a regañar x no abrir otro hilo pero... :silbar:....veras estoy haciendo mi tesis como he comentado y en mi carrera en todos los lenguajes que vi (java, c#, android, php) lo máximo por asi decirlo q m enseñaron fueron ABM a bases d datos....a mi m gusto mucho .NET por eso decidi programar el sistema en este lenguaje....pero hay muchísimas cosas q no se y tngo q preguntar en foros google etc....en lo académico q consejos m podrias dar para aprender desde lo básico hasta lo mas complejo (además d investigar x mi cuenta) y q se pueda certificar cada paso? o como hiciste tu para saber todo lo que sabes hoy en dia.....disculpa las molestias q t ocasionen mis preguntas pero es q siemp q entro al foro veo tus temas y digo guau sabre algún dia tanto como este chabón (asi lo decimos en argentina jaja) m apasiona esta carrera estoy orgulloso d haberla elegido a pesar d no poder ejercer todavía....bueno espero tus comentarios y no sigo mas para ponerme tan cursi jajajaja slds!
#19
saludos gente del foro....verán tengo este código de un caso d uso en el cual mi problema es que en el evento de ref.- tengo un problemilla....al validar que se ingrese datos d tipo fecha en una columna del datagrid (el cual lo hace sin problemas) no puedo salir d la celda ni cambiarme a otra ni realizar otra acción hasta completarla con el formato correcto....como podría solucionarlo...perdón x las molestias es algo complejo xa mi con lo básico q he aprendido....muchas grax d antemano
Código (csharp) [Seleccionar]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Diagnostics;

namespace RegistrarOCspp2
{
    public partial class RegistrarStock : Form
    {
        public RegistrarStock()
        {
            InitializeComponent();
            dgv1.AllowUserToAddRows = false;
           


        }
        int cant = 0;
        ClaseABM con = new ClaseABM();
        private SqlConnection conexion;
        private SqlCommand consulta;

        private void studioButton2_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void RegistrarStock_Load(object sender, EventArgs e)
        {
            // TODO: esta línea de código carga datos en la tabla 'proyectoSaludDataSet27.ubicacion' Puede moverla o quitarla según sea necesario.
            this.ubicacionTableAdapter.Fill(this.proyectoSaludDataSet27.ubicacion);
            // TODO: esta línea de código carga datos en la tabla 'proyectoSaludDataSet26.jerarquia' Puede moverla o quitarla según sea necesario.
            this.jerarquiaTableAdapter.Fill(this.proyectoSaludDataSet26.jerarquia);
            AutoValidate = AutoValidate.Disable;
           

        }
       
       
       

        private void CrearColumnaLote()
        {
            DataGridViewTextBoxColumn txtColumna =
                new DataGridViewTextBoxColumn();
            txtColumna.Name = "Lote";
            txtColumna.HeaderText = "LOTE";
            dgv1.Columns.Insert(3, txtColumna);
            dgv1.Columns[3].Width = 150;
            dgv1.Columns[3].HeaderCell.Style.Alignment = DataGridViewContentAlignment.BottomCenter;
            dgv1.Columns[3].DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomCenter;
        }
        private void CrearColumnaVto()
        {
            DataGridViewTextBoxColumn txtColumna =
                new DataGridViewTextBoxColumn();
            txtColumna.Name = "Vto";
            txtColumna.HeaderText = "VENCIMIENTO";
            dgv1.Columns.Insert(4, txtColumna);
            dgv1.Columns[4].Width = 20;
            dgv1.Columns[4].HeaderCell.Style.Alignment = DataGridViewContentAlignment.BottomCenter;
            dgv1.Columns[4].DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomCenter;
        }

        private void CrearColumnaStock()
        {
            DataGridViewTextBoxColumn txtColumna =
                new DataGridViewTextBoxColumn();
            txtColumna.Name = "Stock";
            txtColumna.HeaderText = "CANTIDAD A INGRESAR";
            dgv1.Columns.Insert(5, txtColumna);
            dgv1.Columns[5].Width = 211;
            dgv1.Columns[5].HeaderCell.Style.Alignment = DataGridViewContentAlignment.BottomCenter;
            dgv1.Columns[5].DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomCenter;

        }
        private void CrearColumnaFaltante()
        {
            DataGridViewTextBoxColumn txtColumna =
                new DataGridViewTextBoxColumn();
            txtColumna.Name = "Faltante";
            txtColumna.HeaderText = "FALTANTE";
            dgv1.Columns.Insert(6, txtColumna);
            dgv1.Columns[6].Width = 211;
            dgv1.Columns[6].HeaderCell.Style.Alignment = DataGridViewContentAlignment.BottomCenter;
            dgv1.Columns[6].DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomCenter;

        }
        private void CrearColumnaUbicacion()
        {
            DataGridViewTextBoxColumn comboColumna =
                new DataGridViewTextBoxColumn();
            comboColumna.Name = "Ubicacion";
            comboColumna.HeaderText = "UBICACION";
            dgv1.Columns.Insert(7, comboColumna);
            dgv1.Columns[7].Width = 30;
            dgv1.Columns[7].HeaderCell.Style.Alignment = DataGridViewContentAlignment.BottomCenter;
            dgv1.Columns[7].DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomCenter;

        }






        private void txtNumero_KeyDown_1(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {

                if (txtNumero.Text == "")
                {

                    DialogResult ds = MessageBox.Show("DEBE INGRESAR UN NRO DE ORDEN", "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    this.Text = ds.ToString();
                }
                else
                    if (txtNumero.Text != "")
                    {
                        conexion = new SqlConnection("Data Source=GONZALOCABRERA\\SQLEXPRESS;Initial Catalog=ProyectoSalud;Integrated Security=True");
                        conexion.Open();
                        SqlCommand consulta = new SqlCommand("select count (*) from DetalleOrdenCompra where nro_orden=@nro", conexion);
                        consulta.Parameters.AddWithValue("@nro", Convert.ToInt32(txtNumero.Text));

                        int count = Convert.ToInt32(consulta.ExecuteScalar());


                        if (count > 0)
                        {

                            DialogResult result = MessageBox.Show(this, "DESEA REGISTRAR LOS DATOS?", "ORDEN DE COMPRA ENCONTRADA", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);


                            //MessageBox.Show(consulta2.ToString());
                            this.Text = result.ToString();

                            if (result == DialogResult.OK)
                            {

                                //CARGAR LOS DATAGRIDVIEW
                                SqlCommand consulta2 = new SqlCommand("SELECT dbo.medicamentos1.nombre_medicamento, dbo.medicamentos1.jerarquia, dbo.DetalleOrdenCompra.cantidad FROM dbo.DetalleOrdenCompra INNER JOIN dbo.medicamentos1 ON dbo.DetalleOrdenCompra.codigoMedicamento = dbo.medicamentos1.id_medicamento WHERE nro_orden=@nro ", conexion);
                                consulta2.Parameters.AddWithValue("@nro", Convert.ToInt32(txtNumero.Text));
                                SqlDataAdapter da = new SqlDataAdapter(consulta2);
                                DataTable dt = new DataTable();
                                da.Fill(dt);

                                dgv1.DataSource = dt;

                                dgv1.Columns[0].ReadOnly = true;
                                dgv1.Columns[1].ReadOnly = true;
                                dgv1.Columns[2].ReadOnly = true;
                                int rows = dt.Rows.Count;
                                dgv1.Columns[0].HeaderText = "MEDICAMENTO";
                                dgv1.Columns[0].HeaderCell.Style.Alignment = DataGridViewContentAlignment.BottomCenter;
                                dgv1.Columns[0].DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomCenter;
                                dgv1.Columns[0].Width = 211;
                                dgv1.Columns[1].HeaderText = "JERARQUIA";
                                dgv1.Columns[1].HeaderCell.Style.Alignment = DataGridViewContentAlignment.BottomCenter;
                                dgv1.Columns[1].DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomCenter;
                                dgv1.Columns[1].Width = 180;
                                dgv1.Columns[2].HeaderText = "CANTIDAD";
                                dgv1.Columns[2].Name = "Cantidad";
                                dgv1.Columns[2].HeaderCell.Style.Alignment = DataGridViewContentAlignment.BottomCenter;
                                dgv1.Columns[2].DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomCenter;
                                dgv1.Columns[2].Width = 80;
                                CrearColumnaLote();
                                CrearColumnaVto();
                                CrearColumnaStock();
                                CrearColumnaFaltante();
                                CrearColumnaUbicacion();
                                dgv1.Columns[6].ReadOnly = true;
                                txtNumero.Enabled = false;
                                dgv1.Columns[0].SortMode = DataGridViewColumnSortMode.NotSortable;
                                dgv1.Columns[1].SortMode = DataGridViewColumnSortMode.NotSortable;
                                dgv1.Columns[2].SortMode = DataGridViewColumnSortMode.NotSortable;
                                dgv1.Columns[3].SortMode = DataGridViewColumnSortMode.NotSortable;
                                dgv1.Columns[4].SortMode = DataGridViewColumnSortMode.NotSortable;
                                dgv1.Columns[5].SortMode = DataGridViewColumnSortMode.NotSortable;
                                dgv1.Columns[6].SortMode = DataGridViewColumnSortMode.NotSortable;
                                dgv1.Columns[7].SortMode = DataGridViewColumnSortMode.NotSortable;
                                btnVerificar.Enabled = true;
                               

                               
                               }
                            else if (result == DialogResult.Cancel)
                            {
                                txtNumero.Text = "";
                            }

                            this.Text = result.ToString();
                        }
                        else
                        {
                            DialogResult ds = MessageBox.Show(this, "LA ORDEN INGRESADA NO SE ENCUENTRA REGISTRADA", "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                            this.Text = ds.ToString();
                        }

                        conexion.Close();

                    }
               
            }
        }

        private void txtNumero_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (char.IsDigit(e.KeyChar))
                e.Handled = false;
            else if (char.IsControl(e.KeyChar))
                e.Handled = false;
            else if (char.IsSeparator(e.KeyChar))
                e.Handled = false;
            else
                e.Handled = true;
        }

        private void validar_Keypress(object sender, System.Windows.Forms.KeyPressEventArgs e)
        {

            int columna = dgv1.CurrentCell.ColumnIndex;


            if (columna == 5)
            {
                TextBox txt = (TextBox)sender;

                if (char.IsDigit(e.KeyChar))
                    e.Handled = false;
                else if (char.IsControl(e.KeyChar))
                    e.Handled = false;
                else if (char.IsSeparator(e.KeyChar))
                    e.Handled = false;
                else
                    e.Handled = true;
            }
        }

        private void dgv1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
        {
            TextBox validar = (TextBox)e.Control;
            validar.KeyPress += validar_Keypress;
        }


        private void btnVer_Click(object sender, EventArgs e)
        {
                UbicacionesVacias u = new UbicacionesVacias();
                u.Show();
        }

        private void button4_Click(object sender, EventArgs e)
        {
            DialogResult result = MessageBox.Show(this, "SEGURO QUE DESEA SALIR?", "SALIR", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
            this.Text = result.ToString();

            if (result == DialogResult.OK)
            {
                this.Close();
            }
            else if (result == DialogResult.Cancel)
            {



            }
        }
        private Boolean EsFecha(String fecha)
        {
            try
            {
                DateTime.Parse(fecha);
                return true;
            }
            catch
            {
                return false;
            }
        }

       
        private void button2_Click(object sender, EventArgs e)
        {
           
            try
            {
                conexion.Open();
                foreach (DataGridViewRow row in dgv1.Rows)
                {

                    SqlCommand alta1 = new SqlCommand("insert into Stock values(@codigo,@medicamento,@cantidad,@lote,@vto)", conexion);
                    alta1.Parameters.AddWithValue("@codigo", row.Cells["Column1"].Value);
                }
            }
            catch
            {

            }
            finally
            {
                conexion.Close();
            }
        }
        private bool Existe()
        {
            foreach (IGrouping<object, DataGridViewRow> grupo in dgv1.Rows.Cast<DataGridViewRow>().GroupBy(dr => dr.Cells["Ubicacion"].Value).Where(g => g.Count() > 1))
            {
                foreach (DataGridViewRow fila in grupo)
                {
                    fila.DefaultCellStyle.ForeColor = Color.Red;
                    return true;
                }
               
               
               
            }
            return false;
        }

        private void dgv1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
        {
            dgv1.Rows[e.RowIndex].ErrorText = String.Empty;
            DataGridViewRow row = (DataGridViewRow)dgv1.Rows[e.RowIndex];

            int cantidad = Convert.ToInt32(row.Cells["Cantidad"].Value);
            int cantidad2 = Convert.ToInt32(row.Cells["Stock"].Value);
            if (cantidad2 > cantidad)
            {
                MessageBox.Show("LA CANTIDAD A INGRESAR SUPERA LA CANTIDAD DE LA ORDEN DE COMPRA", "ATENCION", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
                row.Cells["Stock"].Value = "";
                row.Cells["Faltante"].Value = "";
            }
            else
            {
                row.Cells["Faltante"].Value = cantidad - cantidad2;
            }
            DataGridViewRow row2 = (DataGridViewRow)dgv1.Rows[e.RowIndex];
            string ubicacion=Convert.ToString(row2.Cells["Ubicacion"].Value);
            string jerarquia = Convert.ToString(row2.Cells[1].Value);
            conexion.Open();
            if (ubicacion != "")
            {
                SqlCommand consulta = new SqlCommand("select count (*) from Ubicaciones where codigo=@codigo and jerarquia=@jerarquia ", conexion);
                consulta.Parameters.AddWithValue("@codigo", ubicacion);
                consulta.Parameters.AddWithValue("@jerarquia", jerarquia);

                int count = Convert.ToInt32(consulta.ExecuteScalar());
                if (count > 0)
                {

                }
                else
                {
                    MessageBox.Show("NO EXISTE LA UBICACION INGRESADA CONSULTE LAS UBICACIONES DISPONIBLES PARA ESA JERARQUIA CON EL BOTON 'UBICACIONES VACIAS' ", "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    row2.Cells["Ubicacion"].Value = "";
                }
               
            }
            conexion.Close();

           
        }

        private void dgv1_CellValidating_1(object sender, DataGridViewCellValidatingEventArgs e)
        {

            if (!dgv1.Rows[e.RowIndex].IsNewRow)
            {
               
                if (e.ColumnIndex == 4)
                {
                    if (!this.EsFecha(e.FormattedValue.ToString()))
                    {
                         dgv1.Rows[e.RowIndex].ErrorText = "EL DATO INTRODUCIDO NO ES UNA FECHA";
                        e.Cancel = true;
                    }
                }
            }
        }

        private void RegistrarStock_FormClosing(object sender, FormClosingEventArgs e)
        {
            e.Cancel=false;
        }

       
        private void button1_Click_1(object sender, EventArgs e)
        {
            int cant = 0;
            if (Existe())
                MessageBox.Show("INGRESO LA UBICACION MAS DE UNA VEZ", "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            else
            {
                MessageBox.Show("NO SE ENCONTRARON UBICACIONES REPETIDAS", "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                dgv1.DefaultCellStyle.ForeColor = Color.Black;
            }
            bool incompleto = (from row in dgv1.Rows.Cast<DataGridViewRow>()
                               from cell in row.Cells.Cast<DataGridViewCell>()
                               where string.IsNullOrEmpty(cell.Value.ToString())
                               select row).Any();
            if (incompleto)
            {
                MessageBox.Show("FALTAN COMPLETAR DATOS", "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            else
            {
                MessageBox.Show("DATOS COMPLETOS", "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                cant++;
            }
            if (cant != 0)
                btnGuardar.Enabled = true;


        }

       



    }
}

       

     

#20
buenas noches gente del foro.....verán tengo esta línea de código en el que no m dejaba ingresar a un datagrid un nombre que ya estuviera...ahora debo implementarlo en otro caso de uso....en el cual al presionar un botón m tiene q validar y decir q se esta repitiendo  el dato en una columna(solo en esa columna) esperon m puedan ayudar....grax d antemano
Código (csharp) [Seleccionar]
bool existe = dgv.Rows.Cast<DataGridViewRow>().Any(x => Convert.ToInt32(x.Cells["Column1"].Value) == numMedic);