/// <summary>
        /// Redirecciona al visor de edición del registro en curso
        /// </summary>
        public void IrAEditar()
        {
            try
            {
                #region SC0008 - Envio de datos completo para las configuraciones de perfil facturista
                ConfiguracionAlertaBO configuracion = new ConfiguracionAlertaBO();
                if (this.vista.PerfilID.HasValue)
                {
                    ConfiguracionAlertaPerfilBO configuracionPerfil = new ConfiguracionAlertaPerfilBO();
                    configuracionPerfil.Perfil = new BPMO.Seguridad.BO.PerfilBO {
                        Id = this.vista.PerfilID.Value
                    };
                    configuracion = configuracionPerfil;
                }

                configuracion.ConfiguracionAlertaID = this.vista.ConfiguracionAlertaID;
                configuracion.Empleado = new EmpleadoBO {
                    Id = this.vista.EmpleadoID, NombreCompleto = this.vista.EmpleadoNombre, Email = this.vista.CorreoElectronico
                };
                configuracion.Sucursal = new SucursalBO {
                    Id = this.vista.SucursalID, Nombre = this.vista.SucursalNombre
                };
                configuracion.NumeroDias = this.vista.NumeroDias;
                #endregion

                this.vista.EstablecerPaqueteNavegacion("ConfiguracionAlertaBO", configuracion);
                this.vista.RedirigirAEditar();
            }
            catch (Exception ex)
            {
                throw new Exception(this.nombreClase + ".IrAEditar: " + ex.GetBaseException().Message);
            }
        }
        /// <summary>
        /// Asigna los datos de un objeto a los campos correspondientes de la vista
        /// </summary>
        /// <param name="obj">Objeto que contiene los datos a visualizar</param>
        private void DatoAInterfazUsuario(ConfiguracionAlertaBO bo)
        {
            if (bo.Sucursal == null)
            {
                bo.Sucursal = new SucursalBO();
            }
            if (bo.Empleado == null)
            {
                bo.Empleado = new EmpleadoBO();
            }
            if (bo.Auditoria == null)
            {
                bo.Auditoria = new AuditoriaBO();
            }

            this.vista.ConfiguracionAlertaID = bo.ConfiguracionAlertaID;
            this.vista.SucursalID            = bo.Sucursal.Id;
            this.vista.SucursalNombre        = bo.Sucursal.Nombre;
            this.vista.EmpleadoID            = bo.Empleado.Id;
            this.vista.EmpleadoNombre        = bo.Empleado.NombreCompleto;
            this.vista.CorreoElectronico     = bo.Empleado.Email;
            this.vista.NumeroDias            = bo.NumeroDias;
            this.vista.Estatus = bo.Estatus;
            this.vista.UC      = bo.Auditoria.UC;
            this.vista.FC      = bo.Auditoria.FC;

            if (bo is ConfiguracionAlertaPerfilBO)
            {
                this.vista.PerfilID = (bo as ConfiguracionAlertaPerfilBO).Perfil.Id;
            }
        }
        /// <summary>
        /// Genera un registro a partir de los campos capturados en la vista
        /// </summary>
        /// <returns>Objeto generador a partir de los datos visualizados</returns>
        private object InterfazUsuarioADato()
        {
            ConfiguracionAlertaBO bo = new ConfiguracionAlertaBO
            {
                NumeroDias = this.vista.NumeroDias,
                Estatus    = this.vista.Estatus,
                Sucursal   = new SucursalBO
                {
                    Id = vista.SucursalID,
                    UnidadOperativa = new UnidadOperativaBO
                    {
                        Id = this.vista.UnidadOperativaID
                    }
                },
                Empleado = new EmpleadoBO
                {
                    Id = vista.EmpleadoID
                },
                Auditoria = new AuditoriaBO
                {
                    FC  = this.vista.FC,
                    FUA = this.vista.FUA,
                    UC  = this.vista.UC,
                    UUA = this.vista.UUA
                }
            };

            return(bo);
        }
        /// <summary>
        /// Realiza la consulta de datos a partir de los campos campturados en la vista
        /// </summary>
        public void Consultar()
        {
            string s;

            if ((s = this.ValidarCampos()) != null)
            {
                this.vista.MostrarMensaje(s, ETipoMensajeIU.ADVERTENCIA, null);
                return;
            }

            try
            {
                ConfiguracionAlertaBO bo          = (ConfiguracionAlertaBO)this.InterfazUsuarioADato();
                SeguridadBO           seguridadBO = this.CrearObjetoSeguridad();

                //SC0008 - Se agrega a los parámetros de consulta el objeto seguridadBO que es requerido
                List <ConfiguracionAlertaBO> lst = this.controlador.ConsultarCompleto(this.dctx, bo, seguridadBO);

                if (lst.Count < 1)
                {
                    this.vista.MostrarMensaje("La búsqueda no produjo resultados", ETipoMensajeIU.INFORMACION,
                                              "No se encontraron coincidencias con los criterios ingresados. Verifique sus datos");
                }

                this.vista.EstablecerResultado(lst);
            }
            catch (Exception ex)
            {
                throw new Exception(nombreClase + ".Consultar: " + ex.GetBaseException().Message);
            }
        }
        /// <summary>
        /// Asigna los datos de un objeto a los campos correspondientes de la vista
        /// </summary>
        /// <param name="obj">Objeto que contiene los datos a visualizar</param>
        private void DatoAInterfazUsuario(Object obj)
        {
            ConfiguracionAlertaBO bo = (ConfiguracionAlertaBO)obj;

            if (bo.Empleado == null)
            {
                bo.Empleado = new EmpleadoBO();
            }

            if (bo.Sucursal == null)
            {
                bo.Sucursal = new SucursalBO();
            }

            this.vista.ConfiguracionAlertaID = bo.ConfiguracionAlertaID;
            this.vista.EmpleadoID            = bo.Empleado.Id;
            this.vista.EmpleadoNombre        = bo.Empleado.NombreCompleto;
            this.vista.SucursalID            = bo.Sucursal.Id;
            this.vista.SucursalNombre        = bo.Sucursal.Nombre;
            this.vista.CorreoElectronico     = bo.Empleado.Email;
            this.vista.Estatus    = bo.Estatus;
            this.vista.NumeroDias = bo.NumeroDias;

            #region SC0008 - Guardado del perfil asociado a la configuracion
            if (bo is ConfiguracionAlertaPerfilBO)
            {
                this.vista.PerfilID = (bo as ConfiguracionAlertaPerfilBO).Perfil.Id;
            }
            #endregion
        }
        /// <summary>
        /// Realiza la consulta de datos a partir de los campos campturados en la vista
        /// </summary>
        private void Consultar()
        {
            try
            {
                ConfiguracionAlertaBO bo          = (ConfiguracionAlertaBO)this.InterfazUsuarioADato();
                SeguridadBO           seguridadBO = this.CrearObjetoSeguridad();

                List <ConfiguracionAlertaBO> lst = this.controlador.ConsultarCompleto(this.dctx, bo, seguridadBO);

                if (lst.Count < 1)
                {
                    throw new Exception("No se encontró ningún registro que corresponda a la información proporcionada.");
                }
                if (lst.Count > 1)
                {
                    throw new Exception("La consulta devolvió más de un registro.");
                }

                this.DatoAInterfazUsuario(lst[0]);
            }
            catch (Exception ex)
            {
                this.DatoAInterfazUsuario(new ConfiguracionAlertaBO());
                throw new Exception(this.nombreClase + ".ConsultarCompleto:" + ex.GetBaseException().Message);
            }
        }
        /// <summary>
        /// Realiza la validación de los datos capturados para detectar errores o inconsistencias
        /// </summary>
        /// <returns>Objeto de tipo String que contiene el error detectado, en caso contrario devolverá nulo</returns>
        public String ValidarCampos()
        {
            string s = "";

            if (this.vista.UnidadOperativaID == null)
            {
                s += "Unidad Operativa, ";
            }
            if (this.vista.SucursalID == null)
            {
                s += "Sucursal, ";
            }
            if (this.vista.EmpleadoID == null)
            {
                s += "Empleado, ";
            }
            if (this.vista.CorreoElectronico == null)
            {
                s += "Correo Electrónico, ";
            }
            if (this.vista.Estatus == null)
            {
                s += "Estatus, ";
            }
            if (this.vista.NumeroDias == null)
            {
                s += "Número Días, ";
            }

            if (s.Trim().CompareTo("") != 0)
            {
                return("Los siguientes campos no pueden estar vacíos: \n" + s.Substring(0, s.Length - 2));
            }

            ConfiguracionAlertaBO bo = new ConfiguracionAlertaBO
            {
                Sucursal = new SucursalBO {
                    Id = this.vista.SucursalID
                },
                Empleado = new EmpleadoBO {
                    Id = this.vista.EmpleadoID
                }
            };

            SeguridadBO seguridadBO = this.CrearObjetoSeguridad();

            //SC0008 - Se cambia el proceso de Validación de existencia considerando los empleados facturistas que tienen configuración automática
            bool any = this.controlador.ConsultarExistencia(this.dctx, bo, seguridadBO);

            if (any)
            {
                return("Ya existe una configuración de alerta para el usuario seleccionado en la sucursal seleccionada");
            }

            return(null);
        }
        /// <summary>
        /// Genera un registro a partir de los campos capturados en la vista
        /// </summary>
        /// <returns>Objeto generador a partir de los datos visualizados</returns>
        private Object InterfazUsuarioADato()
        {
            ConfiguracionAlertaBO bo = new ConfiguracionAlertaBO
            {
                ConfiguracionAlertaID = this.vista.ConfiguracionAlertaID,
                Sucursal = new SucursalBO(),
                Empleado = new EmpleadoBO()
            };

            return(bo);
        }
        /// <summary>
        /// Genera un registro a partir de los campos capturados en la vista
        /// </summary>
        /// <returns>Objeto generador a partir de los datos capturador</returns>
        private Object InterfazUsuarioADato()
        {
            ConfiguracionAlertaBO bo = new ConfiguracionAlertaBO
            {
                Sucursal = new SucursalBO {
                    Id = this.vista.SucursalID
                },
                Empleado = new EmpleadoBO {
                    Id = this.vista.EmpleadoID
                },
                Estatus = this.vista.Estatus
            };

            return(bo);
        }
