public static void Agregar(SinabEntities db, int idEstablecimiento, int idProcesoCompra, bool unaSolicitud)
        {
            var existe = db.SAB_UACI_PROGRAMADISTRIBUCION.FirstOrDefault(pd =>
                                                                         pd.IDESTABLECIMIENTO == idEstablecimiento &&
                                                                         pd.IDPROCESOCOMPRA == idProcesoCompra);

            if (existe != null)
            {
                db.SAB_UACI_PROGRAMADISTRIBUCION.DeleteObject(existe);
            }
            //llamar a la funcion
            if (unaSolicitud)
            {
                db.prc_LlenarProgramaDistribucionUna(idProcesoCompra, idEstablecimiento,
                                                     Membresia.ObtenerUsuario().NombreUsuario);
            }
            else
            {
                db.prc_LlenarProgramaDistribucion(idProcesoCompra, idEstablecimiento,
                                                  Membresia.ObtenerUsuario().NombreUsuario);
            }
            //var res = (from aes in db.SAB_EST_ALMACENESENTREGASOLICITUD
            //    join spc in db.SAB_EST_SOLICITUDESPROCESOCOMPRAS on new {aes.IDESTABLECIMIENTO, aes.IDSOLICITUD} equals new {spc.IDESTABLECIMIENTO, spc.IDSOLICITUD}
            //    join ae in db.SAB_CAT_ALMACENESESTABLECIMIENTOS on aes.IDESTABLECIMIENTO equals ae.IDESTABLECIMIENTO
            //    where spc.IDPROCESOCOMPRA == idProcesoCompra &&
            //          aes.IDESTABLECIMIENTO == idEstablecimiento
            //    group aes by new
            //                 {
            //                     aes.IDESTABLECIMIENTO,
            //                     spc.IDPROCESOCOMPRA,
            //                     IdEstablecimientoSolicita = ae.IDESTABLECIMIENTO,
            //                     aes.IDSOLICITUD,
            //                     aes.RENGLON,
            //                     aes.IDALMACENENTREGA,
            //                     aes.IDFUENTEFINANCIAMIENTO
            //                 }
            //    into grupo
            //    select new
            //           {
            //               grupo.Key.IDESTABLECIMIENTO,
            //               grupo.Key.IDPROCESOCOMPRA,
            //               IDESTABLECIMIENTOSOLICITA = grupo.Key.IDESTABLECIMIENTO,
            //               grupo.Key.IDSOLICITUD,
            //               RENGLON = (int) grupo.Key.RENGLON,
            //               IDALMACEN = grupo.Key.IDALMACENENTREGA,
            //               CANTIDADSOLICITADA = grupo.Sum(g => g.CANTIDAD),
            //               grupo.Key.IDFUENTEFINANCIAMIENTO
            //           }).ToList();

            //if (!res.Any()) return;
            //foreach (var obj in res.Select(pd => new SAB_UACI_PROGRAMADISTRIBUCION()
            //{
            //    IDESTABLECIMIENTO = pd.IDESTABLECIMIENTO,
            //    IDPROCESOCOMPRA = pd.IDPROCESOCOMPRA,
            //    IDESTABLECIMIENTOSOLICITA = pd.IDESTABLECIMIENTO,
            //    IDSOLICITUD = pd.IDSOLICITUD,
            //    RENGLON = pd.RENGLON,
            //    IDALMACEN = pd.IDALMACEN,
            //    CANTIDADSOLICITADA = pd.CANTIDADSOLICITADA,
            //    CANTIDADADJUDICADA = 0,
            //    CANTIDADENTREGADA = 0,
            //    AUUSUARIOCREACION = Membresia.ObtenerUsuario().NombreUsuario,
            //    AUFECHACREACION = DateTime.Now,
            //    ESTASINCRONIZADA = 0,
            //    IDFUENTEFINANCIAMIENTO = pd.IDFUENTEFINANCIAMIENTO
            //}))
            //{
            //    db.SAB_UACI_PROGRAMADISTRIBUCION.AddObject(obj);
            //    db.SaveChanges();
            //}
        }