private SeguridadBO ObtenerSeguridad()
        {
            try
            {
                SeguridadBO seguridad = null;
                if (this.vista.UsuarioId == null)
                {
                    throw new Exception(nombreClase + ".ObtenerSeguridad(): Error al intentar obtener el usuario autenticado");
                }
                if (this.vista.UnidadOperativaId == null)
                {
                    throw new Exception(nombreClase + ".ObtenerSeguridad(): Error al intentar obtener la Unidad Operativa de la Adscripción");
                }

                var unidadOperativaAdscripcion = new AdscripcionBO
                {
                    UnidadOperativa = new UnidadOperativaBO {
                        Id = this.vista.UnidadOperativaId
                    }
                };

                var usuarioLogueado = new UsuarioBO {
                    Id = this.vista.UsuarioId
                };
                seguridad = new SeguridadBO(Guid.Empty, usuarioLogueado, unidadOperativaAdscripcion);
                return(seguridad);
            }
            catch (Exception ex)
            {
                throw new Exception(nombreClase + ".Obtener Seguridad:" + ex.Message);
            }
        }
        /// <summary>
        /// Metodo que realiza la edición de una tarea pendiente por medio del controlador
        /// </summary>
        internal void Editar()
        {
            string s;

            if (!String.IsNullOrEmpty((s = this.ValidarDatos())))
            {
                this.vista.MostrarMensaje("Los siguientes datos son incorrectos:" + s.Substring(1), ETipoMensajeIU.ADVERTENCIA, null);
                return;
            }

            //Se obtiene la información a partir de la Interfaz de Usuario
            TareaPendienteBO obj = (TareaPendienteBO)this.InterfazUsuarioADato();

            //Se crea el objeto de seguridad
            UsuarioBO     usuario     = this.vista.Usuario;
            AdscripcionBO adscripcion = new AdscripcionBO()
            {
                UnidadOperativa = this.vista.UnidadOperativa
            };
            SeguridadBO seguridadBO = new SeguridadBO(Guid.Empty, usuario, adscripcion);

            this.controlador.Actualizar(dctx, obj, seguridadBO);
            this.vista.MostrarMensaje("Edición Exitosa", ETipoMensajeIU.EXITO, null);
            this.vista.EstablecerPaqueteNavegacion("RecargarTareas", null);
            this.vista.DeshabilitarCamposEdicion();
            this.vista.PermitirEdicionEstatus(false);
        }
예제 #3
0
        /// <summary>
        /// Registra el archivo en la BD
        /// </summary>
        private void Registrar()
        {
            try
            {
                //Se obtiene la información a partir de la interfaz de usuario
                PlantillaBO bo = (PlantillaBO)this.InterfazUsuarioADato();

                //Se crea el objeto seguridad
                UsuarioBO usuario = new UsuarioBO()
                {
                    Id = this.vista.UsuarioID
                };
                AdscripcionBO adscripcion = new AdscripcionBO()
                {
                    UnidadOperativa = new UnidadOperativaBO()
                    {
                        Id = this.vista.UnidadOperativaID
                    }
                };
                SeguridadBO seguridadBO = new SeguridadBO(Guid.Empty, usuario, adscripcion);

                //Se inserta en la BD
                this.controlador.Insertar(this.dctx, bo, seguridadBO);
            }
            catch (Exception ex)
            {
                throw new Exception(string.Format("{0}.Registrar:{1}{2}", nombreClase, Environment.NewLine, ex.Message));
            }
        }
예제 #4
0
        /// <summary>
        /// Edita la unidad
        /// </summary>
        private void Editar()
        {
            //Se obtiene la información del contrato a partir de la vista
            var bo = (UnidadBO)this.InterfazUsuarioADato();

            //Se crea el objeto de seguridad
            UsuarioBO usuario = new UsuarioBO()
            {
                Id = this.vista.UsuarioID
            };
            AdscripcionBO adscripcion = new AdscripcionBO()
            {
                UnidadOperativa = new UnidadOperativaBO()
                {
                    Id = this.vista.UnidadOperativaID
                }
            };

            SeguridadBO seguridadBO = new SeguridadBO(Guid.Empty, usuario, adscripcion);

            //Se actualiza en la base de datos
            var mnj = new StringBuilder(string.Format("Sucursal {0}, Empresa {1}. ", this.vista.SucursalActualNombre, this.vista.EmpresaActualNombre));

            mnj.Append(this.vista.Observaciones);

            this.controlador.ActualizarAsignacionEquiposAliados(dctx, bo, (UnidadBO)this.vista.UltimoObjeto, mnj.ToString(), seguridadBO);
        }
        public void Cancelar()
        {
            try
            {
                ReservacionRDBO bo     = (ReservacionRDBO)this.InterfazUsuarioADato();
                ReservacionRDBO ultimo = (ReservacionRDBO)this.InterfazUsuarioADato();

                bo.Activo = false;

                //Se crea el objeto de seguridad
                UsuarioBO usuario = new UsuarioBO()
                {
                    Id = this.vista.UsuarioID
                };
                AdscripcionBO adscripcion = new AdscripcionBO()
                {
                    UnidadOperativa = new UnidadOperativaBO()
                    {
                        Id = this.vista.UnidadOperativaID
                    }
                };
                SeguridadBO seguridadBO = new SeguridadBO(Guid.Empty, usuario, adscripcion);

                this.controlador.Actualizar(this.dctx, bo, ultimo, seguridadBO);

                this.Regresar();
            }
            catch (Exception ex)
            {
                throw new Exception(this.nombreClase + ".Cancelar: " + ex.Message);
            }
        }
