private void printableListView1_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e)
        {
            modificarButton.Enabled = true;
            eliminarButton.Enabled  = true;

            ListViewItem selectedItem = e.Item;

            selectedItem.Checked = true;

            if (_selectedIndex != -1 && _selectedIndex != e.ItemIndex)
            {
                printableListView1.Items[_selectedIndex].Checked = false;
            }

            _selectedIndex = e.ItemIndex;

            tejedora t =
                (tejedora)
                _entities.GetObjectByKey(new EntityKey("mayaEntities.tejedora", "id", _idTejedora[selectedItem.Index]));

            tbxRegistro.Value = t.id;
            tbxNombre.Text    = t.nombre;
            tbxApellidos.Text = t.apellidos;
        }
예제 #2
0
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                int pos_select = 0;
                for (int i = 0; i < dataGridView1.Rows.Count; i++)
                {
                    if (dataGridView1.Rows[i].Cells["Tejedora"].Value == null && dataGridView1.Rows[i].Cells["Cantidad_a_Asignar"].Value != null)
                    {
                        MessageBox.Show("Debe seleccionar una tejedora a la cual asignarle las materias primas",
                                        "Error en la entrada de datos", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        break;
                    }
                    if (dataGridView1.Rows[i].Cells["Tejedora"].Value != null && dataGridView1.Rows[i].Cells["Cantidad_a_Asignar"].Value == null)
                    {
                        MessageBox.Show(
                            "Debe introducir la cantidad de materias primas que desea asignar a la tejedora",
                            "Error en la entrada de datos", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        break;
                    }
                    if (dataGridView1.Rows[i].Cells["Tejedora"].Value == null && dataGridView1.Rows[i].Cells["Cantidad_a_Asignar"].Value == null)
                    {
                        continue;
                    }
                    List <char> aux = new List <char>();
                    string      id  = "";
                    aux = dataGridView1.Rows[i].Cells["Tejedora"].Value.ToString().ToList();

                    foreach (var elemento in aux)
                    {
                        if (elemento.Equals(' '))
                        {
                            break;
                        }
                        id += elemento;
                    }
                    materia_prima mp =
                        (materia_prima)_entities.GetObjectByKey(new EntityKey("mayaEntities.materia_prima", "id", _idMateriasP[i]));
                    tejedora t =
                        (tejedora)_entities.GetObjectByKey(new EntityKey("mayaEntities.tejedora", "id", int.Parse(id)));
                    decimal variable = decimal.Parse(dataGridView1.Rows[i].Cells["Cantidad_a_Asignar"].Value.ToString());
                    if (mp.cantidad - variable < 0)
                    {
                        MessageBox.Show(
                            "No se pudo rebajar la cantidad especificada de la materia prima\n" + "(" + mp.descripcion + ") existe menos cantidad de lo que se desea rebajar",
                            "No se puede realizar la operación", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        continue;
                    }
                    else
                    {
                        mp.cantidad -= variable;
                        _entities.AddTomp_tejedora(new mp_tejedora
                        {
                            id_mp       = mp.id,
                            id_tejedora = int.Parse(id),
                            fehca       = DateTime.Now,
                            cantidad    = variable,
                            id_usuario  = _user.id
                        });
                        _entities.AddTobitacora(new bitacora
                        {
                            id_usuario  = _user.id,
                            descripcion = "El usuario " + _user.nombre + " ha asignado " + variable.ToString() + " unidades de " + mp.descripcion + "\na la tejedora " + t.id.ToString() + " -- " + t.nombre,
                            fecha       = DateTime.Now
                        });
                        _entities.SaveChanges();
                    }
                }
                this.Reload();
            }
            catch (Exception)
            {
                throw;
            }
        }
        private void aceptarButton_Click(object sender, EventArgs e)
        {
            try
            {
                if (nuevo)
                {
                    var messageValidation = ValidarEntrada((int)tbxRegistro.Value);
                    if (!string.IsNullOrEmpty(messageValidation))
                    {
                        MessageBox.Show(messageValidation, "Error en la entrada de datos", MessageBoxButtons.OK,
                                        MessageBoxIcon.Error);
                        return;
                    }
                    _entities.AddTotejedora(new tejedora
                    {
                        id        = (int)tbxRegistro.Value,
                        nombre    = tbxNombre.Text,
                        apellidos = tbxApellidos.Text
                    });
                    _entities.AddTobitacora(new bitacora
                    {
                        id_usuario  = this._user.id,
                        descripcion = "El usuario " + this._user.nombre + " ha agregado la tejedora " + tbxNombre.Text,
                        fecha       = DateTime.Now
                    });
                    _entities.SaveChanges();
                    this.Reload();
                }
                else
                {
                    var messageValidation = ValidarEntrada((int)tbxRegistro.Value);
                    if (!string.IsNullOrEmpty(messageValidation))
                    {
                        MessageBox.Show(messageValidation, "Error en la entrada de datos", MessageBoxButtons.OK,
                                        MessageBoxIcon.Error);
                        return;
                    }
                    tejedora aux =
                        (tejedora)_entities.GetObjectByKey(new EntityKey("mayaEntities.tejedora", "id", _idTejedora[_selectedIndex]));
                    aux.id        = (int)tbxRegistro.Value;
                    aux.nombre    = tbxNombre.Text;
                    aux.apellidos = tbxApellidos.Text;

                    _entities.AddTobitacora(new bitacora
                    {
                        id_usuario  = this._user.id,
                        descripcion =
                            "El usuario " + this._user.nombre +
                            " ha modificado la tejedora " + tbxNombre.Text,
                        fecha = DateTime.Now
                    });

                    _entities.SaveChanges();
                    this.Reload();
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
        private void eliminarButton_Click(object sender, EventArgs e)
        {
            try
            {
                if (MessageBox.Show("Está seguro que desea eliminar la tejedora seleccionada?", "Eliminar tejedora", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    tejedora aux =
                        (tejedora)
                        _entities.GetObjectByKey(new EntityKey("mayaEntities.tejedora", "id",
                                                               _idTejedora[_selectedIndex]));
                    if (_entities.productos.Any(p => p.tejedora.id == aux.id))
                    {
                        List <productos> lista_p        = _entities.productos.Where(p => p.id_tejedora == aux.id).ToList();
                        List <productos> lista_auxiliar = new List <productos>();
                        productos        prr            = new productos();

                        foreach (var elemento in lista_p)
                        {
                            prr = new productos();
                            _entities.AddTobitacora(new bitacora
                            {
                                id_usuario  = _user.id,
                                descripcion = "El usuario " + _user.nombre + "ha modificado la tejedora del producto " + elemento.id,
                                fecha       = DateTime.Now
                            });

                            prr.tejedora_anterior = elemento.id_tejedora + " -- " + elemento.tejedora.nombre + " " +
                                                    elemento.tejedora.apellidos;
                            prr.id_tejedora      = 9999;
                            prr.id_tipo_producto = elemento.id_tipo_producto;
                            prr.numero_producto  = elemento.numero_producto;
                            prr.anno             = elemento.anno;
                            prr.descripcion      = elemento.descripcion;
                            prr.valor            = elemento.valor;
                            prr.precio           = elemento.precio ?? null;
                            prr.fecha_entrada    = elemento.fecha_entrada;
                            prr.fecha_salida     = elemento.fecha_salida ?? null;
                            prr.fecha_venta      = elemento.fecha_venta ?? null;
                            prr.id_punto_venta   = elemento.id_punto_venta ?? null;
                            prr.vendido          = elemento.vendido ?? null;
                            prr.id = prr.anno.ToString() + "/" + prr.id_tejedora.ToString() + "/" +
                                     prr.id_tipo_producto.ToString() + "/" + prr.numero_producto.ToString();

                            _entities.DeleteObject(elemento);
                            lista_auxiliar.Add(prr);
                            _entities.SaveChanges();
                        }
                        foreach (var productose in lista_auxiliar)
                        {
                            _entities.AddToproductos(productose);
                            _entities.SaveChanges();
                        }
                        _entities.AddTobitacora(new bitacora
                        {
                            id_usuario  = _user.id,
                            descripcion = "El usuario " + _user.nombre + "ha eliminado la tejedora " + aux.id + " -- " + aux.nombre,
                            fecha       = DateTime.Now
                        });
                        _entities.SaveChanges();
                        _entities.DeleteObject(aux);
                        _entities.SaveChanges();
                        this.Reload();
                        return;
                    }

                    _entities.AddTobitacora(new bitacora
                    {
                        id_usuario  = this._user.id,
                        descripcion = "El usuario " + this._user.nombre + " ha eliminado la tejedora " + aux.nombre,
                        fecha       = DateTime.Now
                    });

                    _entities.DeleteObject(aux);
                    _entities.SaveChanges();
                    this.Reload();
                }
            }
            catch (Exception)
            {
                throw;
            }
        }