protected override ValideFiltre <T> ValideFiltre(KeyParam param)
        {
            ValideFiltre <T> v = null;

            if (param != null)
            {
                v = (T entité) => entité.Uid == param.Uid;
            }
            return(v);
        }
示例#2
0
        public override async Task <SiteVue> LitVue(KeyParam param)
        {
            Site site = await _context.Site.Where(e => e.EstSemblable(param)).FirstAsync();

            SiteVue vue = new SiteVue
            {
                NomSite  = site.NomSite,
                Titre    = site.Titre,
                Etat     = site.Etat,
                DateEtat = site.DateEtat
            };

            site.CopieKey(vue.KeyParam);
            return(vue);
        }
示例#3
0
        public static byte[] GetKeyParam(IntPtr key, KeyParam param)
        {
            byte[] data    = new byte[0];
            uint   dataLen = 0;
            uint   flags   = 0;
            //length
            bool    retVal = NativeMethods.CryptGetKeyParam(key, (uint)param, data, ref dataLen, flags);
            ErrCode ec     = Error.HandleRetVal(retVal, ErrCode.MORE_DATA);

            if (ec == ErrCode.MORE_DATA)
            {
                //data
                data   = new byte[dataLen];
                retVal = NativeMethods.CryptGetKeyParam(key, (uint)param, data, ref dataLen, flags);
                ec     = Error.HandleRetVal(retVal);
            }
            return(data);
        }
        protected override ValideFiltre <T> ValideFiltre(KeyParam param)
        {
            ValideFiltre <T> v = null;

            if (param != null)
            {
                v = (T entité) => entité.Uid == param.Uid;
                if (param.Rno != null)
                {
                    v += (T entité) => entité.Rno == param.Rno;
                    if (param.No != null)
                    {
                        v += (T entité) => entité.No == param.No;
                    }
                }
            }
            return(v);
        }
        protected async Task <IActionResult> Liste(ServiceVues <TVue> serviceVues, KeyParam param)
        {
            CarteUtilisateur carte = await _utilisateurService.CréeCarteUtilisateur(HttpContext.User);

            if (carte == null)
            {
                // fausse carte
                return(Forbid());
            }

            if (param != null && !ListeEstPermis(carte, param))
            {
                return(Forbid());
            }

            List <TVue> vues = await serviceVues();

            if (vues == null)
            {
                return(NotFound());
            }

            return(Ok(vues));
        }
示例#6
0
 public override async Task <T> Lit(KeyParam param)
 {
     return(await _dbSet.Where(entité => entité.Uid == param.Uid && entité.Rno == param.Rno && entité.No == param.No).FirstOrDefaultAsync());
 }
示例#7
0
 protected abstract ValideFiltre <T> ValideFiltre(KeyParam param);
 public override async Task <T> Lit(KeyParam param)
 {
     return(await _dbSet.Where(entité => entité.EstSemblable(param)).FirstOrDefaultAsync());
 }
 public SiteVue SiteClient(KeyParam siteParam)
 {
     return(Sites.Where(site => site.Uid != Uid && site.EstSemblable(siteParam)).FirstOrDefault());
 }
 public async Task <IActionResult> Liste(KeyParam param)
 {
     return(await Liste(() => __service.Liste(param), param));
 }
 protected virtual bool ListeEstPermis(CarteUtilisateur carte, KeyParam param)
 {
     return(ListeEstPermis(carte));
 }
 protected virtual bool LitEstPermis(CarteUtilisateur carte, KeyParam param)
 {
     return(false);
 }
示例#13
0
 public async Task <List <TVue> > Liste(KeyParam param, ValideFiltre <TVue> valide)
 {
     return(await CréeVues(ValideFiltre(param), valide));
 }
示例#14
0
 public async Task <List <TVue> > Liste(KeyParam param)
 {
     return(await CréeVues(ValideFiltre(param), null));
 }
示例#15
0
        public async Task <long> DernierNo(KeyParam param)
        {
            var données = _dbSet.Where(donnée => donnée.Uid == param.Uid && donnée.Rno == param.Rno);

            return(await données.AnyAsync() ? await données.MaxAsync(donnée => donnée.No) : 0);
        }
示例#16
0
 public bool EstPropriétaire(KeyParam param)
 {
     return(EstUtilisateurActif && param.Uid == Uid &&
            (param.Rno == null || Roles.Where(role => EstRoleActif(role) && role.Rno == param.Rno).Any()));
 }
 protected async Task <IActionResult> Liste(KeyParam param, ValideFiltre <TVue> valide)
 {
     return(await Liste(() => __service.Liste(param, valide), param));
 }
示例#18
0
 public SiteVue SiteFournisseur(KeyParam siteParam)
 {
     return(siteParam.Uid == Uid?Sites.Where(site => site.Uid == Uid).FirstOrDefault() : null);
 }
示例#19
0
文件: Key.cs 项目: simm0n/Synchronizr
 public static byte[] GetKeyParam(IntPtr key, KeyParam param)
 {
     byte[] data = new byte[0];
     uint dataLen = 0;
     uint flags = 0;
     //length
     bool retVal = Crypto.CryptGetKeyParam(key, (uint)param, data, ref dataLen, flags);
     ErrCode ec = Error.HandleRetVal(retVal, ErrCode.MORE_DATA);
     if(ec == ErrCode.MORE_DATA)
     {
         //data
         data = new byte[dataLen];
         retVal = Crypto.CryptGetKeyParam(key, (uint)param, data, ref dataLen, flags);
         ec = Error.HandleRetVal(retVal);
     }
     return data;
 }
示例#20
0
 public static void SetKeyParam(IntPtr key, KeyParam param, byte[] data)
 {
     uint    flags  = 0;
     bool    retVal = NativeMethods.CryptSetKeyParam(key, (uint)param, data, flags);
     ErrCode ec     = Error.HandleRetVal(retVal);
 }
示例#21
0
文件: Key.cs 项目: simm0n/Synchronizr
 public static void SetKeyParam(IntPtr key, KeyParam param, byte[] data)
 {
     uint flags = 0;
     bool retVal = Crypto.CryptSetKeyParam(key, (uint) param, data, flags);
     ErrCode ec = Error.HandleRetVal(retVal);
 }
示例#22
0
 public async Task<List<ProduitVue>> Disponibles(KeyParam param)
 {
     return await Liste(param, (ProduitVue vue) => { return vue.Prix > 0; });
 }
示例#23
0
 public static extern bool CryptGetKeyParam(IntPtr keyContext, [MarshalAs(UnmanagedType.U4)] KeyParam param, byte[] data, out int datalen, int flags);