예제 #6
0
        public void ValidarAcceso()
        {
            try
            {
                //Creación del objeto seguridad
                UsuarioBO usuario = new UsuarioBO {
                    Id = this.vista.UC
                };
                AdscripcionBO adscripcion = new AdscripcionBO
                {
                    UnidadOperativa = new UnidadOperativaBO {
                        Id = this.vista.UnidadOperativaId
                    }
                };
                SeguridadBO seguridad = new SeguridadBO(Guid.Empty, usuario, adscripcion);

                //Se valida si el usuario tiene permiso a la acción principal
                if (!FacadeBR.ExisteAccion(this.dctx, "CONSULTAR", seguridad))
                {
                    this.vista.RedirigirSinPermisoAcceso();
                }
            }
            catch (Exception ex)
            {
                throw new Exception(this.nombreClase + ".ValidarAcceso:" + ex.Message);
            }
        }
        /// <summary>
        /// Edita el equipo aliado
        /// </summary>
        private void Editar()
        {
            //Se obtiene la información del contrato a partir de la vista
            var bo = (EquipoAliadoBO)this.InterfazUsuarioADato();

            //Se crea el objeto de seguridad
            UsuarioBO usuario = new UsuarioBO()
            {
                Id = this.vista.UsuarioID
            };
            AdscripcionBO adscripcion = new AdscripcionBO()
            {
                UnidadOperativa = new UnidadOperativaBO()
                {
                    Id = this.vista.UnidadOperativaID
                }
            };
            SeguridadBO seguridadBO = new SeguridadBO(Guid.Empty, usuario, adscripcion);

            var temp = new EquipoAliadoBO
            {
                EquipoAliadoID = bo.EquipoAliadoID,
            };
            EquipoAliadoBR equipoAliadoBR = new EquipoAliadoBR();
            var            elementos      = equipoAliadoBR.Consultar(dctx, temp);

            if (elementos != null && elementos.Count > 0)
            {
                temp = elementos[0];
            }


            this.controlador.ActualizarEquipoAliadoSucursal(dctx, bo, temp, seguridadBO);
        }
예제 #8
0
        /// <summary>
        /// Valida el permiso de acceso a la página
        /// </summary>
        public void EstablecerSeguridad()
        {
            try
            {
                //se valida que los datos del usuario y la unidad operativa no sean nulos
                if (this.vista.UsuarioID == null) throw new Exception("El identificador del usuario no debe ser nulo");
                if (this.vista.UnidadAdscripcionID == null) throw new Exception("El identificador de la Unidad Operativa no debe ser nulo ");

                //Se crea el objeto de seguridad
                UsuarioBO usr = new UsuarioBO {Id = this.vista.UsuarioID};
                AdscripcionBO sdscripcion = new AdscripcionBO { UnidadOperativa = new UnidadOperativaBO { Id = this.vista.UnidadAdscripcionID } };
                SeguridadBO seguridadBO = new SeguridadBO(Guid.Empty, usr, sdscripcion);

                //Se obtienen las acciones a las cuales el usuario tiene permiso en este proceso
                List<CatalogoBaseBO> lst = FacadeBR.ConsultarAccion(this.dataContext, seguridadBO);

                //Se valida si el usuario tiene permiso para registrar un contrato
                if (!this.ExisteAccion(lst, "INSERTARCOMPLETO"))
                    this.vista.RedirigirSinPermisoAcceso();

                #region RI0008
                //Se valida si el usuario tiene permiso para registrar contrato en curso
                if (!this.ExisteAccion(lst, "GENERARPAGOS"))
                    this.vista.PermitirGuardarEnCurso(false); 
                #endregion
            }
            catch (Exception ex)
            {
                throw new Exception(nombreClase + ".EstablecerSeguridad:" + ex.Message);
            }
        }
        /// <summary>
        /// Elimina un documento del sistema
        /// </summary>
        private void Eliminar(PlantillaBO archivo)
        {
            try
            {
                //Se crea el objeto seguridad
                UsuarioBO usuario = new UsuarioBO()
                {
                    Id = this.vista.UsuarioID
                };
                AdscripcionBO adscripcion = new AdscripcionBO()
                {
                    UnidadOperativa = new UnidadOperativaBO()
                    {
                        Id = this.vista.UnidadOperativaID
                    }
                };
                SeguridadBO seguridadBO = new SeguridadBO(Guid.Empty, usuario, adscripcion);

                if (archivo != null)
                {
                    var nuevo = new PlantillaBO {
                        Id = archivo.Id.Value, Activo = false, Nombre = archivo.Nombre, NombreCorto = archivo.NombreCorto, TipoPlantilla = archivo.TipoPlantilla
                    };
                    nuevo.Auditoria = new AuditoriaBO {
                        FUA = DateTime.Now, UUA = this.vista.UsuarioID
                    };
                    nuevo.TipoArchivo = archivo.TipoArchivo;
                    this.controlador.Actualizar(this.dctx, nuevo, archivo, seguridadBO);
                }
            }
            catch (Exception ex)
            {
                throw new Exception(string.Format("{0}.Eliminar:{1}{2}", nombreClase, Environment.NewLine, ex.Message));
            }
        }
