private void RefreshSources(List <PublicacionNotCalified> publicationNotCalified) { ClearDataGridView(); var publicationNotCalifiedDictionary = new Dictionary <int, PublicacionNotCalified>(); if (publicationNotCalified == null) { //The datasource must be all the publications not calified records stored in the database _publicationsNotCalified = CalificacionPersistance.GetAllPubicacionNotCalified(SessionManager.CurrentUser); publicationNotCalifiedDictionary = _publicationsNotCalified.ToDictionary(a => a.ID, a => a);; } else { //The datasource must be the list of publications not calified received as parameter publicationNotCalifiedDictionary = publicationNotCalified.ToDictionary(a => a.ID, a => a); } var bind = publicationNotCalifiedDictionary.Values.Select(a => new { Codigo = a.ID, Descripcion = a.Descripcion, Precio = a.Precio }); dgvPublicaciones.DataSource = bind.ToList(); dgvPublicaciones.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; dgvPublicaciones.CurrentCell = null; ShowStars(); }
private void RefreshSources(List <HistoryReputacion> history) { ClearDataGridView(); var historyDictionary = new Dictionary <int, HistoryReputacion>(); if (history == null) { //The datasource must be all the publications not calified records stored in the database _history = CalificacionPersistance.getAllCalifiedByMeToOther(SessionManager.CurrentUser); historyDictionary = _history.ToDictionary(a => a.Codigo_Calificacion, a => a);; } else { //The datasource must be the list of publications not calified received as parameter historyDictionary = history.ToDictionary(a => a.Codigo_Calificacion, a => a); } var bind = historyDictionary.Values.Select(a => new { Calificacion = a.Codigo_Calificacion, Descripcion = a.Descripcion, Cantidad_Estrellas = a.Cantidad_Estrellas, Nombre = a.Nombre }); dgvHistory.DataSource = bind.ToList(); dgvHistory.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; dgvHistory.CurrentCell = null; }
private void LblComprar_Click(object sender, EventArgs e) { try { if (SessionManager.CurrentRol.Descripcion == "Administrador General") { throw new Exception("Siendo un administrador no puede comprar ni ofertar"); } List <PublicacionNotCalified> publications = CalificacionPersistance.GetAllPubicacionNotCalified(SessionManager.CurrentUser); if (publications.Count > 5) { throw new Exception("Tiene demasiadas compras sin calificar, por favor califíquelas para poder realizar una compra"); } //Valido que ingrese una cantidad válida (mayor a 0 y menor que el stock) if (txtCantidad.Text == "" || Int32.Parse(txtCantidad.Text) < 0 || Int32.Parse(txtCantidad.Text) > Int32.Parse(lblStock.Text)) { throw new Exception("Ingrese una cantidad válida (mayor a 0 y menor que el stock actual)"); } //Creo la nueva compra y la inserto Compra newPurchase = new Compra(); newPurchase.Usuario = SessionManager.CurrentUser; newPurchase.Publicacion = CurrentPublication; newPurchase.Fecha = ConfigurationVariables.FechaSistema; newPurchase.Cantidad = Int32.Parse(txtCantidad.Text); newPurchase = CompraPersistance.Insert(newPurchase, null); //Resto el stock de la publicación CurrentPublication.Stock = CurrentPublication.Stock - newPurchase.Cantidad; if (CurrentPublication.Stock == 0) { CurrentPublication.EstadoPublicacion = EstadoPublicacionPersistance.GetById(4); //finalizada } PublicacionPersistance.Update(CurrentPublication); //Le muestro al usuario los datos del vendedor var frmDatosVendedor = new FrmDatosVendedor(CurrentPublication.UsuarioCreador); frmDatosVendedor.ShowDialog(); RefreshSources(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void lblCalificar_Click(object sender, EventArgs e) { bool validations = true; if (calification == 0) { validations = false; } if (txtDescripcion.Text == "") { validations = false; } if (publicationSelected == 0) { validations = false; } if (validations) { Calificacion califObject = new Calificacion(); califObject.ID_Comprador = ((Usuario)SessionManager.CurrentUser).ID; califObject.ID_Publicacion = publicationSelected; califObject.stars = calification; califObject.description = txtDescripcion.Text; if (califObject.ID_Publicacion != 0) { int califId = CalificacionPersistance.InsertCalification(califObject); if (califId != 0) { ClearFiltersAndTable(); publicationSelected = 0; txtDescripcion.Text = ""; calification = 0; drawStars(0); MessageBox.Show("La publicación " + califObject.ID_Publicacion + " fué calificada con " + califObject.stars + " estrellas. Descripción: " + califObject.description, "Éxito"); } } } else { MessageBox.Show("Por favor, verifique Calificacion, Descripción y Publicacion seleccionada.", "Atencion"); } }
private void lblOfertar_Click(object sender, EventArgs e) { try { if (SessionManager.CurrentRol.Descripcion == "Administrador General") { throw new Exception("Siendo un administrador no puede comprar ni ofertar"); } List <PublicacionNotCalified> publications = CalificacionPersistance.GetAllPubicacionNotCalified(SessionManager.CurrentUser); if (publications.Count > 5) { throw new Exception("Tiene demasiadas compras sin calificar, por favor califíquelas para poder realizar una compra"); } //Valido que la oferta sea mayor a la última if (txtMonto.Text == "" || Int32.Parse(txtMonto.Text) <= Int32.Parse(lblPrecio.Text)) { throw new Exception("El monto a ofertar debe ser mayor que la oferta actual"); } //Creo la nueva oferta y la inserto Oferta newOffer = new Oferta(); newOffer.IdUsuario = SessionManager.CurrentUser.ID; newOffer.IdPublicacion = CurrentPublication.ID; newOffer.Fecha = ConfigurationVariables.FechaSistema; newOffer.Monto = Int32.Parse(txtMonto.Text); newOffer = OfertaPersistance.Insert(newOffer, null); MessageBox.Show("Se insertó la oferta correctamente"); RefreshSources(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
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 LblBuscar_Click(object sender, EventArgs e) { try { #region Validations var filtersSetted = false; var exceptionMessage = string.Empty; if (!TypesHelper.IsEmpty(txtCodigo.Text)) { filtersSetted = true; if (!TypesHelper.IsNumeric(txtCodigo.Text)) { exceptionMessage += Environment.NewLine + "El código debe ser numérico."; } } if (!TypesHelper.IsEmpty(txtDesc.Text)) { filtersSetted = true; } if (!TypesHelper.IsEmpty(txtCantidad.Text)) { filtersSetted = true; if (!TypesHelper.IsNumeric(txtCantidad.Text)) { exceptionMessage += Environment.NewLine + "La cantidad debe ser numérica."; } } if (!TypesHelper.IsEmpty(txtNombre.Text)) { filtersSetted = true; } if (!filtersSetted) { exceptionMessage = "No se puede realizar la busqueda ya que no se informó ningún filtro"; } if (!TypesHelper.IsEmpty(exceptionMessage)) { throw new Exception(exceptionMessage); } #endregion var filters = new HistoryReputacionFilters { Codigo = (!TypesHelper.IsEmpty(txtCodigo.Text)) ? Convert.ToInt32(txtCodigo.Text) : (int?)null, Descripcion = (!TypesHelper.IsEmpty(txtDesc.Text)) ? txtDesc.Text : null, Cantidad = (!TypesHelper.IsEmpty(txtCantidad.Text)) ? Convert.ToInt32(txtCantidad.Text) : (int?)null, Nombre = (!TypesHelper.IsEmpty(txtNombre.Text)) ? txtNombre.Text : null }; var historyReputacion = (cBExact.Checked) ? CalificacionPersistance.getAllCalifiedToMeByParameters(SessionManager.CurrentUser, filters) : CalificacionPersistance.getAllCalifiedToMeByParametersLike(SessionManager.CurrentUser, filters); if (historyReputacion == null || historyReputacion.Count == 0) { throw new Exception("No se encontraron calificaciones según los filtros informados."); } RefreshSources(historyReputacion); } catch (Exception ex) { MessageBox.Show(ex.Message, "Atención"); ClearFiltersAndTable(); } }
private void LblBuscar_Click_1(object sender, EventArgs e) { try { #region Validations var filtersSetted = false; var exceptionMessage = string.Empty; if (!TypesHelper.IsEmpty(txtCodigo.Text)) { filtersSetted = true; if (!TypesHelper.IsNumeric(txtCodigo.Text)) { exceptionMessage += Environment.NewLine + "El código debe ser numérico."; } } if (!TypesHelper.IsEmpty(txtDesc.Text)) { filtersSetted = true; } if (!TypesHelper.IsEmpty(txtPrecio.Text)) { filtersSetted = true; if (!TypesHelper.IsDecimal(txtPrecio.Text)) { exceptionMessage += Environment.NewLine + "El precio de la publicacion ser decimal (o numérico)."; } } if (!filtersSetted) { exceptionMessage = "No se puede realizar la busqueda ya que no se informó ningún filtro"; } if (!TypesHelper.IsEmpty(exceptionMessage)) { throw new Exception(exceptionMessage); } #endregion var filters = new PublicacionNotCalifiedFilters { Codigo = (!TypesHelper.IsEmpty(txtCodigo.Text)) ? Convert.ToInt32(txtCodigo.Text) : (int?)null, Descripcion = (!TypesHelper.IsEmpty(txtDesc.Text)) ? txtDesc.Text : null, Precio = (!TypesHelper.IsEmpty(txtPrecio.Text)) ? Convert.ToDouble(txtPrecio.Text) : (double?)null, }; var pubNotCalified = (cBExact.Checked) ? CalificacionPersistance.GetAllPubicacionNotCalifiedByParameters(filters, SessionManager.CurrentUser) : CalificacionPersistance.GetAllPubicacionNotCalifiedByParametersLike(filters, SessionManager.CurrentUser); if (pubNotCalified == null || pubNotCalified.Count == 0) { throw new Exception("No se encontraron publicaciones no calificadas según los filtros informados."); } RefreshSources(pubNotCalified); } catch (Exception ex) { MessageBox.Show(ex.Message, "Atención"); ClearFiltersAndTable(); } }