private void btnRegistrar_Click(object sender, EventArgs e) { List<PermisoXRol> permisosAGuardar= new List<PermisoXRol>(); List<PermisoXRol> permisosABorrar= new List<PermisoXRol>(); this.rol.Descripcion = txtRol.Text; new RolBL().Grabar(rol); foreach (DataGridViewRow fila in dgvPermisos.Rows) { Permiso permiso = (Permiso)fila.DataBoundItem; DataGridViewCheckBoxCell celda = (DataGridViewCheckBoxCell)fila.Cells["Tiene"]; PermisoXRol permisoBuscado=permisosXRol.Find(delegate(PermisoXRol pxr){return pxr.Permiso.Id==permiso.Id;}); bool seEncontroPermiso=(permisoBuscado!=null); bool checkeado = !(celda.Value==null) && (bool)celda.Value == true; if (checkeado && !seEncontroPermiso) { PermisoXRol permisoAGuardar=new PermisoXRol(); permisoAGuardar.Rol = new Rol(); permisoAGuardar.Rol.Id=this.rol.Id; permisoAGuardar.Permiso = new Permiso(); permisoAGuardar.Permiso.Id = permiso.Id; permisosAGuardar.Add(permisoAGuardar); } if (!checkeado && seEncontroPermiso) { permisosABorrar.Add(permisoBuscado); } } PermisoXRolBL permisoXRolBL = new PermisoXRolBL(); foreach (PermisoXRol p in permisosAGuardar) { permisoXRolBL.Grabar(p); } foreach (PermisoXRol p in permisosABorrar) { permisoXRolBL.Borrar(p); } Empleado emp=((frmHomePapyrus)(this.Owner)).Empleado; if (rol.Id==emp.Usuario.Rol.Id) { Empleado em = new UsuarioBL().Validar(emp.Usuario.NombreUsuario, emp.Usuario.Contrasenha); Permisos.Cargar(em.Usuario); ((frmHomePapyrus)(this.Owner)).habilitarTodo(); ((frmHomePapyrus)(this.Owner)).RevisarFuncionalidades(); } Utils.Utils.OK(IND_MENSAJE); }
private void Marcar() { Empleado empleado = new UsuarioBL().Validar(txtUsuario.Text, txtClave.Text); txtClave.Text = ""; txtUsuario.Text = ""; if (empleado != null) { AsistenciaBL oAsistenciaBL = new AsistenciaBL(); Asistencia ultimaAsistencia = oAsistenciaBL.GetUltima(empleado); if (ultimaAsistencia == null) { if (oAsistenciaBL.MarcarEntrada(empleado)) { Utils.Utils.Mensaje("ENTRADA Registrada", MessageBoxButtons.OK, MessageBoxIcon.None); } else { Utils.Utils.Error(null, "Error, intente nuevamente"); } return; } if (ultimaAsistencia.Tipo == "S") { if (oAsistenciaBL.MarcarEntrada(empleado)) { Utils.Utils.Mensaje("ENTRADA Registrada", MessageBoxButtons.OK, MessageBoxIcon.None); } else { Utils.Utils.Error(null, "Error, intente nuevamente"); } } else { if (ultimaAsistencia.Fecha.ToShortDateString() == DateTime.Now.ToShortDateString()) { if (oAsistenciaBL.MarcarSalida(empleado)) { Utils.Utils.Mensaje("SALIDA Registrada", MessageBoxButtons.OK, MessageBoxIcon.None); } else { Utils.Utils.Error(null, "Error, intente nuevamente"); } } else { Utils.Utils.Mensaje("Usted no registró su salida la última vez. Se le descontarán las horas.", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); if (oAsistenciaBL.MarcarNoSalida(empleado, ultimaAsistencia) && oAsistenciaBL.MarcarEntrada(empleado)) { Utils.Utils.Mensaje("Entrada Registrada", MessageBoxButtons.OK, MessageBoxIcon.None); } else { Utils.Utils.Error(null, "Error, intente nuevamente"); } } } } else { Utils.Utils.Error(null, "El usuario y/o contraseña no son válidas"); } }