/// <summary> /// Eliminar privilegios de rol. /// </summary> /// <param name="ROL_ID"></param> /// <param name="lprivilegios"></param> /// <param name="MODIFICADO_POR"></param> public void EliminarPrivilegios(int ROL_ID, List <int> lprivilegios, string MODIFICADO_POR) { try { using (var db = new colinasEntities()) { EntityKey k = new EntityKey("colinasEntities.roles", "ROL_ID", ROL_ID); var r = db.GetObjectByKey(k); rol role = (rol)r; foreach (int priv_id in lprivilegios) { var p = db.GetObjectByKey(new EntityKey("colinasEntities.privilegios", "PRIV_ID", priv_id)); privilegio privilegioEntity = (privilegio)p; role.privilegios.Remove(privilegioEntity); } role.MODIFICADO_POR = MODIFICADO_POR; role.FECHA_MODIFICACION = DateTime.Today; db.SaveChanges(); } } catch (Exception ex) { log.Fatal("Error fatal al eliminar privilegios.", ex); throw; } }
/// <summary> /// Elimina estados de nota de peso con su detalle. Elimina el privilegio y notificacion si existen. /// </summary> /// <param name="ESTADOS_NOTA_ID"></param> public void EliminarEstadoNotaDePeso(int ESTADOS_NOTA_ID) { try { using (var db = new colinasEntities()) { using (var scope1 = new System.Transactions.TransactionScope()) { EntityKey k = new EntityKey("colinasEntities.estados_nota_de_peso", "ESTADOS_NOTA_ID", ESTADOS_NOTA_ID); var esn = db.GetObjectByKey(k); estado_nota_de_peso noteStatus = (estado_nota_de_peso)esn; db.DeleteObject(noteStatus); /*--------------------Eliminar privilegio--------------------*/ string PRIV_LLAVE = EstadoNotaDePesoLogic.PREFIJO_PRIVILEGIO + noteStatus.ESTADOS_NOTA_LLAVE; var queryPrivilegio = from p in db.privilegios where p.PRIV_LLAVE == PRIV_LLAVE select p; privilegio priv = (privilegio)queryPrivilegio.FirstOrDefault(); if (priv != null) { db.DeleteObject(priv); } /*--------------------Eliminar plantilla de notificacion--------------------*/ string PLANTILLAS_LLAVE = EstadoNotaDePesoLogic.PREFIJO_PLANTILLA + noteStatus.ESTADOS_NOTA_LLAVE; db.plantillas_notificaciones.MergeOption = MergeOption.NoTracking; Object pl = null; EntityKey kpl = new EntityKey("colinasEntities.plantillas_notificaciones", "PLANTILLAS_LLAVE", PLANTILLAS_LLAVE); if (db.TryGetObjectByKey(kpl, out pl)) { plantilla_notificacion plNotif = (plantilla_notificacion)pl; db.DeleteObject(plNotif); } db.SaveChanges(); scope1.Complete(); } } } catch (Exception ex) { log.Fatal("Error fatal al eliminar estado de nota de peso.", ex); throw; } }
public Administrador(ref ConectorBaseDeDatos hacedor, ref Form panelInicial, privilegio privParam, ArchivoIni configParam) { InitializeComponent(); Administrador panel = this; apariencia = new aparienciaFormulario(ref dataGridView1, configParam, ref panel); apariencia.setVariablesControlesMain(ref mskGramaje, ref mskPeso, ref lblEstado, ref txtEspesor, ref txtObservacion, ref cmbTipo, ref cmbCliente, ref informeTotalToolStripMenuItem, ref parteDiarioMaquinistaToolStripMenuItem, ref remitoToolStripMenuItem1, ref remitoToolStripMenuItem, ref cmbEstado); consultador = hacedor; contador_hoja = 0; refPanelInicial = panelInicial; priv = privParam; mskPeso.ValidatingType = typeof(double); mskGramaje.ValidatingType = typeof(double); this.ajustarResolucion(); rotuloBobina = new administradorRotuloBobina(); remito = new administradorRemito(); }
public void cargarDatos() { int n = gw.Rows.Count; int indexNombre = gw.Columns["NOMBRE"].Index; int indexContr = gw.Columns["PASSWORD"].Index; int indexPriv = gw.Columns["PRIVILEGIO"].Index; for (int i = 0; i < n - 1; i++) { string nombreConsulta = gw[indexNombre, i].Value.ToString().ToUpper(); if (nombreConsulta == nombre.ToUpper()) { string passConsulta = gw[indexContr, i].Value.ToString(); privilegio privConsulta = (privilegio)gw[indexPriv, i].Value; pass = passConsulta; priv = privConsulta; break; } } }
public void insertar(String nombre, List <funcion> lista) { rc = dm.GetrolCollection(); List <rol> lu = rc.Cast <rol>().ToList(); int id; if (lu.Count == 0) { id = 1; } else { id = lu.Last().id + 1; } rol nRol = dm.Newrol(id, nombre, true); privilegioCollection pc = dm.GetprivilegioCollection(); List <privilegio> lp = pc.Cast <privilegio>().ToList(); int idp; if (lp.Count == 0) { idp = 1; } else { idp = lp.Last().id + 1; } foreach (funcion f in lista) { privilegio nPriv = dm.Newprivilegio(idp, id, f.id, f, nRol); idp++; } //nRol.nombre = nombre; //nRol.id = id; //nRol.estado = true; dm.CommitAll(); }
/// <summary> /// Actualiza estado de nota de peso con su detalle. Actualiza privilegio y notificacion. /// </summary> /// <param name="ESTADOS_NOTA_ID"></param> /// <param name="ESTADOS_NOTA_SIGUIENTE"></param> /// <param name="ESTADOS_NOTA_NOMBRE"></param> /// <param name="ESTADOS_NOTA_DESCRIPCION"></param> /// <param name="ESTADOS_NOTA_ES_CATACION"></param> /// <param name="ESTADOS_NOTA_ESTADO"></param> /// <param name="MODIFICADO_POR"></param> /// <param name="ESTADOS_DETALLE_ENABLE_FECHA"></param> /// <param name="ESTADOS_DETALLE_ENABLE_ESTADO"></param> /// <param name="ESTADOS_DETALLE_ENABLE_SOCIO_ID"></param> /// <param name="ESTADOS_DETALLE_ENABLE_CLASIFICACION_CAFE"></param> /// <param name="ESTADOS_DETALLE_SHOW_INFO_SOCIO"></param> /// <param name="ESTADOS_DETALLE_ENABLE_FORMA_ENTREGA"></param> /// <param name="ESTADOS_DETALLE_ENABLE_DETALLE"></param> /// <param name="ESTADOS_DETALLE_ENABLE_SACOS_RETENIDOS"></param> /// <param name="ESTADOS_DETALLE_ENABLE_TARA"></param> /// <param name="ESTADOS_DETALLE_SHOW_DESCUENTOS"></param> /// <param name="ESTADOS_DETALLE_SHOW_TOTAL"></param> /// <param name="ESTADOS_DETALLE_ENABLE_REGISTRAR_BTN"></param> /// <param name="ESTADOS_DETALLE_ENABLE_IMPRIMIR_BTN"></param> /// <param name="PLANTILLAS_MENSAJE"></param> public void ActualizarEstadoNotaDePeso (int ESTADOS_NOTA_ID, int?ESTADOS_NOTA_SIGUIENTE, string ESTADOS_NOTA_NOMBRE, string ESTADOS_NOTA_DESCRIPCION, bool ESTADOS_NOTA_ES_CATACION, bool ESTADOS_NOTA_ESTADO, string MODIFICADO_POR, bool ESTADOS_DETALLE_ENABLE_FECHA, int ESTADOS_DETALLE_ENABLE_ESTADO, int ESTADOS_DETALLE_ENABLE_SOCIO_ID, bool ESTADOS_DETALLE_ENABLE_CLASIFICACION_CAFE, bool ESTADOS_DETALLE_SHOW_INFO_SOCIO, bool ESTADOS_DETALLE_ENABLE_FORMA_ENTREGA, bool ESTADOS_DETALLE_ENABLE_DETALLE, bool ESTADOS_DETALLE_ENABLE_SACOS_RETENIDOS, bool ESTADOS_DETALLE_ENABLE_TARA, bool ESTADOS_DETALLE_SHOW_DESCUENTOS, bool ESTADOS_DETALLE_SHOW_TOTAL, bool ESTADOS_DETALLE_ENABLE_REGISTRAR_BTN, bool ESTADOS_DETALLE_ENABLE_IMPRIMIR_BTN, string PLANTILLAS_MENSAJE) { try { using (var db = new colinasEntities()) { using (var scope1 = new System.Transactions.TransactionScope()) { EntityKey k = new EntityKey("colinasEntities.estados_nota_de_peso", "ESTADOS_NOTA_ID", ESTADOS_NOTA_ID); var esn = db.GetObjectByKey(k); estado_nota_de_peso noteStatus = (estado_nota_de_peso)esn; noteStatus.ESTADOS_NOTA_SIGUIENTE = ESTADOS_NOTA_SIGUIENTE == 0 ? null : ESTADOS_NOTA_SIGUIENTE; noteStatus.ESTADOS_NOTA_NOMBRE = ESTADOS_NOTA_NOMBRE; noteStatus.ESTADOS_NOTA_DESCRIPCION = ESTADOS_NOTA_DESCRIPCION; noteStatus.ESTADOS_NOTA_ES_CATACION = ESTADOS_NOTA_ES_CATACION; noteStatus.ESTADOS_NOTA_ESTADO = ESTADOS_NOTA_ESTADO; noteStatus.MODIFICADO_POR = MODIFICADO_POR; noteStatus.FECHA_MODIFICACION = DateTime.Today; /*--------------------Actualizar detalle--------------------*/ estado_detalle detalle = noteStatus.estados_detalles; detalle.ESTADOS_DETALLE_ENABLE_FECHA = ESTADOS_DETALLE_ENABLE_FECHA; detalle.ESTADOS_DETALLE_ENABLE_ESTADO = ESTADOS_DETALLE_ENABLE_ESTADO; detalle.ESTADOS_DETALLE_ENABLE_SOCIO_ID = ESTADOS_DETALLE_ENABLE_SOCIO_ID; detalle.ESTADOS_DETALLE_ENABLE_CLASIFICACION_CAFE = ESTADOS_DETALLE_ENABLE_CLASIFICACION_CAFE; detalle.ESTADOS_DETALLE_SHOW_INFO_SOCIO = ESTADOS_DETALLE_SHOW_INFO_SOCIO; detalle.ESTADOS_DETALLE_ENABLE_FORMA_ENTREGA = ESTADOS_DETALLE_ENABLE_FORMA_ENTREGA; detalle.ESTADOS_DETALLE_ENABLE_DETALLE = ESTADOS_DETALLE_ENABLE_DETALLE; detalle.ESTADOS_DETALLE_ENABLE_SACOS_RETENIDOS = ESTADOS_DETALLE_ENABLE_SACOS_RETENIDOS; detalle.ESTADOS_DETALLE_ENABLE_TARA = ESTADOS_DETALLE_ENABLE_TARA; detalle.ESTADOS_DETALLE_SHOW_DESCUENTOS = ESTADOS_DETALLE_SHOW_DESCUENTOS; detalle.ESTADOS_DETALLE_SHOW_TOTAL = ESTADOS_DETALLE_SHOW_TOTAL; detalle.ESTADOS_DETALLE_ENABLE_REGISTRAR_BTN = ESTADOS_DETALLE_ENABLE_REGISTRAR_BTN; detalle.ESTADOS_DETALLE_ENABLE_IMPRIMIR_BTN = ESTADOS_DETALLE_ENABLE_IMPRIMIR_BTN; /*--------------------Actualizar privilegio--------------------*/ string PRIV_LLAVE = EstadoNotaDePesoLogic.PREFIJO_PRIVILEGIO + noteStatus.ESTADOS_NOTA_LLAVE; var queryPrivilegio = from p in db.privilegios where p.PRIV_LLAVE == PRIV_LLAVE select p; privilegio notePrivilege = (privilegio)queryPrivilegio.FirstOrDefault(); if (notePrivilege != null) { notePrivilege.PRIV_NOMBRE = "Notas de Peso " + ESTADOS_NOTA_NOMBRE; notePrivilege.PRIV_DESCRIPCION = "Acceso a nivel de datos. " + ESTADOS_NOTA_DESCRIPCION; notePrivilege.MODIFICADO_POR = MODIFICADO_POR; notePrivilege.FECHA_MODIFICACION = DateTime.Today; } /*--------------------Actualizar plantilla de notificacion--------------------*/ string PLANTILLAS_LLAVE = EstadoNotaDePesoLogic.PREFIJO_PLANTILLA + noteStatus.ESTADOS_NOTA_LLAVE; db.plantillas_notificaciones.MergeOption = MergeOption.NoTracking; Object pl = null; EntityKey kpl = new EntityKey("colinasEntities.plantillas_notificaciones", "PLANTILLAS_LLAVE", PLANTILLAS_LLAVE); if (db.TryGetObjectByKey(kpl, out pl)) { plantilla_notificacion noteTemplate = (plantilla_notificacion)pl; noteTemplate.PLANTILLAS_NOMBRE = "Notas de Peso " + ESTADOS_NOTA_NOMBRE; noteTemplate.PLANTILLAS_ASUNTO = "Notas de Peso " + ESTADOS_NOTA_NOMBRE; noteTemplate.PLANTILLAS_MENSAJE = PLANTILLAS_MENSAJE; noteTemplate.MODIFICADO_POR = MODIFICADO_POR; noteTemplate.FECHA_MODIFICACION = DateTime.Today; } db.SaveChanges(); scope1.Complete(); } } } catch (Exception ex) { log.Fatal("Error fatal al actualizar estado de nota de peso.", ex); throw; } }
/// <summary> /// Inserta el estado de nota de peso con su detalle. Crea privilegio y notificacion para nota de peso. /// </summary> /// <param name="ESTADOS_NOTA_SIGUIENTE"></param> /// <param name="ESTADOS_NOTA_LLAVE"></param> /// <param name="ESTADOS_NOTA_NOMBRE"></param> /// <param name="ESTADOS_NOTA_DESCRIPCION"></param> /// <param name="ESTADOS_NOTA_ES_CATACION"></param> /// <param name="ESTADOS_NOTA_ESTADO"></param> /// <param name="CREADO_POR"></param> /// <param name="ESTADOS_DETALLE_ENABLE_FECHA"></param> /// <param name="ESTADOS_DETALLE_ENABLE_ESTADO"></param> /// <param name="ESTADOS_DETALLE_ENABLE_SOCIO_ID"></param> /// <param name="ESTADOS_DETALLE_ENABLE_CLASIFICACION_CAFE"></param> /// <param name="ESTADOS_DETALLE_SHOW_INFO_SOCIO"></param> /// <param name="ESTADOS_DETALLE_ENABLE_FORMA_ENTREGA"></param> /// <param name="ESTADOS_DETALLE_ENABLE_DETALLE"></param> /// <param name="ESTADOS_DETALLE_ENABLE_SACOS_RETENIDOS"></param> /// <param name="ESTADOS_DETALLE_ENABLE_TARA"></param> /// <param name="ESTADOS_DETALLE_SHOW_DESCUENTOS"></param> /// <param name="ESTADOS_DETALLE_SHOW_TOTAL"></param> /// <param name="ESTADOS_DETALLE_ENABLE_REGISTRAR_BTN"></param> /// <param name="ESTADOS_DETALLE_ENABLE_IMPRIMIR_BTN"></param> /// <param name="PLANTILLAS_MENSAJE"></param> public void InsertarEstadoNotaDePeso (int?ESTADOS_NOTA_SIGUIENTE, string ESTADOS_NOTA_LLAVE, string ESTADOS_NOTA_NOMBRE, string ESTADOS_NOTA_DESCRIPCION, bool ESTADOS_NOTA_ES_CATACION, bool ESTADOS_NOTA_ESTADO, string CREADO_POR, bool ESTADOS_DETALLE_ENABLE_FECHA, int ESTADOS_DETALLE_ENABLE_ESTADO, int ESTADOS_DETALLE_ENABLE_SOCIO_ID, bool ESTADOS_DETALLE_ENABLE_CLASIFICACION_CAFE, bool ESTADOS_DETALLE_SHOW_INFO_SOCIO, bool ESTADOS_DETALLE_ENABLE_FORMA_ENTREGA, bool ESTADOS_DETALLE_ENABLE_DETALLE, bool ESTADOS_DETALLE_ENABLE_SACOS_RETENIDOS, bool ESTADOS_DETALLE_ENABLE_TARA, bool ESTADOS_DETALLE_SHOW_DESCUENTOS, bool ESTADOS_DETALLE_SHOW_TOTAL, bool ESTADOS_DETALLE_ENABLE_REGISTRAR_BTN, bool ESTADOS_DETALLE_ENABLE_IMPRIMIR_BTN, string PLANTILLAS_MENSAJE) { try { using (var db = new colinasEntities()) { using (var scope1 = new System.Transactions.TransactionScope()) { estado_nota_de_peso noteStatus = new estado_nota_de_peso(); noteStatus.ESTADOS_NOTA_SIGUIENTE = ESTADOS_NOTA_SIGUIENTE == 0 ? null : ESTADOS_NOTA_SIGUIENTE; noteStatus.ESTADOS_NOTA_LLAVE = ESTADOS_NOTA_LLAVE; noteStatus.ESTADOS_NOTA_NOMBRE = ESTADOS_NOTA_NOMBRE; noteStatus.ESTADOS_NOTA_DESCRIPCION = ESTADOS_NOTA_DESCRIPCION; noteStatus.ESTADOS_NOTA_ES_CATACION = ESTADOS_NOTA_ES_CATACION; noteStatus.ESTADOS_NOTA_ESTADO = ESTADOS_NOTA_ESTADO; noteStatus.CREADO_POR = noteStatus.MODIFICADO_POR = CREADO_POR; noteStatus.FECHA_CREACION = DateTime.Today; noteStatus.FECHA_MODIFICACION = noteStatus.FECHA_CREACION; db.estados_nota_de_peso.AddObject(noteStatus); /*--------------------Crear detalle--------------------*/ estado_detalle detalle = new estado_detalle(); detalle.ESTADOS_NOTA_ID = noteStatus.ESTADOS_NOTA_ID; detalle.ESTADOS_DETALLE_ENABLE_FECHA = ESTADOS_DETALLE_ENABLE_FECHA; detalle.ESTADOS_DETALLE_ENABLE_ESTADO = ESTADOS_DETALLE_ENABLE_ESTADO; detalle.ESTADOS_DETALLE_ENABLE_SOCIO_ID = ESTADOS_DETALLE_ENABLE_SOCIO_ID; detalle.ESTADOS_DETALLE_ENABLE_CLASIFICACION_CAFE = ESTADOS_DETALLE_ENABLE_CLASIFICACION_CAFE; detalle.ESTADOS_DETALLE_SHOW_INFO_SOCIO = ESTADOS_DETALLE_SHOW_INFO_SOCIO; detalle.ESTADOS_DETALLE_ENABLE_FORMA_ENTREGA = ESTADOS_DETALLE_ENABLE_FORMA_ENTREGA; detalle.ESTADOS_DETALLE_ENABLE_DETALLE = ESTADOS_DETALLE_ENABLE_DETALLE; detalle.ESTADOS_DETALLE_ENABLE_SACOS_RETENIDOS = ESTADOS_DETALLE_ENABLE_SACOS_RETENIDOS; detalle.ESTADOS_DETALLE_ENABLE_TARA = ESTADOS_DETALLE_ENABLE_TARA; detalle.ESTADOS_DETALLE_SHOW_DESCUENTOS = ESTADOS_DETALLE_SHOW_DESCUENTOS; detalle.ESTADOS_DETALLE_SHOW_TOTAL = ESTADOS_DETALLE_SHOW_TOTAL; detalle.ESTADOS_DETALLE_ENABLE_REGISTRAR_BTN = ESTADOS_DETALLE_ENABLE_REGISTRAR_BTN; detalle.ESTADOS_DETALLE_ENABLE_IMPRIMIR_BTN = ESTADOS_DETALLE_ENABLE_IMPRIMIR_BTN; db.estados_detalles.AddObject(detalle); /*--------------------Crear privilegio--------------------*/ privilegio notePrivilege = new privilegio(); notePrivilege.PRIV_LLAVE = EstadoNotaDePesoLogic.PREFIJO_PRIVILEGIO + ESTADOS_NOTA_LLAVE; notePrivilege.PRIV_NOMBRE = "Notas de Peso " + ESTADOS_NOTA_NOMBRE; notePrivilege.PRIV_DESCRIPCION = "Acceso a nivel de datos. " + ESTADOS_NOTA_DESCRIPCION; notePrivilege.CREADO_POR = notePrivilege.MODIFICADO_POR = CREADO_POR; notePrivilege.FECHA_CREACION = DateTime.Today; notePrivilege.FECHA_MODIFICACION = notePrivilege.FECHA_CREACION; db.privilegios.AddObject(notePrivilege); /*--------------------Crear plantilla de notificacion--------------------*/ plantilla_notificacion noteTemplate = new plantilla_notificacion(); noteTemplate.PLANTILLAS_LLAVE = EstadoNotaDePesoLogic.PREFIJO_PLANTILLA + ESTADOS_NOTA_LLAVE; noteTemplate.PLANTILLAS_NOMBRE = "Notas de Peso " + ESTADOS_NOTA_NOMBRE; noteTemplate.PLANTILLAS_ASUNTO = "Notas de Peso " + ESTADOS_NOTA_NOMBRE; noteTemplate.PLANTILLAS_MENSAJE = PLANTILLAS_MENSAJE; noteTemplate.CREADO_POR = noteTemplate.MODIFICADO_POR = CREADO_POR; noteTemplate.FECHA_CREACION = DateTime.Today; noteTemplate.FECHA_MODIFICACION = noteTemplate.FECHA_CREACION; db.plantillas_notificaciones.AddObject(noteTemplate); db.SaveChanges(); scope1.Complete(); } } } catch (Exception ex) { log.Fatal("Error fatal al insertar estado de nota de peso.", ex); throw; } }
/// <summary> /// Envia correos de privilegios nuevos /// </summary> /// <param name="ROL_ID"></param> /// <param name="PRIVS_ID"></param> /// <param name="Configuracion"></param> public static void EnviarCorreosPrivilegiosNuevos(int ROL_ID, List <string> PRIVS_ID, XmlDocument Configuracion) { try { string mailto = ""; string nombre = ""; string priv = ""; string subject = ""; string message = ""; using (var db = new colinasEntities()) { EntityKey k = new EntityKey("colinasEntities.roles", "ROL_ID", ROL_ID); var r = db.GetObjectByKey(k); rol role = (rol)r; foreach (string privRec in PRIVS_ID) { int PRIV_ID = Convert.ToInt32(privRec); EntityKey k2 = new EntityKey("colinasEntities.privilegios", "PRIV_ID", PRIV_ID); var p = db.GetObjectByKey(k2); privilegio priv2 = (privilegio)p; priv += priv2.PRIV_NOMBRE + ", "; } if (priv.Length > 2) { priv.Remove(priv.Length - 2); } EntityKey k3 = new EntityKey("colinasEntities.plantillas_notificaciones", "PLANTILLAS_LLAVE", "PRIVILEGIONUEVO"); var pl = db.GetObjectByKey(k3); plantilla_notificacion plantilla = (plantilla_notificacion)pl; subject = plantilla.PLANTILLAS_ASUNTO; message = plantilla.PLANTILLAS_MENSAJE; foreach (usuario user in role.usuarios) { mailto = user.USR_CORREO; nombre = user.USR_NOMBRE + " " + user.USR_APELLIDO; message = message.Replace("{NOMBRE}", nombre); message = message.Replace("{USUARIO}", user.USR_USERNAME); message = message.Replace("{PRIVILEGIO}", priv); EnviarCorreo(mailto, subject, message, Configuracion); } } } catch (Exception ex) { log.Fatal("Error fatal al enviar correo de privilegios nuevos.", ex); throw; } }