private void DeleteDetail(IList<ETablaGenDet> col, bool filterModified)
        {
            if (col == null)
            return;

             IDOUpdate objDO = new MGDOMnt.TablaGenDet();
             IEnumerable<ETablaGenDet> colSel = null;

             if (filterModified)
             {
            var deleteItems = from itm in col
                              where itm.EntityState == EntityState.Deleted
                              select itm;

            colSel = (IEnumerable<ETablaGenDet>)deleteItems;
             }
             else
             {
            var deleteItems = from itm in col
                              select itm;

            colSel = (IEnumerable<ETablaGenDet>)deleteItems;
             }
             foreach (ETablaGenDet objE in colSel)
            objDO.Delete(objE);
        }
        private void UpdateDetail(IList<ETablaGenDet> col, object[] primKey)
        {
            if (col == null)
            return;

             IDOUpdate objDO = new MGDOMnt.TablaGenDet();

             foreach (ETablaGenDet objE in col)
             {

            object[] objRet = null;

            if (primKey != null)
            {
               objE.IdTabla = primKey[0].ToString();
            }

            switch (objE.EntityState)
            {

               case EntityState.Added:
                  objRet = objDO.Insert(objE);
                  break;

               case EntityState.Modified:
                  if (objE.StAnulado == ConstFlagEstado.DESACTIVADO)
                     objDO.Update(objE);
                  else
                     objDO.Delete(objE);
                  break;

            }

             }
        }
        private object[] UpdateMaster(ETablaGenDet entity)
        {
            IDOUpdate objDO = new MGDOMnt.TablaGenDet();

             if (entity.EntityState == EntityState.Unchanged)
            return null;

             object[] objRet = null;

             switch (entity.EntityState)
             {

            case EntityState.Added:
               objRet = objDO.Insert(entity);
               break;

            case EntityState.Modified:
               if (entity.StAnulado == ConstFlagEstado.DESACTIVADO)
                  objDO.Update(entity);
               else
                  objDO.Delete(entity);
               break;

            case EntityState.Deleted:
               objDO.Delete(entity);
               break;

             }

             return objRet;
        }
        private void DeleteMaster(ETablaGenDet entity)
        {
            IDOUpdate objDO = new MGDOMnt.TablaGenDet();

             if (entity.EntityState == EntityState.Unchanged)
            return;

             objDO.Delete(entity);
        }