Esempio n. 10
0
        /// <summary>
        /// Evento que se ejecuta cuando se ligan los datos con el Grid
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void grdConfiguracionesAlerta_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                ConfiguracionAlertaBO           configuracion        = e.Row.DataItem as ConfiguracionAlertaBO;
                System.Web.UI.WebControls.Image imgTipoConfiguracion = (System.Web.UI.WebControls.Image)e.Row.FindControl("imgTipoConfiguracion");

                if (configuracion is ConfiguracionAlertaPerfilBO)
                {
                    imgTipoConfiguracion.ImageUrl = "~/Contenido/Imagenes/ico.usuario.certificado.png";
                    imgTipoConfiguracion.ToolTip  = String.Format("Configuración Automática para empleado con perfil {0}", (configuracion as ConfiguracionAlertaPerfilBO).Perfil.NombreCorto);
                    //e.Row.ForeColor = Color.FromArgb(0, 113, 188);
                }
            }
        }
        /// <summary>
        /// Realiza la carga del registro al editar
        /// </summary>
        public void RealizarPrimeraCarga()
        {
            ConfiguracionAlertaBO confiuguracion = this.vista.ObtenerPaqueteNavegacion("ConfiguracionAlertaBO") as ConfiguracionAlertaBO;

            this.EstablecerDatosNavegacion(confiuguracion);
            this.PrepararEdicion();

            this.LimpiarSesion();

            #region SC0008 - Aplicación de condición de búsqueda cuando no sea facturista
            if (!(confiuguracion is ConfiguracionAlertaPerfilBO))
            {
                this.Consultar();
            }
            #endregion
            this.EstablecerSeguridad();
        }
        /// <summary>
        /// Guarda los cambios capturados y se rediriege al visor invocador
        /// </summary>
        public void Editar()
        {
            string s;

            if ((s = this.ValidarCampos()) != null)
            {
                this.vista.MostrarMensaje(s, ETipoMensajeIU.ADVERTENCIA, null);
                return;
            }

            try
            {
                ConfiguracionAlertaBO bo = (ConfiguracionAlertaBO)this.InterfazUsuarioADato();

                //Se crea el objeto de seguridad
                SeguridadBO seguridadBO = this.CrearObjetoSeguridad();

                this.controlador.Actualizar(this.dctx, bo, this.vista.UltimoObjeto as ConfiguracionAlertaBO, seguridadBO);

                #region SC0008 - Recuperación de configuración de facturista que fue modificado
                if (bo is ConfiguracionAlertaPerfilBO)
                {
                    //Se consulta lo insertado para recuperar los ID
                    List <ConfiguracionAlertaBO> ls = this.controlador.Consultar(this.dctx, bo);
                    if (ls.Count <= 0)
                    {
                        throw new Exception("Al consultar lo insertado no se encontraron coincidencias.");
                    }
                    if (ls.Count > 1)
                    {
                        throw new Exception("Al consultar lo insertado se encontró más de una coincidencia.");
                    }

                    bo = ls[0] as ConfiguracionAlertaBO;
                }
                #endregion

                this.vista.LimpiarSesion();
                this.vista.EstablecerPaqueteNavegacion("ConfiguracionAlertaBO", bo);
                this.vista.RedirigirADetalles();
            }
            catch (Exception ex)
            {
                throw new Exception(nombreClase + ".Editar:" + ex.GetBaseException().Message);
            }
        }
        // <summary>
        /// Cambia a la vista de detalle del registro seleccionado
        /// </summary>
        /// <param name="configuracionAlertaBOID">Identificador del registro seleccionado</param>
        public void IrADetalle(dynamic parameters)
        {
            try
            {
                if (parameters == null)
                {
                    throw new Exception("No se encontró el registro seleccionado");
                }

                #region SC0008 - Se agregan la rutina para recuperación de una configuración que sea de facturista
                ConfiguracionAlertaBO configuracion = new ConfiguracionAlertaBO();
                if (((IDictionary <String, object>)parameters).ContainsKey("PerfilID"))
                {
                    ConfiguracionAlertaPerfilBO configuracionPerfil = new ConfiguracionAlertaPerfilBO();
                    configuracionPerfil.Perfil    = new BPMO.Seguridad.BO.PerfilBO();
                    configuracionPerfil.Perfil.Id = parameters.PerfilID;
                    configuracion = configuracionPerfil;
                }

                configuracion.ConfiguracionAlertaID = parameters.ConfiguracionAlertaID;
                configuracion.Empleado = new EmpleadoBO {
                    Id = parameters.EmpleadoID, NombreCompleto = parameters.EmpleadoNombreCompleto, Email = parameters.EmpleadoEmail
                };
                configuracion.Sucursal = new SucursalBO {
                    Id = parameters.SucursalID, Nombre = parameters.SucursalNombre
                };
                configuracion.NumeroDias = parameters.NumeroDias;
                #endregion

                this.vista.LimpiarSesion();

                Dictionary <string, object> paquete = new Dictionary <string, object>();
                paquete.Add("ObjetoFiltro", this.InterfazUsuarioADato());
                paquete.Add("Bandera", true);

                this.vista.EstablecerPaqueteNavegacion("FiltrosConfiguracionAlerta", paquete);
                this.vista.EstablecerPaqueteNavegacion("ConfiguracionAlertaBO", configuracion);

                this.vista.RedirigirADetalle();
            }
            catch (Exception ex)
            {
                throw new Exception(nombreClase + ".IrADetalle: " + ex.GetBaseException().Message);
            }
        }
        /// <summary>
        /// Genera un registro a partir de los campos capturados en la vista
        /// </summary>
        /// <returns>Objeto generador a partir de los datos visualizados</returns>
        private object InterfazUsuarioADato()
        {
            #region SC0008 - Adición de caso cuando se está editando una configuración de tipo facturista
            ConfiguracionAlertaBO bo = new ConfiguracionAlertaBO();
            if (this.vista.PerfilID.HasValue)
            {
                ConfiguracionAlertaPerfilBO configuracionPerfil = new ConfiguracionAlertaPerfilBO();
                configuracionPerfil.Perfil = new BPMO.Seguridad.BO.PerfilBO {
                    Id = this.vista.PerfilID
                };
                bo = configuracionPerfil;
            }
            #endregion

            bo.ConfiguracionAlertaID = this.vista.ConfiguracionAlertaID;
            bo.NumeroDias            = this.vista.NumeroDias;
            bo.Estatus  = this.vista.Estatus;
            bo.Sucursal = new SucursalBO
            {
                Id              = this.vista.SucursalID,
                Nombre          = this.vista.SucursalNombre,
                UnidadOperativa = new UnidadOperativaBO
                {
                    Id = this.vista.UnidadOperativaID
                }
            };
            bo.Empleado = new EmpleadoBO
            {
                Id             = this.vista.EmpleadoID,
                NombreCompleto = this.vista.EmpleadoNombre,
                Email          = this.vista.CorreoElectronico
            };
            bo.Auditoria = new AuditoriaBO
            {
                FC  = this.vista.FC,
                FUA = this.vista.FUA,
                UC  = this.vista.UC,
                UUA = this.vista.UUA
            };

            return(bo);
        }
        /// <summary>
        /// Asigna los datos de un objeto a los campos correspondientes de la vista
        /// </summary>
        /// <param name="obj">Objeto que contiene los datos a visualizar</param>
        private void DatoAInterfazUsuario(Object obj)
        {
            ConfiguracionAlertaBO bo = (ConfiguracionAlertaBO)obj;

            if (bo.Empleado == null)
            {
                bo.Empleado = new EmpleadoBO();
            }

            if (bo.Sucursal == null)
            {
                bo.Sucursal = new SucursalBO();
            }

            this.vista.EmpleadoID     = bo.Empleado.Id;
            this.vista.EmpleadoNombre = bo.Empleado.NombreCompleto;
            this.vista.SucursalID     = bo.Sucursal.Id;
            this.vista.SucursalNombre = bo.Sucursal.Nombre;
            this.vista.Estatus        = bo.Estatus;
        }
        /// <summary>
        /// Guarda los cambios capturados y se rediriege al visor invocador
        /// </summary>
        public void Registrar()
        {
            string s;

            if ((s = this.ValidarCampos()) != null)
            {
                this.vista.MostrarMensaje(s, ETipoMensajeIU.ADVERTENCIA, null);
                return;
            }

            try
            {
                ConfiguracionAlertaBO bo = (ConfiguracionAlertaBO)this.InterfazUsuarioADato();

                //Se crea el objeto de seguridad
                SeguridadBO seguridadBO = this.CrearObjetoSeguridad();

                this.controlador.Insertar(this.dctx, bo, seguridadBO);

                //Se consulta lo insertado para recuperar los ID
                DataSet ds = this.controlador.ConsultarSet(this.dctx, bo);
                if (ds.Tables[0].Rows.Count <= 0)
                {
                    throw new Exception("Al consultar lo insertado no se encontraron coincidencias.");
                }
                if (ds.Tables[0].Rows.Count > 1)
                {
                    throw new Exception("Al consultar lo insertado se encontró más de una coincidencia.");
                }

                bo.ConfiguracionAlertaID = this.controlador.DataRowToConfiguracionAlertaBO(ds.Tables[0].Rows[0]).ConfiguracionAlertaID;

                this.LimpiarSesion();
                this.vista.EstablecerPaqueteNavegacion("ConfiguracionAlertaBO", bo);
                this.vista.RedirigirADetalles();
            }
            catch (Exception ex)
            {
                throw new Exception(nombreClase + ".Registrar: " + ex.GetBaseException().Message);
            }
        }
        /// <summary>
        /// Establece un paquete de navegación en el visor
        /// </summary>
        /// <param name="key">Índice o identificador del paquete</param>
        /// <param name="value">Valor a asignar dentro del paquete de navegación</param>
        private void EstablecerDatosNavegacion(object paqueteNavegacion)
        {
            try
            {
                if (paqueteNavegacion == null)
                {
                    throw new Exception("Se esperaba un objeto en la navegación. No se puede identificar qué registro se desea consultar.");
                }
                if (!(paqueteNavegacion is ConfiguracionAlertaBO))
                {
                    throw new Exception("Se esperaba un ConfiguracionAlerta.");
                }

                ConfiguracionAlertaBO bo = (ConfiguracionAlertaBO)paqueteNavegacion;
                this.DatoAInterfazUsuario(bo);
            }
            catch (Exception ex)
            {
                this.DatoAInterfazUsuario(new ConfiguracionAlertaBO());
                throw new Exception(this.nombreClase + ".EstablecerDatosNavegacion: " + ex.GetBaseException().Message);
            }
        }
        /// <summary>
        /// Realiza la carga del registro al visualizar
        /// </summary>
        public void RealizarPrimeraCarga()
        {
            try
            {
                this.PrepararVisualizacion();

                ConfiguracionAlertaBO configuracionAlerta = this.vista.ObtenerPaqueteNavegacion("ConfiguracionAlertaBO") as ConfiguracionAlertaBO;
                this.EstablecerDatosNavegacion(configuracionAlerta);
                this.vista.PermitirRegresar(configuracionAlerta != null);

                this.LimpiarSesion();
                #region SC0008 - Búsqueda únicamente paras las connfiguraciones que no sean de facturistas
                if (!(configuracionAlerta is ConfiguracionAlertaPerfilBO))
                {
                    this.Consultar();
                }
                #endregion
                this.EstablecerSeguridad();
            }
            catch (Exception ex)
            {
                throw new Exception(this.nombreClase + ".RealizarPrimeraCarga: " + ex.GetBaseException().Message);
            }
        }