示例#1
0
        public void SeleccionarEntidad(TEntidad entidad)
        {
            if (entidad == null && this.Entidad == null)
            {
                this.Entidad = new TEntidad();
            }
            else
            {
                if (entidad != null)
                {
                    var parametros = new ListaParametrosDeBusqueda();
                    if (ObtenerParametros != null)
                    {
                        parametros.Parametros = ObtenerParametros();
                    }
                    this.Entidad = this.Servicio.ObtenerPorCodigo(entidad.Codigo, this.CargaRelaciones, Sistema.Instancia.EmpresaActual.Codigo, parametros);
                }
                else
                {
                    this.Entidad = new TEntidad();
                }
            }

            //this.Entidad = entidad;
            if (this.Entidad != null && this.CambioEntidad != null)
            {
                //este lo usa el presentador maestro detalle. NO LO BORRES
                var args = new ArgumentoGenerico <TEntidad>(this.Entidad);
                this.CambioEntidad(this, args);
            }
        }
        /// <summary>
        /// Se captura evento de cambio de entidad.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e">Contiene la entidad que se busco</param>
        public void PMB_CambioEntidad(object sender, ArgumentoGenerico <TDetalle> e)
        {
            var objeto = e.GET();

            if (objeto.Id != 0)
            {
                var esta = PMD.DetalleDTO.FirstOrDefault(p => p.Id == objeto.Id);
                if (esta != null)
                {
                    PMD.DetalleDTO.Remove(esta);
                    PMD.Detalle.Remove(esta);
                }
                PMD.Detalle.Add(objeto);
            }
        }