/// <summary>
 /// Verifica que el Objeto seleccionado y el Nombre del Objeto a buscar sean iguales. En caso de no seleccionar algún Objeto del Buscador
 /// se establece como nulo el objeto seleccionado.
 /// </summary>
 /// <param name="filtro">El Objeto seleccionado.</param>
 /// <param name="nombre">El Nombre del Objeto a buscar.</param>
 /// <returns>Retorna True si el Nombre del Objeto seleccionado no es igual al Nombre obteniedo de la UI o no se seleccionado algún Objeto del Buscador,
 /// en caso contrario retorna False.</returns>
 private bool ValidarFiltro(CatalogoBaseBO filtro, string nombre)
 {
     if (nombre != null && nombre.Trim() != null && !nombre.Equals(""))
     {
         if (filtro == null || filtro.Id == null)
         {
             return(true);
         }
         else
         {
             return(!filtro.Nombre.ToUpper().Equals(nombre.ToUpper()));
         }
     }
     else if (filtro != null && filtro.Id != null)
     {
         if (filtro.GetType() == typeof(SucursalBO))
         {
             SucursalSeleccionada = null;
         }
         else
         {
             ClienteSeleccionado = null;
         }
     }
     return(false);
 }
        /// <summary>
        /// Precarga el ProductoServicio SAT Configurado como predeterminado
        /// </summary>
        private void EstablecerProductoSATPredeterminado()
        {
            string clvProdSat = this.vista.ClaveProductoSATPredeterminado;

            if (string.IsNullOrWhiteSpace(clvProdSat))
            {
                return;
            }

            CatalogoBaseBO producto = FacadeBR.ConsultarProductoServicio(this.dctx, new ProductoServicioBO()
            {
                NombreCorto = clvProdSat
            }).FirstOrDefault();

            if (producto != null)
            {
                this.vista.ProductoServicioId          = producto.Id;
                this.vista.ClaveProductoServicio       = producto.NombreCorto;
                this.vista.DescripcionProductoServicio = producto.Nombre;
            }
        }
예제 #3
0
        public void SeleccionarUnidad(Equipos.BO.UnidadBO unidad)
        {
            try {
                #region Se obtiene la información completa de la unidad y sus trámites
                List <TramiteBO> lstTramites = new List <TramiteBO>();

                if (unidad != null && (unidad.UnidadID != null || unidad.EquipoID != null))
                {
                    List <Equipos.BO.UnidadBO> lst = new UnidadBR().ConsultarCompleto(this.dctx, new Equipos.BO.UnidadBO()
                    {
                        UnidadID = unidad.UnidadID, EquipoID = unidad.EquipoID
                    }, true);
                    if (lst.Count <= 0)
                    {
                        throw new Exception("No se encontró la información completa de la unidad seleccionada.");
                    }

                    unidad = lst[0];

                    lstTramites = new TramiteBR().ConsultarCompleto(this.dctx, new TramiteProxyBO()
                    {
                        Activo = true, Tramitable = unidad
                    }, false);

                    bool esValido = ((EAreaConstruccion)unidad.Area == EAreaConstruccion.RO || (EAreaConstruccion)unidad.Area == EAreaConstruccion.ROC);

                    if (this.vista.UnidadOperativaID == (int)ETipoEmpresa.Construccion && esValido)
                    {
                        CatalogoBaseBO catalogoBase = unidad.TipoEquipoServicio;
                        unidad.TipoEquipoServicio = FacadeBR.ConsultarTipoUnidad(dctx, catalogoBase).FirstOrDefault();

                        ContratoPSLBR Contratobr = new ContratoPSLBR();
                        ETipoUnidad?  tipo       = Contratobr.ObtenerTipoUnidadPorClave(dctx, unidad.TipoEquipoServicio.NombreCorto, null);

                        if (tipo == null)
                        {
                            this.vista.HabilitarBotonTerminar(false);
                            this.vista.MostrarMensaje(this.nombreClase + ".SeleccionarUnidad: " + "No es posible seleccionar la unidad " + unidad.NumeroSerie + " debido a que no existe un checklist para su tipo (" + unidad.TipoEquipoServicio.NombreCorto + ")", ETipoMensajeIU.ADVERTENCIA, null);
                            return;
                        }
                        else
                        {
                            this.vista.HabilitarBotonTerminar(true);
                        }
                    }
                    else
                    {
                        this.vista.HabilitarBotonTerminar(true);
                    }
                }
                #endregion

                #region Dato a Interfaz de Usuario
                //Información de la Unidad
                if (unidad == null)
                {
                    unidad = new Equipos.BO.UnidadBO();
                }
                if (unidad.Modelo == null)
                {
                    unidad.Modelo = new BPMO.Servicio.Catalogos.BO.ModeloBO();
                }
                if (unidad.Modelo.Marca == null)
                {
                    unidad.Modelo.Marca = new BPMO.Servicio.Catalogos.BO.MarcaBO();
                }
                if (unidad.Sucursal == null)
                {
                    unidad.Sucursal = new SucursalBO();
                }
                if (unidad.CaracteristicasUnidad == null)
                {
                    unidad.CaracteristicasUnidad = new CaracteristicasUnidadBO();
                }

                #endregion
            } catch (Exception ex) {
                throw new Exception(this.nombreClase + ".SeleccionarUnidad: " + ex.Message);
            }
        }