private void improveThread() { try { SplashScreen.Show(new Splash()); } catch (Exception ex) { Helper.MensajeError(string.Format("msj:{0}. inner:{1}.", ex.Message, ex.InnerException), GlobalClass.NombreApp); } }
public void IniciarActualizarListado() { SplashScreen.Show(new Splash()); bgworker = new BackgroundWorker(); bgworker.DoWork += ActualizarListado; bgworker.RunWorkerCompleted += Terminado; bgworker.RunWorkerAsync(); bgworker.WorkerReportsProgress = true; bgworker.DoWork += new DoWorkEventHandler(bgworker_DoWork); bgworker.ProgressChanged += new ProgressChangedEventHandler(bgworker_ProgressChanged); }
protected override void btnGuardar_Click(object sender, EventArgs e) { if (!Validaciones()) { return; } var res = Util.MensajePregunta("¿Está seguro de que la información es correcta?", GlobalClass.NombreApp); if (res.Equals(DialogResult.No)) { return; } SplashScreen.Show(new Splash()); this.btnGuardar.Enabled = false; try { /* * var listaSeleccion = new List<int>(); * listaSeleccion.Add(Parte.ParteID); * foreach (var fila in dgvSeleccion.Rows) * { * var equivalente = (DataGridViewRow)fila; * listaSeleccion.Add(Util.ConvertirEntero(equivalente.Cells["ParteID"].Value)); * } * //Almacenar: Todos contra todos * foreach (var parteId in listaSeleccion) * { * foreach (var parteIdComparar in listaSeleccion) * { * var equivalente = General.GetEntity<ParteEquivalente>(p => p.ParteID == parteId && p.ParteIDequivalente == parteIdComparar); * if (equivalente == null) * { * var equivalencia = new ParteEquivalente() * { * ParteID = parteId, * ParteIDequivalente = parteIdComparar * }; * Datos.Guardar<ParteEquivalente>(equivalencia); * } * } * } */ // Nueva modalidad de equivalentes - Moisés int iParteID = this.Parte.ParteID; foreach (DataGridViewRow oFila in this.dgvSeleccion.Rows) { int iParteIDEq = Util.Entero(oFila.Cells["ParteID"].Value); Guardar.ParteEquivalencia(iParteID, iParteIDEq); } // SplashScreen.Close(); this.btnGuardar.Enabled = true; new Notificacion("Equivalentes guardados exitosamente", 2 * 1000).Mostrar(Principal.Instance); } catch (Exception ex) { SplashScreen.Close(); this.btnGuardar.Enabled = true; Util.MensajeError(ex.Message, GlobalClass.NombreApp); } this.Close(); }
protected override void btnGuardar_Click(object sender, EventArgs e) { try { if (!Validaciones()) { return; } if (EsNuevo) { } else { int iAutorizoID = 0; var ResU = UtilLocal.ValidarObtenerUsuario(null, "Autorización"); if (ResU.Exito) { iAutorizoID = ResU.Respuesta.UsuarioID; } else { Util.MensajeError("Error al validar el usuario.", GlobalClass.NombreApp); return; } SplashScreen.Show(new Splash()); this.btnGuardar.Enabled = false; var ContingenciaCompleta = Datos.GetEntity <MovimientoInventarioContingenciasView>(c => c.MovimientoInventarioTraspasoContingenciaID == Contingencia.MovimientoInventarioTraspasoContingenciaID); if (null == ContingenciaCompleta) { return; } //Actualiza la contingencia Contingencia.FechaModificacion = DateTime.Now; Contingencia.MovimientoInventarioEstatusContingenciaID = 1; Contingencia.UsuarioID = GlobalClass.UsuarioGlobal.UsuarioID; Contingencia.UsuarioSolucionoID = GlobalClass.UsuarioGlobal.UsuarioID; Contingencia.FechaSoluciono = DateTime.Now; Contingencia.TipoOperacionID = Util.Entero(this.cboTipoOperacion.SelectedValue); Contingencia.TipoConceptoOperacionID = Util.Entero(this.cboConceptoOperacion.SelectedValue); Contingencia.ObservacionSolucion = this.txtObservacion.Text; if (Util.Entero(this.cboTipoOperacion.SelectedValue) == Cat.TiposDeOperacionMovimientos.SalidaInventario) { Contingencia.ObservacionSolucion += (" - SE CREA UNA ENTRADA PARA DEVOLVER EL TRASPASO A LA TIENDA ORIGEN Y EN EL SEGUNDO MOVIMIENTO UNA SALIDA PARA PODER HACER LA SALIDA DEL INVENTARIO"); } Contingencia.FechaModificacion = DateTime.Now; Datos.SaveOrUpdate <MovimientoInventarioTraspasoContingencia>(Contingencia); int iSucursalID = ContingenciaCompleta.SucursalOrigenID.Valor(); string sOrigen = UtilDatos.NombreDeSucursal(ContingenciaCompleta.SucursalOrigenID.Valor()); string sDestino = UtilDatos.NombreDeSucursal(ContingenciaCompleta.SucursalDestinoID.Valor()); var oPrecio = Datos.GetEntity <PartePrecio>(c => c.ParteID == ContingenciaCompleta.ParteID && c.Estatus); switch (Util.Entero(cboTipoOperacion.SelectedValue)) { case 2: #region [ Entrada Inventario ] //Insertar Movimiento var movimientoEntradaI = new MovimientoInventario() { TipoOperacionID = Util.Entero(this.cboTipoOperacion.SelectedValue), TipoPagoID = 1, ProveedorID = 1, SucursalOrigenID = ContingenciaCompleta.SucursalOrigenID, SucursalDestinoID = ContingenciaCompleta.SucursalDestinoID, FechaFactura = DateTime.Now, FechaRecepcion = DateTime.Now, FolioFactura = null, Subtotal = null, IVA = null, ImporteTotal = 0, FueLiquidado = false, TipoConceptoOperacionID = ContingenciaCompleta.TipoConceptoOperacionID, Observacion = string.Format("{0}: {1}", "Traspaso por resolucion de un Conflicto. Movimiento: ", Contingencia.MovimientoInventarioID), Articulos = null, Unidades = null, Seguro = null, ImporteTotalSinDescuento = null }; Datos.Guardar <MovimientoInventario>(movimientoEntradaI); if (movimientoEntradaI.MovimientoInventarioID < 1) { new EntityNotFoundException("MovimientoInventarioID", "MovimientoInventario"); return; } //Insertar MovimientoDetalle var detalleMovimiento = new MovimientoInventarioDetalle() { MovimientoInventarioID = movimientoEntradaI.MovimientoInventarioID, ParteID = ContingenciaCompleta.ParteID, Cantidad = Util.Decimal(ContingenciaCompleta.Diferencia), PrecioUnitario = 0, Importe = 0, FueDevolucion = false, FechaRegistro = DateTime.Now, Estatus = true }; Datos.SaveOrUpdate <MovimientoInventarioDetalle>(detalleMovimiento); //Actualizar ParteExistencia /* var sucursalId = ContingenciaCompleta.SucursalOrigenID; * var existencia = General.GetEntity<ParteExistencia>(p => p.ParteID == ContingenciaCompleta.ParteID && p.SucursalID == sucursalId); * if (existencia != null) * { * existencia.Existencia += Util.ConvertirDecimal(ContingenciaCompleta.Diferencia); * Datos.Guardar<ParteExistencia>(existencia);//dmod * } */ // AdmonProc.AgregarExistencia(ContingenciaCompleta.ParteID, sucursalId.Valor(), ContingenciaCompleta.Diferencia.Valor() // , Cat.Tablas.MovimientoInventario, movimientoEntradaI.MovimientoInventarioID); // Se modifica la existencia y el kardex AdmonProc.AfectarExistenciaYKardex(ContingenciaCompleta.ParteID, iSucursalID, Cat.OperacionesKardex.EntradaTraspaso , Contingencia.MovimientoInventarioID.ToString(), Contingencia.UsuarioSolucionoID.Valor(), "Conflicto Resuelto Entrada" , sOrigen, sDestino, ContingenciaCompleta.Diferencia.Valor() , oPrecio.Costo.Valor(), Cat.Tablas.MovimientoInventario, movimientoEntradaI.MovimientoInventarioID); #endregion break; case 3: #region [ Salida Inventario ] //Insertar Movimiento var movimientoSalida = new MovimientoInventario() { TipoOperacionID = Util.Entero(this.cboTipoOperacion.SelectedValue), TipoPagoID = 1, ProveedorID = 1, SucursalOrigenID = ContingenciaCompleta.SucursalOrigenID, SucursalDestinoID = ContingenciaCompleta.SucursalDestinoID, FechaFactura = DateTime.Now, FechaRecepcion = DateTime.Now, FolioFactura = null, Subtotal = null, IVA = null, ImporteTotal = 0, FueLiquidado = false, TipoConceptoOperacionID = Util.Entero(this.cboConceptoOperacion.SelectedValue), Observacion = string.Format("{0}: {1}", "Traspaso por resolucion de un Conflicto. Movimiento: ", Contingencia.MovimientoInventarioID), Articulos = null, Unidades = null, Seguro = null, ImporteTotalSinDescuento = null }; Datos.Guardar <MovimientoInventario>(movimientoSalida); if (movimientoSalida.MovimientoInventarioID < 1) { new EntityNotFoundException("MovimientoInventarioID", "MovimientoInventario"); return; } //Insertar MovimientoDetalle var detalleMovimientoS = new MovimientoInventarioDetalle() { MovimientoInventarioID = movimientoSalida.MovimientoInventarioID, ParteID = ContingenciaCompleta.ParteID, Cantidad = Util.Decimal(ContingenciaCompleta.Diferencia), PrecioUnitario = 0, Importe = 0, FueDevolucion = false, FechaRegistro = DateTime.Now, Estatus = true }; Datos.SaveOrUpdate <MovimientoInventarioDetalle>(detalleMovimientoS); //No se descuenta por que ya se habia descontado en el traspaso anterior // Ahora sí se generan dos registros en kardex, uno de entrada y luego uno de salida, para que al final quede igual // Se hace así para mantener un registro de la operación // Se hace primero la entrada AdmonProc.AfectarExistenciaYKardex(ContingenciaCompleta.ParteID, iSucursalID, Cat.OperacionesKardex.EntradaTraspaso , Contingencia.MovimientoInventarioID.ToString(), Contingencia.UsuarioSolucionoID.Valor(), "Conflicto Resuelto Salida" , sOrigen, sDestino, ContingenciaCompleta.Diferencia.Valor() , oPrecio.Costo.Valor(), Cat.Tablas.MovimientoInventario, movimientoSalida.MovimientoInventarioID); // Luego la salida AdmonProc.AfectarExistenciaYKardex(ContingenciaCompleta.ParteID, iSucursalID, Cat.OperacionesKardex.SalidaTraspaso , Contingencia.MovimientoInventarioID.ToString(), Contingencia.UsuarioSolucionoID.Valor(), "Conflicto Resuelto Salida" , sOrigen, sDestino, (ContingenciaCompleta.Diferencia.Valor() * -1) , oPrecio.Costo.Valor(), Cat.Tablas.MovimientoInventario, movimientoSalida.MovimientoInventarioID); #endregion break; case 5: #region [ Traspaso ] //Almacenar traspaso var traspaso = new MovimientoInventario() { TipoOperacionID = Util.Entero(this.cboTipoOperacion.SelectedValue), SucursalOrigenID = ContingenciaCompleta.SucursalOrigenID, SucursalDestinoID = ContingenciaCompleta.SucursalDestinoID, ImporteTotal = 0, FueLiquidado = false, UsuarioSolicitoTraspasoID = Contingencia.UsuarioSolucionoID, ExisteContingencia = false, Observacion = string.Format("{0}: {1}", "Traspaso por resolucion de un Conflicto. Movimiento: ", Contingencia.MovimientoInventarioID) }; Datos.Guardar <MovimientoInventario>(traspaso); //Almacenar el detalle del traspaso if (traspaso.MovimientoInventarioID > 0) { var detalleTraspaso = new MovimientoInventarioDetalle() { MovimientoInventarioID = traspaso.MovimientoInventarioID, ParteID = ContingenciaCompleta.ParteID, Cantidad = Util.Decimal(ContingenciaCompleta.Diferencia), PrecioUnitario = 0, Importe = 0, FueDevolucion = false, FechaRegistro = DateTime.Now, Estatus = true }; Datos.SaveOrUpdate <MovimientoInventarioDetalle>(detalleTraspaso); //No se descuenta por que ya se habia descontado en el primer traspaso } #endregion break; default: break; } } SplashScreen.Close(); this.btnGuardar.Enabled = true; new Notificacion("Conflicto Resuelto exitosamente", 2 * 1000).Mostrar(Principal.Instance); catalogosTraspasos.Instance.CustomInvoke <catalogosTraspasos>(m => m.ActualizarListadoConflictos()); } catch (Exception ex) { SplashScreen.Close(); this.btnGuardar.Enabled = true; Util.MensajeError(ex.Message, GlobalClass.NombreApp); } this.Close(); }
private void btnGuardar_Click(object sender, EventArgs e) { try { var res = Helper.MensajePregunta("¿Está seguro de que la información es correcta?", GlobalClass.NombreApp); if (res == DialogResult.No) { return; } SplashScreen.Show(new Splash()); this.btnGuardar.Enabled = false; this.Cursor = Cursors.WaitCursor; foreach (DataGridViewRow row in this.dgvDatos.Rows) { if (Helper.ConvertirBool(row.Cells["Sel"].Value).Equals(true)) { var parteId = Helper.ConvertirEntero(row.Cells["ParteID"].Value); var sucursalId = Helper.ConvertirEntero(row.Cells["SucursalID"].Value); //Actualizar tabla ParteExistencia, campos Maximo y Minimo var parteExistencia = General.GetEntity <ParteExistencia>(p => p.ParteID == parteId && p.SucursalID == sucursalId); if (null != parteExistencia) { parteExistencia.Maximo = Helper.ConvertirEntero(row.Cells["MAX"].Value); parteExistencia.Minimo = Helper.ConvertirEntero(row.Cells["MIN"].Value); Guardar.Generico <ParteExistencia>(parteExistencia); } //Actualizar tabla Parte, campo TiempoReposicion var parte = General.GetEntity <Parte>(p => p.ParteID == parteId); if (null != parte) { parte.TiempoReposicion = Helper.ConvertirDecimal(row.Cells["TiempoReposicion"].Value); Guardar.Generico <Parte>(parte); } var mxmn = General.GetEntity <ParteMxMn>(p => p.ParteID == parteId && p.SucursalID == sucursalId && p.Estatus); int? max = null; int? min = null; bool fijo = false; if (Helper.ConvertirBool(row.Cells["Fijo"].Value).Equals(true)) { fijo = true; if (!string.IsNullOrEmpty(Helper.ConvertirCadena(row.Cells["MAX"].Value))) { max = Helper.ConvertirEntero(row.Cells["MAX"].Value); } if (!string.IsNullOrEmpty(Helper.ConvertirCadena(row.Cells["MIN"].Value))) { min = Helper.ConvertirEntero(row.Cells["MIN"].Value); } } if (null == mxmn) //Nuevo registro { mxmn = new ParteMxMn() { EsFijo = fijo, ParteID = parteId, SucursalID = sucursalId, Criterio = !string.IsNullOrEmpty(Helper.ConvertirCadena(row.Cells["Criterio"].Value)) ? Helper.ConvertirCadena(row.Cells["Criterio"].Value) : null, AjusteMn = !string.IsNullOrEmpty(Helper.ConvertirCadena(row.Cells["AjusteMn"].Value)) ? Helper.ConvertirCadena(row.Cells["AjusteMn"].Value) : null, AjusteMx = !string.IsNullOrEmpty(Helper.ConvertirCadena(row.Cells["AjusteMx"].Value)) ? Helper.ConvertirCadena(row.Cells["AjusteMx"].Value) : null, Maximo = max, Minimo = min }; } else { mxmn.EsFijo = fijo; mxmn.Criterio = Helper.ConvertirCadena(row.Cells["Criterio"].Value); mxmn.AjusteMn = Helper.ConvertirCadena(row.Cells["AjusteMn"].Value); mxmn.AjusteMx = Helper.ConvertirCadena(row.Cells["AjusteMx"].Value); mxmn.Maximo = max; mxmn.Minimo = min; } Guardar.Generico <ParteMxMn>(mxmn); this.actualizarParteMxMnCriterio(mxmn.ParteMxMnID, Helper.ConvertirCadena(row.Cells["CriteriosGenerales"].Value)); } } this.Cursor = Cursors.Default; SplashScreen.Close(); this.btnGuardar.Enabled = true; new Notificacion("Información almacenada correctamente.", 2 * 1000).Mostrar(Principal.Instance); this.CargaInicial(); } catch (Exception ex) { this.Cursor = Cursors.Default; SplashScreen.Close(); this.btnGuardar.Enabled = true; Helper.MensajeError(ex.Message, GlobalClass.NombreApp); } }
protected override void btnGuardar_Click(object sender, EventArgs e) { if (!Validaciones()) { return; } var res = Util.MensajePregunta("¿Está seguro de que la información es correcta?", GlobalClass.NombreApp); if (res.Equals(DialogResult.No)) { return; } SplashScreen.Show(new Splash()); this.btnGuardar.Enabled = false; try { var listaSeleccion = new List <RelacionParteModelo>(); foreach (var fila in dgvSeleccion.Rows) { var aplicacion = (DataGridViewRow)fila; var ids = new List <int>(); var anios = new List <int>(); if (!string.IsNullOrEmpty(aplicacion.Cells["MotoresIDs"].Value.ToString())) { var elements = aplicacion.Cells["MotoresIDs"].Value.ToString().Split(new[] { ',' }, System.StringSplitOptions.RemoveEmptyEntries); foreach (string item in elements) { ids.Add(Util.Entero(item)); } } if (!string.IsNullOrEmpty(aplicacion.Cells["Anios"].Value.ToString())) { var elements = aplicacion.Cells["Anios"].Value.ToString().Split(new[] { ',' }, System.StringSplitOptions.RemoveEmptyEntries); foreach (string item in elements) { anios.Add(Util.Entero(item)); } } var relacion = new RelacionParteModelo() { ParteID = Util.Entero(aplicacion.Cells["ParteID"].Value), ModeloID = Util.Entero(aplicacion.Cells["ModeloID"].Value), TipoFuenteID = Util.Entero(this.cboTipoFuente.SelectedValue), MotorIDs = ids, Anios = anios }; listaSeleccion.Add(relacion); } //var aplicacionesActuales = General.GetListOf<ParteVehiculo>(p => p.ParteID.Equals(Parte.ParteID)); foreach (var item in listaSeleccion) { //Valida que MotorIDs y Anios tengan al menos un valor if (item.Anios.Count > 0 && item.MotorIDs.Count > 0) { foreach (var motorId in item.MotorIDs) { foreach (var anio in item.Anios) { var parteVehiculo = new ParteVehiculo(); parteVehiculo = Datos.GetEntity <ParteVehiculo>(p => p.ParteID == Parte.ParteID && p.MotorID == motorId && p.Anio == anio && p.ModeloID == item.ModeloID); if (parteVehiculo == null) { parteVehiculo = new ParteVehiculo() { ParteID = item.ParteID, TipoFuenteID = item.TipoFuenteID, MotorID = motorId, ModeloID = item.ModeloID, Anio = anio, RegistroUsuarioID = GlobalClass.UsuarioGlobal.UsuarioID, UsuarioID = GlobalClass.UsuarioGlobal.UsuarioID, FechaRegistro = DateTime.Now }; } else { parteVehiculo.ParteID = item.ParteID; parteVehiculo.TipoFuenteID = item.TipoFuenteID; parteVehiculo.MotorID = motorId; parteVehiculo.ModeloID = item.ModeloID; parteVehiculo.Anio = anio; parteVehiculo.RegistroUsuarioID = GlobalClass.UsuarioGlobal.UsuarioID; parteVehiculo.UsuarioID = GlobalClass.UsuarioGlobal.UsuarioID; parteVehiculo.FechaRegistro = DateTime.Now; } Datos.SaveOrUpdate <ParteVehiculo>(parteVehiculo); } } } //Valida que solo MotorIDs tenga valores if (item.Anios.Count <= 0 && item.MotorIDs.Count > 0) { foreach (var motorId in item.MotorIDs) { var parteVehiculo = new ParteVehiculo(); parteVehiculo = Datos.GetEntity <ParteVehiculo>(p => p.ParteID == Parte.ParteID && p.MotorID == motorId && p.Anio == null && p.ModeloID == item.ModeloID); if (parteVehiculo == null) { parteVehiculo = new ParteVehiculo() { ParteID = item.ParteID, TipoFuenteID = item.TipoFuenteID, MotorID = motorId, ModeloID = item.ModeloID, Anio = null, RegistroUsuarioID = GlobalClass.UsuarioGlobal.UsuarioID, UsuarioID = GlobalClass.UsuarioGlobal.UsuarioID, FechaRegistro = DateTime.Now }; } else { parteVehiculo.ParteID = item.ParteID; parteVehiculo.TipoFuenteID = item.TipoFuenteID; parteVehiculo.MotorID = motorId; parteVehiculo.ModeloID = item.ModeloID; parteVehiculo.Anio = null; parteVehiculo.RegistroUsuarioID = GlobalClass.UsuarioGlobal.UsuarioID; parteVehiculo.UsuarioID = GlobalClass.UsuarioGlobal.UsuarioID; parteVehiculo.FechaRegistro = DateTime.Now; } Datos.SaveOrUpdate <ParteVehiculo>(parteVehiculo); } } //Valida que solo Anios tenga valores if (item.Anios.Count > 0 && item.MotorIDs.Count <= 0) { foreach (var anio in item.Anios) { var parteVehiculo = new ParteVehiculo(); parteVehiculo = Datos.GetEntity <ParteVehiculo>(p => p.ParteID == Parte.ParteID && p.MotorID == null && p.Anio == anio && p.ModeloID == item.ModeloID); if (parteVehiculo == null) { parteVehiculo = new ParteVehiculo() { ParteID = item.ParteID, TipoFuenteID = item.TipoFuenteID, MotorID = null, ModeloID = item.ModeloID, Anio = anio, RegistroUsuarioID = GlobalClass.UsuarioGlobal.UsuarioID, UsuarioID = GlobalClass.UsuarioGlobal.UsuarioID, FechaRegistro = DateTime.Now }; } else { parteVehiculo.ParteID = item.ParteID; parteVehiculo.TipoFuenteID = item.TipoFuenteID; parteVehiculo.MotorID = null; parteVehiculo.ModeloID = item.ModeloID; parteVehiculo.Anio = anio; parteVehiculo.RegistroUsuarioID = GlobalClass.UsuarioGlobal.UsuarioID; parteVehiculo.UsuarioID = GlobalClass.UsuarioGlobal.UsuarioID; parteVehiculo.FechaRegistro = DateTime.Now; } Datos.SaveOrUpdate <ParteVehiculo>(parteVehiculo); } } //Valida que ninguno tenga valores if (item.Anios.Count <= 0 && item.MotorIDs.Count <= 0) { var parteVehiculo = new ParteVehiculo(); parteVehiculo = Datos.GetEntity <ParteVehiculo>(p => p.ParteID == Parte.ParteID && p.MotorID == null && p.Anio == null && p.ModeloID == item.ModeloID); if (parteVehiculo == null) { parteVehiculo = new ParteVehiculo() { ParteID = item.ParteID, TipoFuenteID = item.TipoFuenteID, MotorID = null, ModeloID = item.ModeloID, Anio = null, RegistroUsuarioID = GlobalClass.UsuarioGlobal.UsuarioID, UsuarioID = GlobalClass.UsuarioGlobal.UsuarioID, FechaRegistro = DateTime.Now }; } else { parteVehiculo.ParteID = item.ParteID; parteVehiculo.TipoFuenteID = item.TipoFuenteID; parteVehiculo.MotorID = null; parteVehiculo.ModeloID = item.ModeloID; parteVehiculo.Anio = null; parteVehiculo.RegistroUsuarioID = GlobalClass.UsuarioGlobal.UsuarioID; parteVehiculo.UsuarioID = GlobalClass.UsuarioGlobal.UsuarioID; parteVehiculo.FechaRegistro = DateTime.Now; } Datos.SaveOrUpdate <ParteVehiculo>(parteVehiculo); } } SplashScreen.Close(); this.btnGuardar.Enabled = true; new Notificacion("Aplicaciones Guardadas exitosamente", 2 * 1000).Mostrar(Principal.Instance); } catch (Exception ex) { SplashScreen.Close(); this.btnGuardar.Enabled = true; Util.MensajeError(ex.Message, GlobalClass.NombreApp); } this.Close(); }
private void btnAceptar_Click(object sender, EventArgs e) { try { SplashScreen.Show(new Splash()); if (!loadConfiguraciones()) { Negocio.Helper.MensajeError("No se pudo cargar la configuración inicial.", GlobalClass.NombreApp); return; } if (txtUsuario.TextLength.Equals(0) || txtContrasena.TextLength.Equals(0)) { intentos += 1; Negocio.Helper.MensajeAdvertencia("Los datos proporcionados son incorrectos." + " Intentos restantes: " + (3 - intentos).ToString(), GlobalClass.NombreApp); if (intentos > 2) { this.Close(); } return; } var usuario = General.GetEntity <Usuario>(u => u.NombreUsuario.Equals(txtUsuario.Text.ToLower()) && u.Contrasenia.Equals(txtContrasena.Text.ToLower()) && u.Estatus.Equals(true)); if (usuario != null) { var usuarioGlobal = new UsuarioSis(); usuarioGlobal.UsuarioID = usuario.UsuarioID; usuarioGlobal.NombreUsuario = usuario.NombreUsuario; usuarioGlobal.NombrePersona = usuario.NombrePersona; usuarioGlobal.Perfiles = General.GetListOf <UsuarioPerfilesView>(up => up.UsuarioID.Equals(usuario.UsuarioID)); var ppv = General.GetListOf <PerfilPermisosView>().ToList(); var permisos = new List <PerfilPermisosView>(); foreach (var perfil in usuarioGlobal.Perfiles) { var items = ppv.Where(p => p.PerfilID == perfil.PerfilID); foreach (var item in items) { permisos.Add(item); } } usuarioGlobal.Permisos = permisos; GlobalClass.UsuarioGlobal = usuarioGlobal; existe = true; this.Close(); } if (!existe) { intentos += 1; Negocio.Helper.MensajeAdvertencia("Los datos proporcionados son incorrectos." + " Intentos restantes: " + (3 - intentos).ToString(), GlobalClass.NombreApp); if (intentos > 2) { this.Close(); } } } catch (Exception ex) { string msj = string.Empty; if (ex.InnerException == null) { msj = string.Format("msj:{0}.", ex.Message); } else { msj = string.Format("msj:{0}. inner:{1}.", ex.Message, ex.InnerException); } Helper.MensajeError(msj, GlobalClass.NombreApp); } SplashScreen.Close(); }