public void Map(Challenge challenge, EditChallengeViewModel model) { challenge.SolutionSourceCode = model.SourceCode; foreach (var removedTestCase in challenge.TestCases.ToList()) { unitOfWork.Delete(removedTestCase); } foreach (var testCase in model.TestCases) { var testCaseEntity = new TestCase { Id = testCase.Id, IsPublic = testCase.IsPublic }; var parameters = new List <CodeParameter>(); parameters.AddRange(testCase.InputParameters.Select(p => new CodeParameter { Type = CodeParameterType.Input, Value = p })); parameters.AddRange(testCase.OutputParameters.Select(p => new CodeParameter { Type = CodeParameterType.Output, Value = p })); testCaseEntity.CodeParameters = parameters; challenge.TestCases.Add(testCaseEntity); } }
public void RemoveChallenge(Guid id) { var challenge = unitOfWork.Get <Challenge>(id); unitOfWork.Delete(challenge); unitOfWork.Commit(); }