예제 #10
0
        public void Registrar()
        {
            if (this.vista.Operadores.Count <= 0)
            {
                this.vista.MostrarMensaje("No hay operadores para guardar", ETipoMensajeIU.INFORMACION);
                return;
            }

            try
            {
                //Se crea el objeto de seguridad
                UsuarioBO usuario = new UsuarioBO()
                {
                    Id = this.vista.UC
                };
                AdscripcionBO adscripcion = new AdscripcionBO()
                {
                    UnidadOperativa = new UnidadOperativaBO()
                    {
                        Id = this.vista.UnidadOperativaID
                    }
                };
                SeguridadBO seguridadBO = new SeguridadBO(Guid.Empty, usuario, adscripcion);

                this.controlador.InsertarCompleto(this.dctx, this.vista.Operadores, seguridadBO);

                this.vista.RedirigirAConsulta();
            }
            catch (Exception ex)
            {
                throw new Exception(this.nombreClase + ".Registrar: " + ex.Message);
            }
        }
        private void RegistrarMovimiento()
        {
            //Se obtiene la información del contrato a partir de la vista
            var bo = (UnidadBO)this.InterfazUsuarioADato();

            //Se crea el objeto de seguridad
            UsuarioBO usuario = new UsuarioBO()
            {
                Id = this.vista.UsuarioID
            };
            AdscripcionBO adscripcion = new AdscripcionBO()
            {
                UnidadOperativa = new UnidadOperativaBO()
                {
                    Id = this.vista.UnidadOperativaID
                }
            };

            SeguridadBO seguridadBO = new SeguridadBO(Guid.Empty, usuario, adscripcion);

            //Se actualiza en la base de datos
            var msj = new StringBuilder(string.Format("Sucursal {0}, Empresa {1}. {2} ", this.vista.SucursalNombre, this.vista.NombreEmpresa, Environment.NewLine));

            msj.Append(this.vista.Observaciones);

            this.controlador.RealizarAltaUnidadFlota(this.dctx, bo, (UnidadBO)this.vista.UltimoObjeto, msj.ToString(), seguridadBO);
        }
예제 #12
0
        /// <summary>
        /// Valida el acceso a la página de edición
        /// </summary>
        public void ValidarAcceso()
        {
            try
            {
                //se valida que los datos del usuario y la unidad operativa no sean nulos
                if (this.vista.UsuarioID == null)
                {
                    throw new Exception("El identificador del usuario no debe ser nulo");
                }
                if (this.vista.UnidadAdscripcionID == null)
                {
                    throw new Exception("El identificador de la Unidad Operativa no debe ser nulo ");
                }

                UsuarioBO usr = new UsuarioBO {
                    Id = this.vista.UsuarioID
                };
                AdscripcionBO adscripcion = new AdscripcionBO {
                    UnidadOperativa = new UnidadOperativaBO {
                        Id = this.vista.UnidadAdscripcionID
                    }
                };
                SeguridadBO seguridadBo = new SeguridadBO(Guid.Empty, usr, adscripcion);

                if (!FacadeBR.ExisteAccion(this.dataContext, "ACTUALIZARDOCUMENTO", seguridadBo))
                {
                    this.vista.RedirigirSinPermisoAcceso();
                }
            }
            catch (Exception ex)
            {
                throw new Exception(nombreClase + ".ValidarAcceso:" + ex.Message);
            }
        }
 /// <summary>
 /// Valida el acceso a las funcionalidades del Sistema
 /// </summary>
 public void ValidarAcceso()
 {
     try {
         //Valida que usuario y la unidad operativa no sean nulos
         if (this.vista.UsuarioID == null)
         {
             throw new Exception("El identificador del usuario no debe ser nulo");
         }
         if (this.vista.UnidadOperativaID == null)
         {
             throw new Exception("El identificador de la Unidad Operativa no debe ser nulo");
         }
         //Se crea el objeto de seguridad
         UsuarioBO usuario = new UsuarioBO()
         {
             Id = this.vista.UsuarioID
         };
         AdscripcionBO adscripcion = new AdscripcionBO()
         {
             UnidadOperativa = new UnidadOperativaBO()
             {
                 Id = this.vista.UnidadOperativaID
             }
         };
         SeguridadBO seguridadBO = new SeguridadBO(Guid.Empty, usuario, adscripcion);
     } catch (Exception ex) {
         throw new Exception(this.nombreClase + ".ValidarAcceso: " + ex.Message);
     }
 }
        /// <summary>
        /// Permite configurar el comportamiento de los controles de la vista de acuerdo a los permisos configurados
        /// </summary>
        private void EstablecerSeguridad()
        {
            try {
                //se valida que los datos del usuario y la unidad operativa no sean nulos
                if (this.vista.UsuarioID == null)
                {
                    throw new Exception("El identificador del usuario no debe ser nulo");
                }
                if (this.vista.UnidadAdscripcionID == null)
                {
                    throw new Exception("El identificador de la Unidad Operativa no debe ser nulo ");
                }

                //Se crea el objeto de seguridad
                UsuarioBO usr = new UsuarioBO {
                    Id = this.vista.UsuarioID
                };
                AdscripcionBO adscripcion = new AdscripcionBO {
                    UnidadOperativa = new UnidadOperativaBO {
                        Id = this.vista.UnidadAdscripcionID
                    }
                };
                SeguridadBO seguridadBO = new SeguridadBO(Guid.Empty, usr, adscripcion);

                //Se obtiene las acciones a las cuales el usuario tiene permiso en este proceso
                List <CatalogoBaseBO> lst = FacadeBR.ConsultarAccion(this.dataContext, seguridadBO);

                if (!this.ExisteAcccion(lst, "UI INSERTAR"))
                {
                    this.vista.PermitirRegistrar(false);
                }
            } catch (Exception ex) {
                throw new Exception(nombreClase + ".EstablecerSeguridad:" + ex.Message);
            }
        }
