public void GetObjectsById() { UsuarioCreador = UsuarioPersistance.GetById(_usuarioCreador); Visibilidad = VisibilidadPersistance.GetById(_visibilidad); EstadoPublicacion = EstadoPublicacionPersistance.GetById(_estadoPublicacion); TipoPublicacion = TipoPublicacionPersistance.GetById(_tipoPublicacion); Rubros = RubroPersistance.GetByPublicationId(ID); Compras = CompraPersistance.GetByPublicationId(ID); }
private void RefreshComboBoxSources() { //Lleno los combobox CboTipoPublicacion.DisplayMember = "Descripcion"; CboTipoPublicacion.ValueMember = "ID"; CboTipoPublicacion.DataSource = _publicationTypes = TipoPublicacionPersistance.GetAll(); CboVisibilidad.DisplayMember = "Descripcion"; CboVisibilidad.ValueMember = "ID"; CboVisibilidad.DataSource = _visibilities = VisibilidadPersistance.GetAllActive(); CboEstadoPublicacion.DisplayMember = "Descripcion"; CboEstadoPublicacion.ValueMember = "ID"; CboEstadoPublicacion.DataSource = _publicationStatus = EstadoPublicacionPersistance.GetAll(); }
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 UpdateFinishedAuctions() { List <Publicacion> list = PublicacionPersistance.GetFinishedAuctions(); foreach (Publicacion publication in list) { Oferta lastOffer = OfertaPersistance.GetLastOfertaByPublication(publication.ID); //Si tuvo al menos una oferta, genero la nueva compra correspondiente a esta subasta if (lastOffer != null) { var purchase = new Compra(); purchase.IdPublicacion = publication.ID; purchase.IdUsuario = lastOffer.IdUsuario; purchase.Fecha = lastOffer.Fecha; purchase.Cantidad = 1; CompraPersistance.Insert(purchase, null); } //Finalizo la publicacion publication.EstadoPublicacion = EstadoPublicacionPersistance.GetById(4); //finalizada PublicacionPersistance.Update(publication); } }
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 } }