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