예제 #15
0
        internal void Editar()
        {
            string s;

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

            //Se obtiene la información a partir de la Interfaz de Usuario
            EquipoAliadoBO obj = (BO.EquipoAliadoBO) this.InterfazUsuarioADato();

            //Se crea el objeto de seguridad
            UsuarioBO     usuario     = this.vista.Usuario;
            AdscripcionBO adscripcion = new AdscripcionBO()
            {
                UnidadOperativa = this.vista.UnidadOperativa
            };
            SeguridadBO seguridadBO = new SeguridadBO(Guid.Empty, usuario, adscripcion);

            this.controlador.ActualizarCompleto(dctx, obj, this.vista.UltimoObjeto, seguridadBO);

            this.vista.MostrarMensaje("Edición Exitosa", ETipoMensajeIU.EXITO, null);

            this.VerDetalles(obj);
        }
        /// <summary>
        /// Valida el acceso a la página de edición
        /// </summary>
        public void ValidarAcceso()
        {
            try {
                //Valida que usuario y la unidad operativa no sean nulos
                if (this.vista.UsuarioID == null)
                {
                    throw new Exception("El identificador del usuario no debe ser nulo");
                }
                if (this.vista.UnidadOperativaID == null)
                {
                    throw new Exception("El identificador de la Unidad Operativa no debe ser nulo");
                }
                //Se crea el objeto de seguridad
                UsuarioBO usuario = new UsuarioBO()
                {
                    Id = this.vista.UsuarioID
                };
                AdscripcionBO adscripcion = new AdscripcionBO()
                {
                    UnidadOperativa = new UnidadOperativaBO()
                    {
                        Id = this.vista.UnidadOperativaID
                    }
                };
                SeguridadBO seguridadBO = new SeguridadBO(Guid.Empty, usuario, adscripcion);

                //Se valida si el usuario tiene permiso a la acción principal
                if (!FacadeBR.ExisteAccion(this.dctx, "TERMINAR", seguridadBO))
                {
                    this.vista.RedirigirSinPermisoAcceso();
                }
            } catch (Exception ex) {
                throw new Exception(this.nombreClase + ".ValidarAcceso: " + ex.Message);
            }
        }
예제 #17
0
        /// <summary>
        /// Mueve el pago a la Consulta de Pagos Por Facturar
        /// </summary>
        /// <param name="pagoID"></param>
        public void MoverAFacturar(int pagoID)
        {
            object pago    = null;
            string mensaje = "No se puede actualizar el pago, el cliente no cuenta con crédito en tipo de moneda ";

            if (ETipoEmpresa.Idealease == (ETipoEmpresa)this.Vista.UnidadOperativaID)
            {
                pago = new PagoUnidadContratoBOF {
                    PagoID = pagoID
                }
            }
            ;
            else
            {
                pago = new PagoContratoPSLBOF {
                    PagoContratoID = pagoID
                }
            };

            MonitorCreditoClienteBR monitorCreditoBR = new MonitorCreditoClienteBR();
            var usr = new UsuarioBO {
                Id = Vista.UsuarioID
            };
            var adscripcion = new AdscripcionBO {
                UnidadOperativa = new UnidadOperativaBO {
                    Id = Vista.UnidadOperativaID
                }
            };
            var seguridadBO = new SeguridadBO(Guid.Empty, usr, adscripcion);

            if (monitorCreditoBR.LiberarPagoCredito(FacadeBR.ObtenerConexion(), ref pago, seguridadBO))
            {
                // Si es correcto, se quita el pago de la lista de pagos no-facturados.
                if (pago is PagoUnidadContratoBOF || pago is PagoUnidadContratoBO)
                {
                    this.Vista.PagosConsultados.Remove(Vista.PagosConsultados.First(p => p.PagoID == (pago as PagoUnidadContratoBO).PagoID));
                }
                else if (pago is PagoContratoPSLBO)
                {
                    this.Vista.PagosConsultadosPSL.Remove(Vista.PagosConsultadosPSL.First(p => p.PagoContratoID == (pago as PagoContratoPSLBO).PagoContratoID));
                }

                Vista.ActualizarMarcadoresEnviarAFacturar();
                Vista.CargarPagosConsultados();
            }
            else
            {
                if (pago is PagoUnidadContratoBOF || pago is PagoUnidadContratoBO)
                {
                    mensaje += (pago as PagoUnidadContratoBO).Divisa.MonedaDestino.Codigo;
                }
                else if (pago is PagoContratoPSLBO)
                {
                    mensaje += (pago as PagoContratoPSLBO).Divisa.MonedaDestino.Codigo;
                }

                Vista.MostrarMensaje(mensaje, ETipoMensajeIU.INFORMACION);
            }
        }
