/// <summary> /// Cargar los datos del pedido y su partida /// </summary> /// <param name="bDatos"></param> protected void CargarFormulario(bool bDatos) { pnlFormulario.Visible = true; pnlCatalogo.Visible = false; if (bDatos) { //Objeto que contiene el id del pedido oblFacturas = new MedNeg.Facturas.BlFacturas(); oFactura = new MedDAL.DAL.facturas(); oFactura = (MedDAL.DAL.facturas)oblFacturas.BuscarFactura(int.Parse(dgvDatos.SelectedDataKey[0].ToString())); //Llenar los campos del pedido txbFolio.Text = oFactura.Folio; txbFecha.Text = oFactura.Fecha.ToShortDateString(); int iContador = 0; cmbEstatus.SelectedIndex = -1; foreach (ListItem elemento in cmbEstatus.Items) { if (elemento.Value.Equals(oFactura.Estatus.ToString())) { elemento.Selected = true; } iContador++; } cmbTipoFactura.SelectedIndex = -1; iContador = 0; foreach (ListItem elemento in cmbTipoFactura.Items) { if (elemento.Value.Equals(oFactura.TipoFactura.ToString())) { elemento.Selected = true; } iContador++; } //Llenar los campos del cliente txbCliente.Text = oFactura.clientes.Nombre + " " + oFactura.clientes.Apellidos; txbDireccion.Text = oFactura.clientes.Calle + " " + oFactura.clientes.NumeroExt; if (oFactura.clientes.NumeroInt != null) { txbDireccion.Text += "Int: " + oFactura.clientes.NumeroInt; } txbPoblacion.Text = oFactura.clientes.poblaciones.Nombre.ToString() + ", " + oFactura.clientes.municipios.Nombre.ToString() + ", " + oFactura.clientes.estados.Nombre.ToString(); //Lenar los datos de la partida del detalle oblFacturas = new MedNeg.Facturas.BlFacturas(); //Recuperar la partida del pedido var oQuery = oblFacturas.RecuperarPartidaFactura(oFactura.idFactura); //Session["lstDetallePartida"] = new List<MedNeg.Facturas.BlDetallePartida>(); if (((List<MedNeg.Facturas.BlDetallePartida>)Session["lstDetallePartida"]).Count() > 0) { ((List<MedNeg.Facturas.BlDetallePartida>)Session["lstDetallePartida"]).Clear(); } //Recorrer el resultado y meterlo al datagridview Session["sTotalFactura"] = 0; foreach (MedDAL.DAL.facturas_partida oDetalle in oQuery) { oblDetallePartida = new MedNeg.Facturas.BlDetallePartida( Convert.ToInt32(oDetalle.idProducto), oDetalle.productos.Clave1, oDetalle.productos.Nombre, oDetalle.Cantidad, Convert.ToDecimal(oDetalle.IEPS), Convert.ToDecimal(oDetalle.Iva), Convert.ToDecimal(oDetalle.Precio), oDetalle.Observaciones, Convert.ToDecimal((oDetalle.Precio * oDetalle.Cantidad) + oDetalle.IEPS + oDetalle.Iva)); ((List<MedNeg.Facturas.BlDetallePartida>)Session["lstDetallePartida"]).Add(oblDetallePartida); Session["sTotalFactura"] = Convert.ToDecimal(Session["sTotalFactura"]) + Convert.ToDecimal((oDetalle.Precio * oDetalle.Cantidad) + oDetalle.IEPS + oDetalle.Iva); } //Hacer el binding de la data al dgvDatos lblTotal.Text = "TOTAL:$" + Session["sTotalFactura"].ToString(); dgvPartidaDetalle.DataBind(); ////si el estatus es 1 (Pedido) aun se pueden agregar articulos de lo contario ya no //if (oFactura.Estatus == "3") //{ // HabilitaRemision(); // Deshabilita(); //} //else //{ DeshabilitaRemision(); Deshabilita(); //cmbEstatus.Enabled = true; //} } else { //Limpia(); //Deshabilita(); } }
private void Eliminar(int iIdFactura) { //Eliminar primero la partida para la integridad referencial oblFacturas = new MedNeg.Facturas.BlFacturas(); string sDatosBitacora = string.Empty; //Guardar los datos del pedido para la bitacora oFactura = new MedDAL.DAL.facturas(); oFactura = oblFacturas.BuscarFactura(iIdFactura); sDatosBitacora += "Folio:" + oFactura.Folio.ToString() + " "; sDatosBitacora += "Fecha:" + oFactura.Fecha.ToShortDateString() + " "; switch (oFactura.Estatus) { case "1": sDatosBitacora += "Estatus:Pedido "; break; case "2": sDatosBitacora += "Estatus:Remitido "; break; case "3": sDatosBitacora += "Estatus:Emitida "; break; case "4": sDatosBitacora += "Estatus:Cobrada "; break; case "5": sDatosBitacora += "Estatus:Cancelada "; break; } //Recuperar la partida del pedido oblFacturas = new MedNeg.Facturas.BlFacturas(); var oQuery = oblFacturas.RecuperarPartidaFactura(iIdFactura); //Recorrer el resultado y meterlo al datagridview foreach (MedDAL.DAL.facturas_partida oDetalle in oQuery) { sDatosBitacora += "Producto:" + oDetalle.productos.Nombre.ToString() + " "; sDatosBitacora += "Cantidad:" + oDetalle.Cantidad.ToString() + " "; sDatosBitacora += "IEPS:" + oDetalle.IEPS.ToString() + " "; sDatosBitacora += "Iva:" + oDetalle.Iva.ToString() + " "; sDatosBitacora += "Precio:" + oDetalle.Precio.ToString() + " "; sDatosBitacora += "Total:" + Convert.ToDecimal((oDetalle.Cantidad * oDetalle.Precio) + oDetalle.IEPS + oDetalle.Iva) + ", "; } if (oblFacturas.EliminarFacturaPartida(iIdFactura)) { oblFacturas = new MedNeg.Facturas.BlFacturas(); if (oblFacturas.EliminarRegistro(iIdFactura)) { //lblAviso.Text = "El usuario se ha eliminado con éxito"; MedDAL.DAL.bitacora oBitacora = new MedDAL.DAL.bitacora(); MedNeg.Bitacora.BlBitacora oblBitacora = new MedNeg.Bitacora.BlBitacora(); oBitacora.FechaEntradaSrv = DateTime.Now; oBitacora.FechaEntradaCte = DateTime.Now;//Linea Temporal oBitacora.Modulo = "Facturas"; oBitacora.Usuario = Session["usuario"].ToString(); oBitacora.Nombre = Session["nombre"].ToString(); oBitacora.Accion = "Eliminación de Factura"; oBitacora.Descripcion = sDatosBitacora; if (!oblBitacora.NuevoRegistro(oBitacora)) { lblDatos.Text = "El evento no pudo ser registrado en la bitácora"; } } else { //lblAviso.Text = "El usuario no pudo ser eliminado, es posible que tenga datos relacionados"; } } else { //lblAviso.Text = "El usuario no pudo ser eliminado, es posible que tenga datos relacionados"; } }
/// <summary> /// Cargar los datos del pedido y su partida /// </summary> /// <param name="bDatos"></param> protected void CargarFormulario(bool bDatos) { pnlFormulario.Visible = true; pnlCatalogo.Visible = false; pnlFiltroReportes.Visible = false; if (bDatos) { //Objeto que contiene el id del pedido oblFacturas = new MedNeg.Facturas.BlFacturas(); oFactura = new MedDAL.DAL.facturas(); oFactura = (MedDAL.DAL.facturas)oblFacturas.BuscarFactura(int.Parse(dgvDatos.SelectedDataKey[0].ToString())); //Llenar los campos de la factura txbFolio.Text = oFactura.Folio; if (oFactura.idPedido.Equals(null)) txbPedido.Text = ""; else txbPedido.Text = oFactura.pedidos.Folio.ToString(); if (oFactura.idRemision.Equals(null)) txbRemision.Text = ""; else txbRemision.Text = oFactura.remisiones.Folio.ToString(); if (oFactura.idReceta.Equals(null)) txbReceta.Text = ""; else txbReceta.Text = oFactura.recetas.Folio.ToString(); txbFecha.Text = oFactura.Fecha.ToShortDateString(); int iContador = 0; cmbEstatus.SelectedIndex = -1; foreach (ListItem elemento in cmbEstatus.Items) { if (elemento.Value.Equals(oFactura.Estatus.ToString())) { elemento.Selected = true; } iContador++; } cmbTipoFactura.SelectedIndex = -1; iContador = 0; foreach (ListItem elemento in cmbTipoFactura.Items) { if (elemento.Value.Equals(oFactura.TipoFactura.ToString())) { elemento.Selected = true; } iContador++; } //Llenar los campos del cliente txbCliente.Text = oFactura.clientes.Nombre + " " + oFactura.clientes.Apellidos; txbDireccion.Text = oFactura.clientes.Calle + " " + oFactura.clientes.NumeroExt; if (oFactura.clientes.NumeroInt != null) { txbDireccion.Text += "Int: " + oFactura.clientes.NumeroInt; } txbPoblacion.Text = oFactura.clientes.poblaciones.Nombre.ToString() + ", " + oFactura.clientes.municipios.Nombre.ToString() +", " + oFactura.clientes.estados.Nombre.ToString(); //Lenar los datos de la partida del detalle oblFacturas = new MedNeg.Facturas.BlFacturas(); //Recuperar la partida del pedido List<MedDAL.DAL.facturas_partida> oQuery = new List<MedDAL.DAL.facturas_partida>(); oQuery.AddRange(oblFacturas.RecuperarPartidaFactura(oFactura.idFactura)); //Session["lstDetallePartida"] = new List<MedNeg.Facturas.BlDetallePartida>(); if (((List<MedNeg.Facturas.BlDetallePartida>)Session["lstDetallePartida"]).Count() > 0) { ((List<MedNeg.Facturas.BlDetallePartida>)Session["lstDetallePartida"]).Clear(); } //Recorrer el resultado y meterlo al datagridview Session["sTotalFactura"] = 0; //0087 Variables para gestionar la carga de datos del producto o del ensamble string sClave; string sNombre; bool bEsEnsamble; foreach (MedDAL.DAL.facturas_partida oDetalle in oQuery) { //0087 Identificar si es un producto o un ensamble if (oDetalle.idEnsamble.Equals(null)) { //Datos del producto sClave = oDetalle.productos.Clave1; sNombre = oDetalle.productos.Nombre; bEsEnsamble = false; } else { //Datos del ensamble sClave = oDetalle.ensamble.ClaveBom; sNombre = oDetalle.ensamble.Descripcion; bEsEnsamble = true; } oblDetallePartida = new MedNeg.Facturas.BlDetallePartida( Convert.ToInt32(oDetalle.idProducto), //0087 Comentar para enviar las variables correspondientes que tienen la info del producto o ensamble //oDetalle.productos.Clave1, //oDetalle.productos.Nombre, sClave, sNombre, oDetalle.Cantidad, Convert.ToDecimal(oDetalle.IEPS), Convert.ToDecimal(oDetalle.Iva), Convert.ToDecimal(oDetalle.Precio), oDetalle.Observaciones, Convert.ToDecimal((oDetalle.Precio * oDetalle.Cantidad)+oDetalle.IEPS+oDetalle.Iva), oDetalle.Descripcion, bEsEnsamble //0087 ); ((List<MedNeg.Facturas.BlDetallePartida>)Session["lstDetallePartida"]).Add(oblDetallePartida); Session["sTotalFactura"] = Convert.ToDecimal(Session["sTotalFactura"]) + Convert.ToDecimal((oDetalle.Precio * oDetalle.Cantidad) + oDetalle.IEPS + oDetalle.Iva); } //Hacer el binding de la data al dgvDatos lblTotal.Text = "TOTAL:$" + Session["sTotalFactura"].ToString(); dgvPartidaDetalle.DataBind(); //si el estatus es 1 (Pedido) aun se pueden agregar articulos de lo contario ya no if (oFactura.Estatus == "3") { HabilitaRemision(); Deshabilita(); } else { DeshabilitaRemision(); Deshabilita(); } } else { Session["lstDetallePartidaPedidos"] = new List<MedNeg.Facturas.BlDetallePartida>(); dgvPartidaDetalle.DataSource = ((List<MedNeg.Facturas.BlDetallePartida>)Session["lstDetallePartidaPedidos"]); dgvPartidaDetalle.DataBind(); //Limpia(); //Deshabilita(); } }