public ResultadoScratch Map(int calId) { var res = new ResultadoScratch() { CalificacionId = calId, General = generalValoration, Nombre = SpriteName, NumBloques = BlockCount, NumScripts = ScriptCount, DeadCodeCount = DeadCodeCount, DuplicateScriptsCount = DuplicateScriptCount, Bloques = BlockFrequency .Select(b => { return(new BloqueScratch() { Nombre = b.Item1, Frecuencia = b.Item2 }); }).ToList() }; if (generalValoration) { res.IInfoScratch_General = (IInfoScratch_General) ((GeneralInfo)AdditionalInfo).Map(); } else { res.IInfoScratch_Sprite = (IInfoScratch_Sprite) ((SpriteInfo)AdditionalInfo).Map(); } return(res); }
public DesafioCompletadoViewModel(int cursoId, ResultadoScratch resultado, Desafio siguienteDesafio) { this.CursoId = cursoId; this.Resultado = resultado; this.SiguienteDesafio = siguienteDesafio; }
public ResultadoGeneralViewModel(ResultadoScratch model) { this.Nombre = model.Nombre; this.NumScripts = model.NumScripts; this.NumBloques = model.NumBloques; this.DuplicateScriptsCount = model.DuplicateScriptsCount; this.DeadCodeCount = model.DeadCodeCount; }
public EvaluacionViewModel(ResultadoScratch resultadoGeneral, InfoDesafio infoDesafio) { var infoGeneral = resultadoGeneral.IInfoScratch_General; SpriteCount = infoGeneral.SpriteCount; EventsUse = infoGeneral.EventsUse; MessageUse = infoGeneral.MessageUse; SharedVariables = infoGeneral.SharedVariables; ListUse = infoGeneral.ListUse; float Trans(int n, bool value) { return((value) ? (n / (float)SpriteCount) : -1f); } NonUnusedBlocks = Trans(infoGeneral.NonUnusedBlocks, infoDesafio.NonUnusedBlocks); UserDefinedBlocks = Trans(infoGeneral.UserDefinedBlocks, infoDesafio.UserDefinedBlocks); CloneUse = Trans(infoGeneral.CloneUse, infoDesafio.CloneUse); SecuenceUse = Trans(infoGeneral.SecuenceUse, infoDesafio.SecuenceUse); MultipleThreads = Trans(infoGeneral.MultipleThreads, infoDesafio.MultipleThreads); TwoGreenFlagTrhead = Trans(infoGeneral.TwoGreenFlagTrhead, infoDesafio.TwoGreenFlagThread); AdvancedEventUse = Trans(infoGeneral.AdvancedEventUse, infoDesafio.AdvancedEventUse); UseSimpleBlocks = Trans(infoGeneral.UseSimpleBlocks, infoDesafio.UseSimpleBlocks); UseMediumBlocks = Trans(infoGeneral.UseMediumBlocks, infoDesafio.UseMediumBlocks); UseNestedControl = Trans(infoGeneral.UseNestedControl, infoDesafio.UseNestedControl); BasicInputUse = Trans(infoGeneral.BasicInputUse, infoDesafio.BasicInputUse); VariableUse = Trans(infoGeneral.VariableUse, infoDesafio.VariableUse); SpriteSensing = Trans(infoGeneral.SpriteSensing, infoDesafio.SpriteSensisng); VariableCreation = Trans(infoGeneral.VariableCreation, infoDesafio.NonCreatedVariableUse); BasicOperators = Trans(infoGeneral.BasicOperators, infoDesafio.BasicOperators); MediumOperators = Trans(infoGeneral.MediumOperators, infoDesafio.MediumOperators); AdvancedOperators = Trans(infoGeneral.AdvancedOperators, infoDesafio.NestedOperators); }
//Resultados Scratch public void Add_ResultadoScratch(ResultadoScratch resultado) { Add <ResultadoScratch>(resultado); if (resultado.General) { Add_InfoScratch(resultado.IInfoScratch_General); } else { Add_InfoScratch(resultado.IInfoScratch_Sprite); } foreach (var bloque in resultado.Bloques) { Add <BloqueScratch>(bloque); } }
public DesafioCompletadoViewModel(int cursoId, ResultadoScratch resultado, Desafio desafioCompletado, Desafio siguienteDesafio, float puntuacion) { CursoId = cursoId; ResultadoId = resultado.Id; NumScripts = resultado.NumScripts; NumBloques = resultado.NumBloques; DuplicateScriptsCount = resultado.DuplicateScriptsCount; DeadCodeCount = resultado.DeadCodeCount; Nombre = resultado.Nombre; AssessmentType = desafioCompletado.TipoEvaluacion; Param1 = desafioCompletado.Param1; Param2 = desafioCompletado.Param2; Param3 = desafioCompletado.Param3; Param4 = desafioCompletado.Param4; SiguienteDesafioId = siguienteDesafio.Id; Puntuacion = puntuacion; }
public static ResultadoScratchViewModel ToViewModel(this ResultadoScratch model) { return(new ResultadoScratchViewModel() { Id = model.Id, CalificacionId = model.CalificacionId, General = model.General, Nombre = model.Nombre, NumScripts = model.NumScripts, NumBloques = model.NumBloques, DuplicateScriptsCount = model.DuplicateScriptsCount, DeadCodeCount = model.DeadCodeCount, IInfoScratch_Sprite = model.IInfoScratch_Sprite != null?model.IInfoScratch_Sprite.ToViewModel() : null, IInfoScratch_General = model.IInfoScratch_General != null?model.IInfoScratch_General.ToViewModel() : null, }); }