예제 #18
0
        public void Registrar()
        {
            //Se validan los campos
            string s;

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

            //Se recupera la inf a partir de la UI
            EquipoAliadoBO bo = (EquipoAliadoBO)this.InterfazUsuarioADato();

            //Asignamos los valores estaticos
            if (!string.IsNullOrEmpty(bo.ClaveActivoOracle) && !string.IsNullOrWhiteSpace(bo.ClaveActivoOracle))
            {
                bo.EsActivo = true;
            }
            else
            {
                bo.EsActivo = false;
            }
            bo.Estatus = EEstatusEquipoAliado.SinAsignar;

            //Se crea el objeto de seguridad
            UsuarioBO     usuario     = this.vista.Usuario;
            AdscripcionBO adscripcion = new AdscripcionBO()
            {
                UnidadOperativa = this.vista.UnidadOperativa
            };
            SeguridadBO seguridadBO = new SeguridadBO(Guid.Empty, usuario, adscripcion);

            //Se inserta el equipo aliado
            this.controlador.InsertarCompleto(this.dctx, bo, seguridadBO);

            //Se consulta lo insertado para recuperar los ID
            #region Correccion
            EquipoAliadoBO equipoAliadoBuscar = new EquipoAliadoBO()
            {
                EquipoAliadoID = bo.EquipoAliadoID,
                EquipoID       = bo.EquipoID,
            };
            #endregion
            DataSet ds = this.controlador.ConsultarSet(this.dctx, equipoAliadoBuscar);
            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.EquipoID       = this.controlador.DataRowToEquipoAliadoBO(ds.Tables[0].Rows[0]).EquipoID;
            bo.EquipoAliadoID = this.controlador.DataRowToEquipoAliadoBO(ds.Tables[0].Rows[0]).EquipoAliadoID;

            this.VerDetalles(bo);
        }
        public void ObtenerDatosAdscripcion()
        {
            try
            {
                #region listaAdscripcion

                #region SC0004
                var adscripcionParam = vista.Adscripcion ?? new AdscripcionBO();
                #endregion

                List <AdscripcionBO> lstAdscripcion = FacadeBR.ConsultarAdscripcionSeguridad(dataContext, adscripcionParam, this.vista.Usuario);
                if (lstAdscripcion.Count > 0)
                {
                    //Valida si solo hay 1 unidad operativa diferente entre las adscripciones para poder pasar directo
                    if (lstAdscripcion.GroupBy(i => i.UnidadOperativa.Id, (key, group) => group.First()).ToList().Count == 1)
                    {
                        #region SC0004
                        // Ubicar la Adscripcion con Sucursal y Departamento Nulos
                        var adscripcionSeleccionada =
                            lstAdscripcion.FirstOrDefault(x =>
                                                          (x.Sucursal == null || x.Sucursal.Id == null) &&
                                                          (x.Departamento == null || x.Departamento.Id == null));

                        // Si no Existe, generar una adscripcion con Sucursal y Departamento Nulos.
                        if (adscripcionSeleccionada == null)
                        {
                            adscripcionSeleccionada = new AdscripcionBO {
                                UnidadOperativa = lstAdscripcion.First().UnidadOperativa, Sucursal = new SucursalBO(), Departamento = new DepartamentoBO()
                            }
                        }
                        ;
                        #endregion
                        //RQM 14078
                        lstAdscripciones.Add(adscripcionSeleccionada);
                        SeleccionarAdscripcion(adscripcionSeleccionada);
                    }
                    else
                    {
                        //RQM 14078
                        lstAdscripciones = lstAdscripcion;

                        vista.Adscripciones = lstAdscripcion;
                        this.vista.CargarDatosAdscripcion();
                    }
                }
                else
                {
                    this.vista.MostrarMensaje("No tiene permisos configurados para trabajar con el sistema o sus permisos han caducado." +
                                              "Para mas información póngase en contacto con el administrador del sistema", ETipoMensajeIU.INFORMACION);
                }
                #endregion
            } catch (Exception ex) {
                this.vista.MostrarMensaje("Surgió un error al obtener las adscripciones, si el problema persiste, contacte con el administrador del sistema",
                                          ETipoMensajeIU.ERROR, ex.Message);
            }
        }
        public void EstablecerSeguridad()
        {
            try
            {
                //Valida que el usuario y la unidad operativa no sean nulos
                if (this.vista.UsuarioID == null)
                {
                    throw new Exception("El identificador del usuario no debe ser nulo");
                }
                if (this.vista.UnidadOperativaID == null)
                {
                    throw new Exception("El identificador de la Unidad Operativa no debe ser nulo");
                }
                // Creación del objeto seguridad
                UsuarioBO usuario = new UsuarioBO {
                    Id = this.vista.UsuarioID
                };
                AdscripcionBO adscripcion = new AdscripcionBO
                {
                    UnidadOperativa = new UnidadOperativaBO {
                        Id = this.vista.UnidadOperativaID
                    }
                };
                SeguridadBO seguridad = new SeguridadBO(Guid.Empty, usuario, adscripcion);

                //consulta de acciones a la cual el usuario tiene permisos
                List <CatalogoBaseBO> acciones = FacadeBR.ConsultarAccion(dctx, seguridad);

                // se valida si el usuario tiene permisos para registrar
                if (!this.ExisteAccion(acciones, "INSERTARCOMPLETO"))
                {
                    this.vista.PermitirRegistrar(false);
                }

                //Establecer las sucursales permitidas en las vistas correspondientes
                List <SucursalBO> lstSucursales = FacadeBR.ConsultarSucursalesSeguridad(this.dctx, new SeguridadBO(Guid.Empty, new UsuarioBO()
                {
                    Id = this.vista.UsuarioID
                }, new AdscripcionBO {
                    UnidadOperativa = new UnidadOperativaBO()
                    {
                        Id = this.vista.UnidadOperativaID
                    }
                }));
                if (lstSucursales != null && lstSucursales.Count > 0)
                {
                    this.vista.SucursalesSeguridad =
                        lstSucursales.Where(p => p != null && p.Id != null).ToList().ConvertAll(s => s.Id);
                }
            }
            catch (Exception ex)
            {
                throw new Exception(this.nombreClase + ".EstablecerSeguridad:" + ex.Message);
            }
        }
