Example #1
0
        private void btn_GuardarFamilia_Click(object sender, EventArgs e)
        {
            if (txt_NomFam.Text != "")
            {
                //PASO 1: Update de la descripcion
                familia_BE.descripcion = txt_NomFam.Text;
                familia_BE.id          = (int)familia_seleccionada.Cells[0].Value;

                familia_BLL.Update(familia_BE);
                bitacora_BAJA.RegistrarEnBitacora(this.usuario_logueado, DateTime.Now, "Se modificó una Patente");

                //PASO 2 parte 1: Asociacion de patentes a familia
                foreach (DataGridViewRow fila in dgv_patentesAsociadasAfamilia.Rows)
                {
                    if (!this.familiaPatentesDB.Any(fp => fp.id == (int)fila.Cells[0].Value))
                    {
                        famPat_BE.id_Patente = (int)fila.Cells[0].Value;
                        famPat_BE.id_Familia = (int)familia_seleccionada.Cells[0].Value;
                        famPat_BLL.Add(famPat_BE);
                        bitacora_BAJA.RegistrarEnBitacora(this.usuario_logueado, DateTime.Now, "Se agregó una patente a una Familia");
                    }
                }

                //PASO 2 parte 2: Desasociacion de patente a familia
                foreach (DataGridViewRow fila in dgv_patentesDisponibles.Rows)
                {
                    if (this.familiaPatentesDB.Any(fp => fp.id == (int)fila.Cells[0].Value))
                    {
                        famPat_BE.id_Patente = (int)fila.Cells[0].Value;
                        famPat_BE.id_Familia = (int)familia_seleccionada.Cells[0].Value;
                        famPat_BLL.Delete(famPat_BE);
                        bitacora_BAJA.RegistrarEnBitacora(this.usuario_logueado, DateTime.Now, "Se desasignó una patente a una Familia");
                    }
                }

                //PASO 3 parte 1: Asociacion de usuario a Familia
                foreach (DataGridViewRow fila in dgv_UsuariosAsociadosAfamilia.Rows)
                {
                    if (!this.familiaUsuariosDB.Any(fu => fu.id == (int)fila.Cells[0].Value))
                    {
                        famUsu_BE.id_usuario = (int)fila.Cells[0].Value;
                        famUsu_BE.id_familia = (int)familia_seleccionada.Cells[0].Value;
                        famUsu_BLL.Add(famUsu_BE);
                    }
                }

                //PASO 3 parte 2: Desasociacion de usuario a Familia
                foreach (DataGridViewRow fila in dgv_UsuariosDisponibles.Rows)
                {
                    if (this.familiaUsuariosDB.Any(fu => fu.id == (int)fila.Cells[0].Value))
                    {
                        famUsu_BE.id_usuario = (int)fila.Cells[0].Value;
                        famUsu_BE.id_familia = (int)familia_seleccionada.Cells[0].Value;
                        famUsu_BLL.Delete(famUsu_BE);
                        bitacora_BAJA.RegistrarEnBitacora(this.usuario_logueado, DateTime.Now, "Se desasignó una familia a un Usuario");
                    }
                }

                //PASO 3: Mensaje al usuario y volver atrás
                MessageBox.Show("Familia modificado con éxito");
                this.Close();
            }
            else
            {
                MessageBox.Show("Se debe completar el campo Descripcion");
            }
        }