Пример #1
0
        /// <summary>
        /// Eliminar
        /// </summary>
        /// <param name="iIdRemision"></param>
        private void Eliminar(int iIdRemision)
        {

            //Eliminar primero la partida para la integridad referencial
            oblRemision = new MedNeg.Remisiones.BlRemisiones();
            string sDatosBitacora= string.Empty;

            //Guardar los datos del pedido para la bitacora
            oRemision = new MedDAL.DAL.remisiones();
            oRemision = oblRemision.BuscarRemision(iIdRemision);

            sDatosBitacora += "Folio:" + oRemision.Folio.ToString()+" ";
            sDatosBitacora += "Fecha:" + oRemision.Fecha.ToShortDateString()+" ";
            switch (oRemision.Estatus)
            {
                case "1":
                    sDatosBitacora += "Estatus:Pedido ";
                    break;
                case "2":
                     sDatosBitacora +="Estatus:Remitido ";
                    break;
                case "3":
                    sDatosBitacora +="Estatus:Facturado ";
                    break;
                case "4":
                    sDatosBitacora += "Estatus:Cancelado ";
                    break;
            }
            
            //Recuperar la partida del pedido
            oblRemision = new MedNeg.Remisiones.BlRemisiones();
            var oQuery = oblRemision.RecuperarPartidaRemision(iIdRemision);
            //Recorrer el resultado y meterlo al datagridview
            foreach (MedDAL.DAL.remisiones_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 (oblRemision.EliminarRemisionPartida(iIdRemision))
            {
                oblRemision= new MedNeg.Remisiones.BlRemisiones();
                if (oblRemision.EliminarRegistro(iIdRemision))
                {
                    
                    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 = "Remisiones";
                    oBitacora.Usuario = Session["usuario"].ToString();
                    oBitacora.Nombre = Session["nombre"].ToString();
                    oBitacora.Accion = "Eliminación de Remisión";
                    oBitacora.Descripcion = sDatosBitacora;

                    if (!oblBitacora.NuevoRegistro(oBitacora))
                    {
                        lblDatos.Text = "El evento no pudo ser registrado en la bitácora";
                    }
                }
                else
                {
                    lblDatos.Text = "No se pudo eliminar la remisión, por favor vuelva a intentarlo"; 
                }

            }
            else
            {
                lblDatos.Text = "No se pudo eliminar la remisión, por favor vuelva a intentarlo"; 
            }
           
        }
Пример #2
0
        /// <summary>
        /// Editar
        /// </summary>
        private void Editar()
        {
            oRemision = new MedDAL.DAL.remisiones();
            oblRemision = new MedNeg.Remisiones.BlRemisiones();
            //oRemision.idRemision = int.Parse(dgvDatos.SelectedDataKey.Value.ToString());
            oRemision = oblRemision.BuscarRemisionFolio(txbFolio.Text);
            oRemision.Estatus = cmbEstatus.SelectedValue.ToString();

            oblRemision = new MedNeg.Remisiones.BlRemisiones();
            if(oblRemision.EditarRegistro(oRemision))
            {
                //Datos de la bitacora
                sDatosBitacora += "Tipo:" + cmbTipoRemision.SelectedValue.ToString() + " ";
                sDatosBitacora += "Folio:" + txbFolio.Text + " ";
                sDatosBitacora += "Fecha:" + txbFecha.Text + " ";
                sDatosBitacora += "Estatus:" + cmbEstatus.SelectedItem.ToString() + " ";
                sDatosBitacora += "Cliente:" + txbCliente.Text + " ";

                oblRemision = new MedNeg.Remisiones.BlRemisiones();
                if (oblRemision.EliminarRemisionPartida(oRemision.idRemision))
                {
                    bool bRegistroFallido = false;

                    //Recorrer el objeto de sesion lstDetallePartida que contiene los datos de la partida
                    foreach (MedNeg.Facturas.BlDetallePartida pedidoDetalle in (List<MedNeg.Facturas.BlDetallePartida>)Session["lstDetallePartida"])
                    {
                        //Saber si es un ensamble el que se esta registrando
                        if (pedidoDetalle.bEsEnsamble == true)
                        {
                            AgregarDetalleEnsamble(pedidoDetalle, oRemision.idRemision);
                        }
                        else
                        {

                            oblRemision = new MedNeg.Remisiones.BlRemisiones();
                            MedDAL.DAL.remisiones_partida oRemisionPartida = new MedDAL.DAL.remisiones_partida();

                            oRemisionPartida.idRemision = oRemision.idRemision;
                            oRemisionPartida.idProducto = pedidoDetalle.iIdProducto;
                            oRemisionPartida.Cantidad = pedidoDetalle.dCantidad;
                            oRemisionPartida.IEPS = pedidoDetalle.dIeps;
                            oRemisionPartida.Iva = pedidoDetalle.dIva;
                            oRemisionPartida.Precio = pedidoDetalle.dPrecio;

                            //Registrar el detalle del pedido
                            if (!oblRemision.NuevoDetallePartida(oRemisionPartida))
                            {
                                bRegistroFallido = true;
                            }
                            else
                            {
                                sDatosBitacora += "Producto:" + pedidoDetalle.iIdProducto.ToString() + " ";
                                sDatosBitacora += "Cant:" + pedidoDetalle.dCantidad.ToString() + " ";
                                sDatosBitacora += "IEPS:" + pedidoDetalle.dIeps.ToString() + " ";
                                sDatosBitacora += "Iva:" + pedidoDetalle.dIva.ToString() + " ";
                                sDatosBitacora += "Precio:" + pedidoDetalle.dPrecio.ToString() + " ";
                                sDatosBitacora += "Total:" + Convert.ToDecimal((pedidoDetalle.dCantidad * pedidoDetalle.dPrecio) + pedidoDetalle.dIeps + pedidoDetalle.dIva) + ", ";

                           }
                        }
                    }

                    /****** GT: Modificar las existencias de los productos nuevos ***************/

                    MedNeg.Usuarios.BlUsuarios oblUsuario = new MedNeg.Usuarios.BlUsuarios();
                    MedNeg.Productos.BlProductos oblProductos = new MedNeg.Productos.BlProductos();
                    MedDAL.DAL.usuarios oUsuario = new MedDAL.DAL.usuarios();

                    bool bModificarExistenciasError = false;
                    bool bStockMin = false;

                    oUsuario = (MedDAL.DAL.usuarios)oblUsuario.Buscar(Session["usuario"].ToString());

                    oblRemision = new MedNeg.Remisiones.BlRemisiones();
                    foreach (MedNeg.Facturas.BlDetallePartida remisionDetalleNuevos in (List<MedNeg.Facturas.BlDetallePartida>)Session["lstremisionespartidaedicion"])
                    {
                        if (oblRemision.ModificarExistenciaProducto(oUsuario.idAlmacen, remisionDetalleNuevos.iIdProducto, remisionDetalleNuevos.dCantidad, 1))
                        {
                            //Si el proceso de extraer se da exitosamente, se revisa ahora las existencias de todos los lotes de ese almacen
                            //Posteriormente se revisa si la existencia esta por igual o debajo del Stock Minimo requerido
                            decimal dCantidad = 0;
                            foreach (MedDAL.DAL.productos_almacen oProductoAlmacen in oblProductos.ObtenerExistenciaProducto(remisionDetalleNuevos.iIdProducto, oUsuario.idAlmacen))
                            {
                                dCantidad += oProductoAlmacen.Cantidad;
                            }

                            MedDAL.DAL.productos_almacen_stocks oProductoAlmacenStocks = oblProductos.ObtenerProductoAlmacenStock(oUsuario.idAlmacen, remisionDetalleNuevos.iIdProducto);
                            if (dCantidad <= oProductoAlmacenStocks.StockMin)
                            {
                                bStockMin = true;
                            }
                        }
                        else 
                        {
                            bModificarExistenciasError = true;
                        }
                    }
                    if (bModificarExistenciasError == true)
                    {
                        lblDatos.Text = "No se pudo modificar la existencia de los productos, por favor contacte al administrador";
                    }

                    if (bStockMin)
                    {
                        ScriptManager.RegisterStartupScript(pnlFormulario, pnlFormulario.GetType(), "alertstock", "alertarStock(1);", true);
                    }

                    /****** GT: Modificar las existencias de los productos nuevos ***************/

                    //Anotar en la bitacora la modificación a la remision
                    oBitacora = new MedDAL.DAL.bitacora();
                    oblBitacora = new MedNeg.Bitacora.BlBitacora();
                    oBitacora.FechaEntradaSrv = DateTime.Now;
                    oBitacora.FechaEntradaCte = DateTime.Now;//Linea Temporal
                    oBitacora.Modulo = "Remisiones";
                    oBitacora.Usuario = Session["usuario"].ToString();
                    oBitacora.Nombre = Session["nombre"].ToString();
                    oBitacora.Accion = "Edición de Remision";
                    oBitacora.Descripcion = sDatosBitacora;
                    if (!oblBitacora.NuevoRegistro(oBitacora))
                    {
                        //lblAviso2.Text = "El evento no pudo ser registrado en la bitácora";
                    }
                    Session["sTotalFactura"] = 0;
                }

                
            }

        }