Example #1
0
 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);
            }
        }
Example #5
0
        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
            }
        }