public void CreateToken(ModelToken model, string[] usernames, int testid) { using (var transaction = _ctx.Database.BeginTransaction()) { try { model.TokenActive = true; model.TestID = testid; Each(usernames, x => { ModelToken check = GetTokenByUsernameAndTest(x, testid); if (check == null) { model.TokenString = RandomString(); model.Username = x; var entity = model.ToEntity(); _ctx.Insert(entity); _ctx.SaveChanges(); } }); transaction.Commit(); } catch (Exception e) { transaction.Rollback(); throw new ArgumentException(e.Message); } } }
public void CreateToken(ModelToken model, string username, int testid) { using (var transaction = _ctx.Database.BeginTransaction()) { try { model.TokenActive = true; model.TokenString = RandomString(); model.Username = username; model.TestID = testid; var entity = model.ToEntity(); _ctx.Insert(entity); _ctx.SaveChanges(); transaction.Commit(); } catch (Exception e) { transaction.Rollback(); throw new ArgumentException(e.Message); } } }
public ConnectedComponent(List <Tuple <int, int> > component, ModelToken token, double [,] corr) { Component = component; double sumx = 0; double sumy = 0; foreach (var item in component) { sumx += item.Item1; sumy += item.Item2; CorrMax = Math.Max(CorrMax, corr[item.Item1, item.Item2]); } MeanX = sumx / component.Count; MeanY = sumy / component.Count; Token = token; }
static List <BlockState> GetBlockData(Stream InputStream) { /* * This whole section is just a tangled mess to parse the blockstate JSON files. * * Rather than even try to parse the JSON myself with string operators (cancer), * I decided to use an external function library. */ List <BlockState> BlockStates = new List <BlockState>(); //Generate the lists List <ModelReference> ModelList = new List <ModelReference>(); //before using them Dictionary <string, string> ModelDictionary = new Dictionary <string, string>(); using (StreamReader sr = new StreamReader(InputStream)) { JObject JsonOutput = JObject.Parse(sr.ReadToEnd()); foreach (KeyValuePair <string, JToken> Token in JsonOutput) { if (Token.Key == "variants") { BlockStates = new List <BlockState>(); foreach (JToken Variants in Token.Value) { foreach (JToken StateToken in Variants.Values <JToken>()) { ModelList = new List <ModelReference>(); ModelDictionary = new Dictionary <string, string>(); foreach (JToken ModelToken in StateToken.Children()) { ModelDictionary.Add(ModelToken.ToObject <JProperty>().Name, ModelToken.ToObject <string>()); } ModelList.Add(new ModelReference(ModelDictionary)); BlockStates.Add(new BlockState(Variants.ToObject <JProperty>().Name, ModelList)); } } //PackBlocks.Add(new Block(Entry.Name.Split('.')[0], BlockStates)); } else { throw new TrashMonkeyException("Model is multipart!"); } } } return(BlockStates); }
public void UpdateToken(ModelToken model) { using (var transaction = _ctx.Database.BeginTransaction()) { try { var entity = _ctx.Tokens.FirstOrDefault(x => x.TokenString == model.TokenString); model.Update(entity); _ctx.Update(entity); _ctx.SaveChanges(); transaction.Commit(); } catch (Exception e) { transaction.Rollback(); throw new ArgumentException(e.Message); } } }
public void CreateToken(ModelToken model) { using (var transaction = _ctx.Database.BeginTransaction()) { try { model.TokenActive = true; var entity = model.ToEntity(); _ctx.Insert(entity); _ctx.SaveChanges(); transaction.Commit(); } catch (Exception e) { transaction.Rollback(); throw new ArgumentException(e.Message); } } }
private List <ConnectedComponent> GetTokens(Bitmap bitmapTemp) { List <ConnectedComponent>[] component_list_array = new List <ConnectedComponent> [TokenList.Count]; double[,] imageDouble = ToolsConvolution.BitMapToDoubleArray(bitmapTemp, 0.5); Parallel.For(0, TokenList.Count, tokenIndex => { ModelToken token = TokenList[tokenIndex]; var corr = ToolsConvolution.CorrelationFFT(imageDouble, token.GetKernel()); component_list_array[tokenIndex] = ToolsConnectedComponent.GetConnectedComponents(corr, token.Threshold.Value, token); }); List <ConnectedComponent> component_list = new List <ConnectedComponent>(); foreach (List <ConnectedComponent> list in component_list_array) { component_list.AddRange(list); } return(component_list); }
public ActionResult AddStudentsToTest(AddStudentsToTestModel model) { if (!ModelState.IsValid) { return(View(model)); } ModelTest test = _testStore.GetTest(model.TestID); Stream inStream = model.file.InputStream; StreamReader sr = new StreamReader(inStream); try { List <string> usernames = new List <string>(); while (!sr.EndOfStream) { ModelUser user = new ModelUser(); string str = sr.ReadLine(); string[] userDetails = str.Split(','); user.Username = userDetails[0]; user.PasswordHash = userDetails[1]; usernames.Add(userDetails[0]); if (_userStore.GetUser(user.Username) == null) { _userStore.CreateUser(user, "student"); } } sr.Close(); ModelToken token = new ModelToken(); token.CreatedTime = DateTime.Now; DateTime date = test.Date; DateTime time = test.EndTime; time.AddHours(1); date.AddHours(time.Hour); date.AddMinutes(time.Minute); token.ExpiredTime = date; _tokenStore.CreateToken(token, usernames.ToArray(), model.TestID); return(RedirectToAction("ViewTests", "Admin")); } catch (Exception e) { sr.Close(); return(RedirectToAction("ViewTests", "Admin")); } }
static void GetBlockStates(string PathInput) { List <Block> Blocks = new List <Block>(); using (ZipArchive MinecraftJar = ZipFile.OpenRead(PathInput)) { IEnumerable <ZipArchiveEntry> BlockStateEntries = MinecraftJar.Entries.Where(Entry => (Entry.Name.EndsWith(".json")) && (Entry.FullName.EndsWith(@"minecraft/blockstates/" + Entry.Name))); foreach (ZipArchiveEntry Entry in BlockStateEntries) { /* * This whole section is just a tangled mess to parse the blockstate JSON files. * * Rather than even try to parse the JSON myself with string operators (cancer), * I decided to use an external function library. */ List <BlockState> BlockStates = new List <BlockState>(); //Generate the lists List <ModelReference> ModelList = new List <ModelReference>(); //before using them Dictionary <string, string> ModelDictionary = new Dictionary <string, string>(); using (StreamReader sr = new StreamReader(Entry.Open())) { try { JObject JsonOutput = JObject.Parse(sr.ReadToEnd()); foreach (KeyValuePair <string, JToken> Token in JsonOutput) { if (Token.Key == "variants") { BlockStates = new List <BlockState>(); foreach (JToken Variants in Token.Value) { foreach (JToken StateToken in Variants.Values <JToken>()) { ModelList = new List <ModelReference>(); ModelDictionary = new Dictionary <string, string>(); foreach (JToken ModelToken in StateToken.Children()) { ModelDictionary.Add(ModelToken.ToObject <JProperty>().Name, ModelToken.ToObject <string>()); } ModelList.Add(new ModelReference(ModelDictionary)); BlockStates.Add(new BlockState(Variants.ToObject <JProperty>().Name, ModelList)); } } Blocks.Add(new Block(Entry.Name.Split('.')[0], BlockStates)); } } } catch { /* * For some reason Mojang has a crappy blockstate for acacia_wall_sign. * It has a random 'n' after all the data, which gives my code AIDS * unless I put it all in a try/catch. :P */ } } } ResourcePack[] ResourcePacks = null; foreach (ResourcePack Pack in ResourcePacks) { switch (Pack.Type) { case ResourcePack.PackType.Mod: case ResourcePack.PackType.Jar: case ResourcePack.PackType.Zip: break; case ResourcePack.PackType.Folder: break; default: break; } } List <ZipArchiveEntry> BlockModelEntries = new List <ZipArchiveEntry>(); foreach (Block block in Blocks) { BlockModelEntries.Add(MinecraftJar.GetEntry("assets/minecraft/models/" + block.BlockStates[0].Models[0].ModelData["model"] + ".json")); } BlockModelEntries = BlockModelEntries.Distinct().ToList(); List <BlockModel> BlockModels = new List <BlockModel>(); foreach (ZipArchiveEntry Entry in BlockModelEntries) { } Console.Write(""); //IEnumerable<ZipArchiveEntry> BlockModelEntries = MinecraftJar.Entries.Where(Entry => (Entry.Name.EndsWith(".json")) && (Entry.FullName.EndsWith(@"minecraft/models/block/" + Entry.Name))); //foreach (ZipArchiveEntry Entry in BlockModelEntries) //{ //} } }
public ModelToken GetToken(int tokenid) { var model = new ModelToken(); return(model.Get(_ctx).FirstOrDefault(x => x.TokenID == tokenid)); }
public IQueryable <ModelToken> ReadTokens() { var model = new ModelToken(); return(model.Get(_ctx)); }
public static List <ConnectedComponent> GetConnectedComponents(double[,] image, double threshold, ModelToken token) { List <ConnectedComponent> cc = new List <ConnectedComponent>(); bool[,] blacklist = new bool[image.GetLength(0), image.GetLength(1)]; for (int i = 0; i < image.GetLength(0); i++) { for (int j = 0; j < image.GetLength(1); j++) { if (!blacklist[i, j]) { if (threshold < image[i, j]) { Queue <Tuple <int, int> > queue = new Queue <Tuple <int, int> >(); List <Tuple <int, int> > node_list = new List <Tuple <int, int> >(); queue.Enqueue(new Tuple <int, int>(i, j)); while (0 < queue.Count) { ProcessNode(image, threshold, blacklist, queue, node_list); } cc.Add(new ConnectedComponent(node_list, token, image)); } } } } return(cc); }
public IQueryable <ModelToken> GetTokensByTokenString(string tokenstring) { var model = new ModelToken(); return(model.Get(_ctx).Where(x => x.TokenString == tokenstring)); }
public IQueryable <ModelToken> GetTokensByTest(int testid) { var model = new ModelToken(); return(model.Get(_ctx).Where(x => x.TestID == testid)); }
public IQueryable <ModelToken> GetTokensByUsername(string username) { var model = new ModelToken(); return(model.Get(_ctx).Where(x => x.Username == username)); }
public ModelToken GetTokenByUsernameAndTest(string username, int testid) { var model = new ModelToken(); return(model.Get(_ctx).Where(x => x.Username == username).FirstOrDefault(x => x.TestID == testid)); }
public IActionResult GeneraToken(ModelToken modelToken) { var Token = TokenServices.BuildToken(modelToken.Email); return(Ok(new { Token })); }