예제 #21
0
        private void EstablecerSeguridad()
        {
            try
            {
                //valida que los datos del usuario y de la Unidad Operativa no sean nulos
                if (this.vista.UC == null)
                {
                    throw new Exception("El identificador del usuario no debe ser nulo");
                }
                if (this.vista.UnidadOperativaId == null)
                {
                    throw new Exception("El identificador de la Unidad Operativa no puede ser nulo");
                }

                //Creación del objeto seguridad
                UsuarioBO usuario = new UsuarioBO {
                    Id = this.vista.UC
                };
                AdscripcionBO adscripcion = new AdscripcionBO {
                    UnidadOperativa = new UnidadOperativaBO {
                        Id = this.vista.UnidadOperativaId
                    }
                };
                SeguridadBO seguridad = new SeguridadBO(Guid.Empty, usuario, adscripcion);

                //Consulta la lista de acciones a las que tiene permiso el usuario
                List <CatalogoBaseBO> acciones = FacadeBR.ConsultarAccion(dctx, seguridad);

                //Por RQM 14150, se agregan las acciones de manera global para poder enviarse a los controles de usuario.
                this.vista.ListaAcciones = acciones;

                //Valida si el usuario tiene permisos de editar un acta de nacimiento.
                if (!ExisteAccion(acciones, "ACTUALIZARDOCUMENTO"))
                {
                    this.vista.PermitirRedirigirAEdicion(false);
                }

                //Valida si el usuario tiene permisos de registrar un nuevo Acta de Nacimiento.
                if (!ExisteAccion(acciones, "REGISTRARDOCUMENTO"))
                {
                    this.vista.PermitirRegistrar(false);
                }

                //Se valida si el usuario tiene permiso para ver el historial de la unidad
                if (!this.ExisteAccion(acciones, "UI CONSULTAR"))
                {
                    this.vista.PermitirConsultarHistorial(false);
                }
            }
            catch (Exception ex)
            {
                throw new Exception(this.nombreClase + ".EstablecerSeguridad:" + ex.Message);
            }
        }
 private bool VerificarCambioAdscripcion(AdscripcionBO adscripcion)
 {
     if (this.vista.Adscripcion != null)
     {
         if (this.vista.Adscripcion.UnidadOperativa.Id == adscripcion.UnidadOperativa.Id)
         {
             return(false);
         }
     }
     return(true);
 }
예제 #23
0
        public void EstablecerSeguridad()
        {
            try
            {
                //Valida que el usuario y la unidad operativa no sean nulos
                if (this.vista.UsuarioID == null)
                {
                    throw new Exception("El identificador del usuario no debe ser nulo");
                }
                if (this.vista.UnidadOperativaID == null)
                {
                    throw new Exception("El identificador de la Unidad Operativa no debe ser nulo");
                }
                // Creación del objeto seguridad
                UsuarioBO usuario = new UsuarioBO {
                    Id = this.vista.UsuarioID
                };
                AdscripcionBO adscripcion = new AdscripcionBO
                {
                    UnidadOperativa = new UnidadOperativaBO {
                        Id = this.vista.UnidadOperativaID
                    }
                };
                SeguridadBO seguridad = new SeguridadBO(Guid.Empty, usuario, adscripcion);

                //consulta de acciones a la cual el usuario tiene permisos
                List <CatalogoBaseBO> lst = FacadeBR.ConsultarAccion(dctx, seguridad);

                //Se valida si el usuario tiene permiso para registrar
                if (!this.ExisteAccion(lst, "UI INSERTAR"))
                {
                    this.vista.PermitirRegistrar(false);
                }
                //Se valida si el usuario tiene permiso para editar
                if (!this.ExisteAccion(lst, "UI ACTUALIZAR"))
                {
                    this.vista.PermitirEditar(false);
                }
                //Se valida si el usuario tiene permiso para eliminar
                if (!this.ExisteAccion(lst, "BORRARCOMPLETO"))
                {
                    this.vista.PermitirEliminar(false);
                }
                //Se valida si el usuario tiene permiso para cerrar un contrato
                if (!this.ExisteAccion(lst, "UI TERMINARDOCUMENTO"))
                {
                    this.vista.PermitirCerrar(false);
                }
            }
            catch (Exception ex)
            {
                throw new Exception(this.nombreClase + ".EstablecerSeguridad:" + ex.Message);
            }
        }
