private void RefreshSources(List <Publicacion> publications) { ClearDataGridView(); var publicationsDictionary = new Dictionary <int, Publicacion>(); #region Get the dictionary of visibilities if (publications == null) { //El datasource debe contener a todos los registros de publicaciones activas _publications = PublicacionPersistance.GetAllActive(); if (_publications != null) { publicationsDictionary = _publications.ToDictionary(a => a.ID, a => a); } } else { //El datasource debe ser la lista de publicaciones recibida por parámetro publicationsDictionary = _publications.ToDictionary(a => a.ID, a => a); } #endregion #region Cargar publicaciones en la grilla var bind = publicationsDictionary.Values.Select(a => new { ID = a.ID, Descripcion = a.Descripcion, Inicio = a.FechaInicio, Vencimiento = a.FechaVencimiento, Stock = a.Stock, Precio = (OfertaPersistance.GetLastOfertaByPublication(a.ID) != null) ? OfertaPersistance.GetLastOfertaByPublication(a.ID).Monto: a.Precio, RecibirPreguntas = a.RecibirPreguntas, Tipo = a.TipoPublicacion.Descripcion, Visibilidad = a.Visibilidad.Descripcion, Rubros = a.GetTextRubros(), CalificacionVendedor = CalificacionPersistance.GetByUserId(a.UsuarioCreador) }); var bindlist = bind.ToList(); if (bindlist.Count - _offset > 10) { DgvPublicacion.DataSource = bindlist.GetRange(_offset, 10); //paginas de a 10 contenidos } else { DgvPublicacion.DataSource = bindlist.GetRange(_offset, bindlist.Count - _offset); } DgvPublicacion.Columns[9].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; AddButtonsColumns(); #endregion if (bindlist.Count < 10) //si tiene menos de 10 registros no debe paginar { lblFirst.Visible = false; lblPrevious.Visible = false; lblNext.Visible = false; lblLast.Visible = false; } //Cargo los rubros var rubros = RubroPersistance.GetAll(); LstRubro.DataSource = rubros; LstRubro.DisplayMember = "Descripcion"; LstRubro.ValueMember = "ID"; }
private void FrmGenerarPublicacion_Load(object sender, EventArgs e) { #region Display all sources var publicationTypes = TipoPublicacionPersistance.GetAll(); CboTipoPublicacion.DisplayMember = "Descripcion"; CboTipoPublicacion.ValueMember = "ID"; CboTipoPublicacion.DataSource = publicationTypes; var publicationStates = EstadoPublicacionPersistance.GetAll(); CboEstadoPublicacion.DisplayMember = "Descripcion"; CboEstadoPublicacion.ValueMember = "ID"; CboEstadoPublicacion.DataSource = publicationStates; var visibilities = VisibilidadPersistance.GetAll(); CboVisibilidad.DisplayMember = "Descripcion"; CboVisibilidad.ValueMember = "ID"; CboVisibilidad.DataSource = visibilities; var rubros = RubroPersistance.GetAll(); LstRubro.DataSource = rubros; LstRubro.DisplayMember = "Descripcion"; LstRubro.ValueMember = "ID"; #endregion if (!insertMode) { #region Load updating publication data CurrentPublication.GetObjectsById(); CboEstadoPublicacion.Text = CurrentPublication.EstadoPublicacion.Descripcion; CboTipoPublicacion.Text = CurrentPublication.TipoPublicacion.Descripcion; CboVisibilidad.Text = CurrentPublication.Visibilidad.Descripcion; TxtDescripcion.Text = CurrentPublication.Descripcion; if (CurrentPublication.TipoPublicacion.Descripcion == "Subasta") { TxtPrecio.Enabled = false; TxtValorInicioSubasta.Text = CurrentPublication.Precio.ToString(); } else { TxtValorInicioSubasta.Enabled = false; TxtPrecio.Text = CurrentPublication.Precio.ToString(); } TxtStock.Text = CurrentPublication.Stock.ToString(); ChkRecibirPreguntas.Checked = CurrentPublication.RecibirPreguntas; //Marco como chequeados los rubros que ya posee la publicación for (int j = 0; j < LstRubro.Items.Count; j++) { var checkboxListItem = (Rubro)LstRubro.Items[j]; if (CurrentPublication.Rubros.Any(p => p.Descripcion == checkboxListItem.Descripcion)) { LstRubro.SetItemChecked(j, true); } else { LstRubro.SetItemChecked(j, false); } } #endregion #region Habilito los controles dependiendo del estado de la publicacion switch (CurrentPublication.EstadoPublicacion.Descripcion) { case "Publicada": #region Publicada DisableUIControls(); TxtDescripcion.Enabled = true; CboEstadoPublicacion.Enabled = true; TxtStock.Enabled = (CurrentPublication.TipoPublicacion.Descripcion != "Subasta"); break; #endregion case "Pausada": case "Finalizada": #region Pausada y Finalizada LblLimpiar.Enabled = false; DisableUIControls(); break; #endregion } #endregion } }