Autor
|
Tema: hacer dos consultas diferentes en entity framework (Leído 2,188 veces)
|
djnilo
Desconectado
Mensajes: 13
|
buenas tardes amigos del foro estoy haciendo una aplicación de venta de productos esta mi tabla con los campos productos idproducto, codigobarra, precio , idmedida,stock,idsubfamilia y tengo un formulario ventas me problema surge cuando quiero vender productos granel entonces estaba pensando cuando el codigo = codigobusqueda y el idmedida = 3 que es lo mismo a kilogramo me muestre un formulario modal entoces un else que sea distinto a kilogramo por que no seria a granel si no = unidad codigo para buscar productos por codigo esto funciona correctamente entoces quiero agregar un else para que me busque segun la otra condicion que seria por el idmedida = 3 esto es kilogramo en esta linea busco el producto eProd = objProducto.GetByCodigoBarras(TxtCodigoBarras.Text); y lo me trae public PRODUCTO GetByCodigoBarras(string Codigo) { DAL.IRepository repository = new Modelo.Repository(); try { var producto = repository.FindEntity<PRODUCTO>(a => a.CodigoBarras ==Codigo, "Venta_Detalles", "Compras_Detalle", "Medida", "SubFamiliaProducto"); if (producto != null) { producto.IdFamilia = producto.SubFamiliaProducto.IdFamilia; var fami = new FamiliaProducto(); fami = repository.FindEntity<FamiliaProducto>(x => x.IdFamilia == producto.SubFamiliaProducto.IdFamilia); producto.NombreFamilia = fami.NombreFamilia; producto.NombreMedida = producto.Medida.Medida1; producto.NombreSubFamilia = producto.SubFamiliaProducto.NombreSubFamilia;
} else { producto = null; } return producto; } catch (Exception ex) { throw new Exception(ex.Message); } } private void TxtCodigoBarras_KeyPress(object sender, KeyPressEventArgs e) { if(TxtCodigoBarras.Text.Length>0) { if (e.KeyChar == Convert.ToChar(Keys.Return)) {
DetalleVentaDTO eDeta = new DetalleVentaDTO(); PRODUCTO eProd = new PRODUCTO(); eProd = objProducto.GetByCodigoBarras(TxtCodigoBarras.Text); if (eProd == null) { if (MessageBox.Show("Producto no existe, ¿Desea agregarlo?", "Confirme", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button2) == DialogResult.Yes) { Form frm = this.MdiChildren.FirstOrDefault(x => x is FrmProductos); if (frm != null) { frm.BringToFront(); return; } frm = new FrmProductos(idUsuario); frm.MdiParent = this.MdiParent; frm.Show(); } return; } if (eProd.Stock <= 0) { MessageBox.Show("No existe stock suficiente para vender", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Error); return; }
eDeta.Cantidad = 1;
eDeta.CodigoBarras = eProd.CodigoBarras; eDeta.FechaReg = DateTime.Now; eDeta.IdDetalle = 0; eDeta.IdProducto = eProd.IdProducto; eDeta.IdVenta = 0; eDeta.Importe = eProd.Precio * eDeta.Cantidad; eDeta.NombreProducto = eProd.NombreProducto; eDeta.PorcentajeIVA = eImpuesto.TasaImpuesto; eDeta.Precio = eProd.Precio; Detalles.Add(eDeta); //DgvDetalle.DataSource = null; DgvDetalle.DataSource = Detalles; TxtCodigoBarras.Clear(); TxtCodigoBarras.Focus(); } este lo carga en la grilla perfecto lo que necesito con la condicion portal de imagenes gratisel codigo que quiero insertar con else para que cumpla la condicion que sea igual a idmedida = 3 kilogramo PRODUCTO eProds = new PRODUCTO(); eProds = objProducto.GetByCodigoBarrasKilogramo(TxtCodigoBarras.Text); if (eProds == null)
{ if (MessageBox.Show("Producto no existe, ¿Desea agregarlo?", "Confirme", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button2) == DialogResult.Yes) { Form frm = this.MdiChildren.FirstOrDefault(x => x is FrmProductos); if (frm != null) { frm.BringToFront(); return; } frm = new FrmProductos(idUsuario); frm.MdiParent = this.MdiParent; frm.Show(); } return; } if (eProds.Stock <= 0) { MessageBox.Show("No existe stock suficiente para vender", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Error); return; }
string idbusqueda = Convert.ToString(TxtCodigoBarras.Text); NombreProductos = eProds.NombreProducto; Precioss = Convert.ToString(eProds.Precio);
FrmGranel form = new FrmGranel(idbusqueda, NombreProductos, Precioss); form.MdiParent = this.MdiParent; form.Show();
codigo busqueda idmedida = 3 public PRODUCTO GetByCodigoBarrasKilogramo(string Codigo) {
DAL.IRepository repository = new Modelo.Repository(); try { var producto = repository.FindEntity<PRODUCTO>(a => a.CodigoBarras == Codigo, "Venta_Detalles", "Compras_Detalle", "Medida", "SubFamiliaProducto"); if (producto != null) { producto.IdMedida = producto.Medida.IdMedida; var Medidas = new Medida(); Medidas = repository.FindEntity<Medida>(x => x.IdMedida == 3); producto.NombreSubFamilia = producto.SubFamiliaProducto.NombreSubFamilia;
} else { producto = null; } return producto; } catch (Exception ex) { throw new Exception(ex.Message); } }
|
|
|
En línea
|
|
|
|
TickTack
Desconectado
Mensajes: 434
CipherX
|
buenas tardes amigos del foro estoy haciendo una aplicación de venta de productos esta mi tabla con los campos productos idproducto, codigobarra, precio , idmedida,stock,idsubfamilia y tengo un formulario ventas me problema surge cuando quiero vender productos granel entonces estaba pensando cuando el codigo = codigobusqueda y el idmedida = 3 que es lo mismo a kilogramo me muestre un formulario modal entoces un else que sea distinto a kilogramo por que no seria a granel si no = unidad codigo para buscar productos por codigo esto funciona correctamente entoces quiero agregar un else para que me busque segun la otra condicion que seria por el idmedida = 3 esto es kilogramo en esta linea busco el producto eProd = objProducto.GetByCodigoBarras(TxtCodigoBarras.Text); y lo me trae public PRODUCTO GetByCodigoBarras(string Codigo) { DAL.IRepository repository = new Modelo.Repository(); try { var producto = repository.FindEntity<PRODUCTO>(a => a.CodigoBarras ==Codigo, "Venta_Detalles", "Compras_Detalle", "Medida", "SubFamiliaProducto"); if (producto != null) { producto.IdFamilia = producto.SubFamiliaProducto.IdFamilia; var fami = new FamiliaProducto(); fami = repository.FindEntity<FamiliaProducto>(x => x.IdFamilia == producto.SubFamiliaProducto.IdFamilia); producto.NombreFamilia = fami.NombreFamilia; producto.NombreMedida = producto.Medida.Medida1; producto.NombreSubFamilia = producto.SubFamiliaProducto.NombreSubFamilia;
} else { producto = null; } return producto; } catch (Exception ex) { throw new Exception(ex.Message); } } private void TxtCodigoBarras_KeyPress(object sender, KeyPressEventArgs e) { if(TxtCodigoBarras.Text.Length>0) { if (e.KeyChar == Convert.ToChar(Keys.Return)) {
DetalleVentaDTO eDeta = new DetalleVentaDTO(); PRODUCTO eProd = new PRODUCTO(); eProd = objProducto.GetByCodigoBarras(TxtCodigoBarras.Text); if (eProd == null) { if (MessageBox.Show("Producto no existe, ¿Desea agregarlo?", "Confirme", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button2) == DialogResult.Yes) { Form frm = this.MdiChildren.FirstOrDefault(x => x is FrmProductos); if (frm != null) { frm.BringToFront(); return; } frm = new FrmProductos(idUsuario); frm.MdiParent = this.MdiParent; frm.Show(); } return; } if (eProd.Stock <= 0) { MessageBox.Show("No existe stock suficiente para vender", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Error); return; }
eDeta.Cantidad = 1;
eDeta.CodigoBarras = eProd.CodigoBarras; eDeta.FechaReg = DateTime.Now; eDeta.IdDetalle = 0; eDeta.IdProducto = eProd.IdProducto; eDeta.IdVenta = 0; eDeta.Importe = eProd.Precio * eDeta.Cantidad; eDeta.NombreProducto = eProd.NombreProducto; eDeta.PorcentajeIVA = eImpuesto.TasaImpuesto; eDeta.Precio = eProd.Precio; Detalles.Add(eDeta); //DgvDetalle.DataSource = null; DgvDetalle.DataSource = Detalles; TxtCodigoBarras.Clear(); TxtCodigoBarras.Focus(); } este lo carga en la grilla perfecto lo que necesito con la condicion portal de imagenes gratisel codigo que quiero insertar con else para que cumpla la condicion que sea igual a idmedida = 3 kilogramo PRODUCTO eProds = new PRODUCTO(); eProds = objProducto.GetByCodigoBarrasKilogramo(TxtCodigoBarras.Text); if (eProds == null)
{ if (MessageBox.Show("Producto no existe, ¿Desea agregarlo?", "Confirme", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button2) == DialogResult.Yes) { Form frm = this.MdiChildren.FirstOrDefault(x => x is FrmProductos); if (frm != null) { frm.BringToFront(); return; } frm = new FrmProductos(idUsuario); frm.MdiParent = this.MdiParent; frm.Show(); } return; } if (eProds.Stock <= 0) { MessageBox.Show("No existe stock suficiente para vender", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Error); return; }
string idbusqueda = Convert.ToString(TxtCodigoBarras.Text); NombreProductos = eProds.NombreProducto; Precioss = Convert.ToString(eProds.Precio);
FrmGranel form = new FrmGranel(idbusqueda, NombreProductos, Precioss); form.MdiParent = this.MdiParent; form.Show();
codigo busqueda idmedida = 3 public PRODUCTO GetByCodigoBarrasKilogramo(string Codigo) {
DAL.IRepository repository = new Modelo.Repository(); try { var producto = repository.FindEntity<PRODUCTO>(a => a.CodigoBarras == Codigo, "Venta_Detalles", "Compras_Detalle", "Medida", "SubFamiliaProducto"); if (producto != null) { producto.IdMedida = producto.Medida.IdMedida; var Medidas = new Medida(); Medidas = repository.FindEntity<Medida>(x => x.IdMedida == 3); producto.NombreSubFamilia = producto.SubFamiliaProducto.NombreSubFamilia;
} else { producto = null; } return producto; } catch (Exception ex) { throw new Exception(ex.Message); } } Entonces, cual es tu problema. Creo que estas haciendo un tutorial de como solucionar tu problema. Es eso asi? Saludos!
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
problema con Entity Framework
.NET (C#, VB.NET, ASP)
|
Fabricio
|
1
|
3,702
|
4 Mayo 2010, 03:17 am
por MANULOMM
|
|
|
problema al hacer consultas con la edad
Bases de Datos
|
xexio
|
0
|
2,080
|
12 Junio 2010, 20:12 pm
por xexio
|
|
|
ADO.NET Entity Framework en C#
.NET (C#, VB.NET, ASP)
|
Basil
|
3
|
5,602
|
5 Febrero 2011, 20:29 pm
por [D4N93R]
|
|
|
¿Entity Framework o MySql? (Pregunta)
.NET (C#, VB.NET, ASP)
|
DeMoNcRaZy
|
1
|
1,852
|
15 Septiembre 2015, 22:57 pm
por dato000
|
|
|
Compilar APP compatibles con diferentes Framework
.NET (C#, VB.NET, ASP)
|
Tomas1982
|
0
|
1,532
|
8 Noviembre 2016, 17:36 pm
por Tomas1982
|
|