예제 #24
0
        /// <summary>
        /// Cancela el pago
        /// </summary>
        public void CancelarPago()
        {
            #region Se inicia la Transaccion
            dataContext.SetCurrentProvider("Outsourcing");
            Guid firma = Guid.NewGuid();
            try
            {
                dataContext.OpenConnection(firma);
                dataContext.BeginTransaction(firma);
            }

            catch (Exception)
            {
                if (dataContext.ConnectionState == ConnectionState.Open)
                {
                    dataContext.CloseConnection(firma);
                }
                throw new Exception("Se encontraron inconsistencias al cancelar el pago.");
            }
            #endregion

            try
            {
                var usr = new UsuarioBO {
                    Id = Vista.UsuarioID
                };
                var adscripcion = new AdscripcionBO {
                    UnidadOperativa = new UnidadOperativaBO {
                        Id = Vista.UnidadOperativaID
                    }
                };
                var seguridadBO          = new SeguridadBO(Guid.Empty, usr, adscripcion);
                PagoContratoPSLBR pagoBR = new PagoContratoPSLBR();
                pagoBR.CancelarPago(dataContext, this.Vista.PagoACancelarID, seguridadBO);
                dataContext.CommitTransaction(firma);
                this.Vista.MostrarMensaje("Se ha eliminado el pago con éxito", ETipoMensajeIU.EXITO);
                //Se actualiza el grid de pagos
                var pago = this.Vista.PagosConsultadosPSL.Where(x => x.PagoContratoID == this.Vista.PagoACancelarID).FirstOrDefault();
                this.Vista.PagosConsultadosPSL.Remove(pago);
                this.Vista.CargarPagosConsultados();
            }
            catch (Exception ex)
            {
                dataContext.RollbackTransaction(firma);
                throw new Exception(nombreClase + ".CancelarPago:" + ex.Message);
            }
            finally
            {
                if (dataContext.ConnectionState == ConnectionState.Open)
                {
                    dataContext.CloseConnection(firma);
                }
            }
        }
        private DiaPeriodoTarifaBO ConsultarTarifa(DiaPeriodoTarifaBO periodoTarifa)
        {
            try {
                if (periodoTarifa == null)
                {
                    throw new Exception("Se esperaba el objeto PeriodoTarifaPSLBO");
                }
                if (periodoTarifa.UnidadOperativaID == null)
                {
                    throw new Exception("Se necesita el identificador de la Unidad Operativa para ver el Período Tarifario");
                }

                List <DiaPeriodoTarifaBO> lstTemp = new List <DiaPeriodoTarifaBO>();
                periodoTarifaBR = new DiaPeriodoTarifaBR();
                lstTemp         = periodoTarifaBR.ConsultarCompleto(dctx, periodoTarifa);
                if (lstTemp.Count == 0)
                {
                    #region Si no existe un registro en la DB, es porque se agregó la UO pero no se ha configurado
                    #region Obtener la seguridad
                    UsuarioBO usr = new UsuarioBO {
                        Id = this.vista.UsuarioID
                    };
                    AdscripcionBO adscripcion = new AdscripcionBO {
                        UnidadOperativa = new UnidadOperativaBO {
                            Id = this.vista.UnidadOperativaID
                        }
                    };
                    SeguridadBO seguridadBO = new SeguridadBO(Guid.Empty, usr, adscripcion);
                    #endregion
                    #region Asignar valores default para insertar
                    periodoTarifa.IncluyeSD           = false;
                    periodoTarifa.DiasDuracionSemana  = 0;
                    periodoTarifa.DiasDuracionMes     = 0;
                    periodoTarifa.InicioPeriodoDia    = 1;
                    periodoTarifa.InicioPeriodoSemana = 0;
                    periodoTarifa.InicioPeriodoMes    = 0;
                    periodoTarifa.Auditoria           = new AuditoriaBO()
                    {
                        UC = this.vista.UsuarioID, FC = DateTime.Now, UUA = this.vista.UsuarioID, FUA = DateTime.Now
                    };
                    #endregion
                    periodoTarifaBR.InsertarCompleto(dctx, periodoTarifa, seguridadBO);
                    #endregion
                }
                if (lstTemp.Count > 1)
                {
                    throw new Exception("Inconsistencias en los registros de la base datos, se encontro mas de un registro de la tarifa que desea buscar");
                }
                return(lstTemp[0]);
            } catch (Exception ex) {
                throw new Exception(nombreClase + ".ConsultarPeriodoTarifario:Inconsistencias al consultar los datos del Período Tarifario." + ex.Message);
            }
        }
        public void CancelarContrato()
        {
            string s;

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

            try {
                #region Transaccion
                dctx.SetCurrentProvider("Outsourcing");
                dctx.OpenConnection(firma);
                dctx.BeginTransaction(firma);
                #endregion

                ContratoPSLBO bo = (ContratoPSLBO)this.InterfazUsuarioADato();

                //Se crea el objeto de seguridad
                UsuarioBO usuario = new UsuarioBO()
                {
                    Id = this.vista.UsuarioID
                };
                AdscripcionBO adscripcion = new AdscripcionBO()
                {
                    UnidadOperativa = new UnidadOperativaBO()
                    {
                        Id = this.vista.UnidadOperativaID
                    }
                };
                SeguridadBO seguridadBO = new SeguridadBO(Guid.Empty, usuario, adscripcion);

                this.controlador.CancelarCompleto(this.dctx, bo, (ContratoPSLBO)this.vista.UltimoObjeto, seguridadBO);

                //Se concluye la transacción.
                dctx.CommitTransaction(firma);

                this.LimpiarSesion();
                this.vista.LimpiarPaqueteNavegacion("UltimoContratoPSLBO");
                this.vista.EstablecerPaqueteNavegacion("ChecklistRecepcionPSL", this.vista.DatosReporte);
                this.vista.RedirigirAImprimir();
            } catch (Exception ex) {
                dctx.RollbackTransaction(firma);
                throw new Exception(nombreClase + ".CancelarContratoPSLPRE:" + ex.Message);
            } finally {
                if (dctx.ConnectionState == ConnectionState.Open)
                {
                    dctx.CloseConnection(firma);
                }
            }
        }
        /// <summary>
        /// Establece las opciones permitidas en base a la seguridad del usuario
        /// </summary>
        private void EstablecerSeguridad()
        {
            try
            {
                //se valida que los datos del usuario y la unidad operativa no sean nulos
                if (Vista.UsuarioID == null)
                {
                    throw new Exception("El identificador del usuario no debe ser nulo");
                }
                if (Vista.UnidadOperativaID == null)
                {
                    throw new Exception("El identificador de la Unidad Operativa no debe ser nulo ");
                }

                var usr = new UsuarioBO {
                    Id = Vista.UsuarioID
                };
                var adscripcion = new AdscripcionBO {
                    UnidadOperativa = new UnidadOperativaBO {
                        Id = Vista.UnidadOperativaID
                    }
                };
                var seguridadBO = new SeguridadBO(Guid.Empty, usr, adscripcion);

                //Se obtienen las acciones a las cuales el usuario tiene permiso en este proceso
                List <CatalogoBaseBO> lst = FacadeBR.ConsultarAccion(dataContext, seguridadBO);

                //Se valida si el usuario tiene permiso para consultar
                if (!ExisteAccion(lst, PermisoConsultar))
                {
                    Vista.RedirigirSinPermisoAcceso();
                }
                //Se valida si el usuario tiene permiso para Configurar la Facturación
                if (!ExisteAccion(lst, PermisoConfigurarFacturacion))
                {
                    Vista.PermitirFacturar(false);
                }
                // Se Valida si el Usuario tiene permisos para Generar el Histórico de Pagos
                if (!ExisteAccion(lst, PermisoHistoricoPagos))
                {
                    Vista.PermitirHistorico(false);
                }
                //Se valida si el usuario tiene permiso para Cancelar la Facturación
                if (!ExisteAccion(lst, PermisoCancelarPagos))
                {
                    Vista.PermitirCancelarPago(false);
                }
            }
            catch (Exception ex)
            {
                throw new Exception(nombreClase + ".EstablecerSeguridad:" + ex.Message);
            }
        }
