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 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); } }