public List<AreaCortes> ObtenerResumenCortesArea(DateTime AFecha, int AArea)
        {
            string pLotes = ObtenerLotesArea(AArea);
            string[] words=pLotes.Split(',');
            string pLote = "";
            for (int i = 0; i < words.Length; i++)
            {
                if(i==0)
                    pLote = pLote + "'" + words[i] + "'";
                else
                    pLote = pLote + ",'" + words[i] + "'";
            }

            string Fecha = AFecha.ToString("MM.dd.yyyy") + ", 00:00:00.000";
            string pSentencia = "SELECT FECHA, PRODUCTO, (SELECT DESCRIPCION FROM DRASPROD WHERE CLAVE = PRODUCTO) AS DESCRIPCION, LOTE, SUM(PESO) AS PESO, SUM(PESONETO) AS PESONETO, SUM(CANTIDAD) AS CANTIDAD FROM DRASRESUMENCORTES WHERE FECHA = '"+Fecha+"' AND LOTE IN ("+pLote+") GROUP BY FECHA, LOTE, PRODUCTO";
            Console.WriteLine(pSentencia);
            FbConnection con = _Conexiones.ObtenerConexion();
            FbCommand com = new FbCommand(pSentencia, con);
            List<AreaCortes> pResult = new List<AreaCortes>();

            try
            {
                con.Open();
                FbDataReader reader = com.ExecuteReader();
                while (reader.Read())
                { /* Fecha, Producto, Descripcion, Lote, Peso, PesoNeto, Cantidad */
                    AreaCortes pAreaCortes  = new AreaCortes();
                    pAreaCortes.Fecha       = reader["FECHA"] != DBNull.Value ? (DateTime?)reader["FECHA"] : null;
                    pAreaCortes.Producto    = (reader["PRODUCTO"] != DBNull.Value) ? (string)reader["PRODUCTO"] : "";
                    pAreaCortes.Descripcion = (reader["DESCRIPCION"] != DBNull.Value) ? (string)reader["DESCRIPCION"] : "";
                    pAreaCortes.Lote        = (reader["LOTE"] != DBNull.Value) ? (int)reader["LOTE"] : -1;
                    pAreaCortes.Peso        = reader["PESO"] != DBNull.Value ? (Decimal)reader["PESO"] : 0;
                    pAreaCortes.PesoNeto    = reader["PESONETO"] != DBNull.Value ? (Decimal)reader["PESONETO"] : 0;
                    pAreaCortes.Cantidad    = (reader["CANTIDAD"] != DBNull.Value) ? (int)reader["CANTIDAD"] : -1;
                    pResult.Add(pAreaCortes);
                }
            }
            finally
            {
                if (con.State == System.Data.ConnectionState.Open)
                {
                    con.Close();
                }
            }
            return pResult;
        }
        public AreaCortes ObtenerResumenCortesPorId(int AId)
        {
            string pSentencia = "SELECT ID, FECHA, PRODUCTO, (SELECT DESCRIPCION FROM DRASPROD WHERE CLAVE = PRODUCTO) AS DESCRIPCION, LOTE, SUM(PESO)AS PESO, SUM(PESONETO) AS PESONETO, SUM(CANTIDAD) AS CANTIDAD FROM DRASRESUMENCORTES WHERE ID = @ID GROUP BY ID, FECHA, LOTE, PRODUCTO";
            FbConnection con = _Conexiones.ObtenerConexion();
            FbCommand com = new FbCommand(pSentencia, con);
            com.Parameters.Add("@ID", FbDbType.Integer).Value = AId;
            AreaCortes pResult = new AreaCortes();

            try
            {
                con.Open();
                FbDataReader reader = com.ExecuteReader();
                if (reader.Read())
                { /* Fecha, Producto, Descripcion, Lote, Peso, PesoNeto, Cantidad */
                    AreaCortes pAreaCortes  = new AreaCortes();
                    pAreaCortes.Id          = (reader["ID"] != DBNull.Value) ? (int)reader["ID"] : -1;
                    pAreaCortes.Fecha       = reader["FECHA"] != DBNull.Value ? (DateTime?)reader["FECHA"] : null;
                    pAreaCortes.Producto    = (reader["PRODUCTO"] != DBNull.Value) ? (string)reader["PRODUCTO"] : "";
                    pAreaCortes.Descripcion = (reader["DESCRIPCION"] != DBNull.Value) ? (string)reader["DESCRIPCION"] : "";
                    pAreaCortes.Lote        = (reader["LOTE"] != DBNull.Value) ? (int)reader["LOTE"] : -1;
                    pAreaCortes.Peso        = reader["PESO"] != DBNull.Value ? (Decimal)reader["PESO"] : 0;
                    pAreaCortes.PesoNeto    = reader["PESONETO"] != DBNull.Value ? (Decimal)reader["PESONETO"] : 0;
                    pAreaCortes.Cantidad    = (reader["CANTIDAD"] != DBNull.Value) ? (int)reader["CANTIDAD"] : -1;
                    pResult                 = pAreaCortes;
                }
            }
            finally
            {
                if (con.State == System.Data.ConnectionState.Open)
                {
                    con.Close();
                }
            }
            return pResult;
        }
 //Areas Usuario
 public List<AreaCortes> ObtenerAreasUsuario(int AId)
 {
     string pSentencia = "SELECT ID, ID_AREA, (SELECT DESCRIPCION FROM CLASIFICACIONCORTES WHERE ID = ID_AREA) FROM AREA_CORTES WHERE ID_USUARIO = @ID_USUARIO";
     FbConnection con = _Conexiones.ObtenerConexion();
     FbCommand com = new FbCommand(pSentencia, con);
     com.Parameters.Add("@ID_USUARIO", FbDbType.Integer).Value = AId;
     List<AreaCortes> pResult = new List<AreaCortes>();
     try
     {
         con.Open();
         FbDataReader reader = com.ExecuteReader();
         while (reader.Read())
         {
             AreaCortes pAreaCortes  = new AreaCortes();
             pAreaCortes.Id          = (reader["ID"] != DBNull.Value) ? (int)reader["ID"] : -1;
             pAreaCortes.Id_Area     = (reader["ID_AREA"] != DBNull.Value) ? (int)reader["ID_AREA"] : -1;
             pAreaCortes.Descripcion = (reader["DESCRIPCION"] != DBNull.Value) ? (string)reader["DESCRIPCION"] : "";
             pResult.Add(pAreaCortes);
         }
     }
     finally
     {
         if (con.State == System.Data.ConnectionState.Open)
         {
             con.Close();
         }
     }
     return pResult;
 }