예제 #28
0
        /// <summary>
        /// Elimina el contrato desplegado con estatus de borrador
        /// </summary>
        public void EliminarContrato()
        {
            try
            {
                #region InterfazUsuarioADato Personalizado
                ContratoManttoBO bo = (ContratoManttoBO)this.vista.UltimoObjeto;

                if (bo.Estatus != EEstatusContrato.Borrador)
                {
                    vista.MostrarMensaje("El contrato debe tener estatus Borrador para ser eliminado.", ETipoMensajeIU.INFORMACION);
                    return;
                }

                //finalización del contrato
                FinalizacionContratoProxyBO finalizacionContrato = new FinalizacionContratoProxyBO();
                finalizacionContrato.Fecha   = vista.FUA;
                finalizacionContrato.Usuario = new UsuarioBO {
                    Id = vista.UUA
                };
                finalizacionContrato.Observaciones = vista.Observaciones;

                ContratoManttoBO previous = new ContratoManttoBO(bo);

                bo.CierreContrato = finalizacionContrato;
                bo.FUA            = vista.FUA;
                bo.UUA            = vista.UUA;
                #endregion

                //Se crea el objeto de seguridad
                UsuarioBO usuario = new UsuarioBO()
                {
                    Id = this.vista.UsuarioID
                };
                AdscripcionBO adscripcion = new AdscripcionBO()
                {
                    UnidadOperativa = new UnidadOperativaBO()
                    {
                        Id = this.vista.UnidadOperativaID
                    }
                };
                SeguridadBO seguridadBO = new SeguridadBO(Guid.Empty, usuario, adscripcion);

                this.controlador.BorrarCompleto(dctx, bo, previous, seguridadBO);

                this.LimpiarSesion();
                this.vista.LimpiarPaqueteNavegacion("ContratoManttoBO");
                this.vista.RedirigirAConsulta();
            }
            catch (Exception ex)
            {
                throw new Exception(this.nombreClase + ".EliminarContrato: " + ex.Message);
            }
        }
        public void Registrar()
        {
            string s;

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

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

                //Se crea el objeto de seguridad
                UsuarioBO usuario = new UsuarioBO()
                {
                    Id = this.vista.UsuarioID
                };
                AdscripcionBO adscripcion = new AdscripcionBO()
                {
                    UnidadOperativa = new UnidadOperativaBO()
                    {
                        Id = this.vista.UnidadOperativaID
                    }
                };
                SeguridadBO seguridadBO = new SeguridadBO(Guid.Empty, usuario, adscripcion);

                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.AutorizadorID = this.controlador.DataRowToAutorizadorBO(ds.Tables[0].Rows[0]).AutorizadorID;

                this.LimpiarSesion();
                this.vista.EstablecerPaqueteNavegacion("AutorizadorBO", bo);
                this.vista.RedirigirADetalles();
            }
            catch (Exception ex)
            {
                throw new Exception(this.nombreClase + ".Registrar: " + ex.Message);
            }
        }
예제 #30
0
        private void EstablecerSeguridad()
        {
            try
            {
                //se valida que los datos del usuario y la unidad operativa no sean nulos
                if (this.vista.UsuarioID == null)
                {
                    throw new Exception("El identificador del usuario no debe ser nulo");
                }
                if (this.vista.UnidadOperativaID == null)
                {
                    throw new Exception("El identificador de la Unidad Operativa no debe ser nulo ");
                }

                //Se crea el objeto de seguridad
                UsuarioBO usuario = new UsuarioBO()
                {
                    Id = this.vista.UsuarioID
                };
                AdscripcionBO adscripcion = new AdscripcionBO()
                {
                    UnidadOperativa = new UnidadOperativaBO()
                    {
                        Id = this.vista.UnidadOperativaID
                    }
                };
                SeguridadBO seguridadBO = new SeguridadBO(Guid.Empty, usuario, adscripcion);

                //Se obtienen las acciones a las cuales el usuario tiene permiso en este proceso
                List <CatalogoBaseBO> lst = FacadeBR.ConsultarAccion(this.dctx, seguridadBO);

                //Se valida si el usuario tiene permiso para dar de baja una llanta
                if (!this.ExisteAccion(lst, "UI BORRAR"))
                {
                    this.vista.PermitirEliminar(false);
                }
                //Se valida si el usuario tiene permiso para editar una llanta
                if (!this.ExisteAccion(lst, "ACTUALIZAR"))
                {
                    this.vista.PermitirEditar(false);
                }
                //Se valida si el usuario tiene permiso para registrar una llanta
                if (!this.ExisteAccion(lst, "INSERTAR"))
                {
                    this.vista.PermitirRegistrar(false);
                }
            }
            catch (Exception ex)
            {
                throw new Exception(this.nombreClase + ".EstablecerSeguridad:" + ex.Message);
            }
        }