示例#1
0
        /// <summary>
        /// Evento del boton para asignar un nuevo transportista
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtnAsignarTransportista_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                OfertaSubasta oferta = (OfertaSubasta)GridOfertas.SelectedItem;
                if (oferta != null)
                {
                    oferta.Seleccionado = "1";
                    HttpClient client2   = new HttpClient();
                    var        content   = new StringContent(JsonConvert.SerializeObject(oferta), Encoding.UTF8, "application/json");
                    var        response2 = client2.PutAsync("http://localhost:54192/api/OfertaSubasta", content).Result;

                    if (response2.StatusCode == HttpStatusCode.OK)
                    {
                        this.AsignarCostoTransporte(oferta.PrecioOferta);
                        flyOfertasTransportista.IsOpen = false;
                        this.CerrarSubasta();
                        this.CargarTabla();
                        this.EnviarMensaje(oferta.Transportista);
                        main.Mensaje("Transportista asignado", "El transportista ha sido asignado");
                    }
                }
                else
                {
                    main.Mensaje("Debe seleccionar una oferta", "Aviso");
                }
            }catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
        /// <summary>
        /// Buscar las ofertas de las subastas segun la id de esta
        /// </summary>
        /// <param name="idSubasta"></param>
        /// <returns></returns>
        public static List <OfertaSubasta> ListarOfertaPorIdSubasta(int idSubasta)
        {
            //Creacion de una factory de Transportista
            TipoUsuarioFactory factory = new TransportistaFactory();

            using (var db = new DBEntities())
            {
                try
                {
                    List <OfertaSubasta> listado = new List <OfertaSubasta>();

                    var queryOfertas = db.OFERTASUBASTA.Where(ofer => ofer.IDSUBASTA == idSubasta).ToList();
                    foreach (var oferta in queryOfertas)
                    {
                        OfertaSubasta ofertaSubasta = new OfertaSubasta();
                        ofertaSubasta.IdOferta      = (int)oferta.IDOFERTA;
                        ofertaSubasta.FechaOferta   = oferta.FECHAOFERTA;
                        ofertaSubasta.Seleccionado  = oferta.SELECCIONADO;
                        ofertaSubasta.PrecioOferta  = (float)oferta.PRECIOOFERTA;
                        ofertaSubasta.Transportista = (TiposUsuario.Transportista)factory.createTipoUsuario();
                        ofertaSubasta.Transportista.ObtenerDatosPorId((int)oferta.IDTRANSPORTISTA);
                        ofertaSubasta.IdSubasta = (int)oferta.IDSUBASTA;

                        TipoTransporte tipo = new TipoTransporte();
                        tipo.IdTipo = (int)oferta.IDTIPOTRANSPORTE;
                        tipo.GetById();
                        ofertaSubasta.TipoTransporte = tipo;
                        listado.Add(ofertaSubasta);
                    }
                    return(listado);
                }catch (Exception ex)
                {
                    ex.InnerException.ToString();
                    return(null);
                }
            }
        }
 /// <summary>
 /// Agregar una oferta de transporte en una subasta
 /// </summary>
 /// <param name="oferta"></param>
 /// <param name="idSubasta"></param>
 public static void AgregarOfertaSubasta(OfertaSubasta oferta, int idSubasta)
 {
     using (var db = new DBEntities())
     {
         try
         {
             //Asignar valores a la entidad a agregar
             OFERTASUBASTA dbOferta = new OFERTASUBASTA();
             dbOferta.IDSUBASTA        = idSubasta;
             dbOferta.SELECCIONADO     = oferta.Seleccionado;
             dbOferta.IDTRANSPORTISTA  = oferta.Transportista.Id;
             dbOferta.IDTIPOTRANSPORTE = oferta.TipoTransporte.IdTipo;
             dbOferta.PRECIOOFERTA     = (decimal)oferta.PrecioOferta;
             dbOferta.FECHAOFERTA      = oferta.FechaOferta;
             //Agregar entidad a la base de datos y confirmar el cambio
             db.OFERTASUBASTA.Add(dbOferta);
             db.SaveChanges();
         }
         catch (Exception ex)
         {
             ex.InnerException.ToString();
         }
     }
 }