public async Task <IActionResult> CreateClass(CreateClassCommand command) { Request.Headers.TryGetValue("Authorization", out var token); string role = await AuthHelper.GetRoleFromTokenAsync(token); if (role != "admin") { Log.Error("401 Error. Unauthorized in DanceClass Controller: CreateClass()"); return(StatusCode(401, new { Error = "Unauthorized" })); }
public async Task ShouldCreateClassCorrectly() { var context = new FakeDbContext(); var handler = new CreateClassCommandHandler(context); var request = new CreateClassCommand(3, "f"); await handler.Handle(request, CancellationToken.None); context.Classes.Should().HaveCount(2).And.Contain(x => x.Year == 3 & x.Section == "f"); }
public async Task DoesValidatorPreventFromCreatingDuplicateClass() { var context = new FakeDbContext(); var validator = new CreateClassCommandValidator(context); var request = new CreateClassCommand(1, "a"); var result = await validator.ValidateAsync(request); result.IsValid.Should().BeFalse(); result.Errors.Should().HaveCount(1).And.ContainSingle(x => x.ErrorMessage == "Mentioned class must be unique." && x.ErrorCode == "AsyncPredicateValidator"); }
public async Task DoesValidatorPreventFromCreatingClassWithNoYearAndSection() { var context = new FakeDbContext(); var validator = new CreateClassCommandValidator(context); var request = new CreateClassCommand(0, null); var result = await validator.ValidateAsync(request); result.IsValid.Should().BeFalse(); result.Errors.Should().HaveCount(2).And.Contain(x => x.ErrorCode == "NotEmptyValidator"); }
public async Task DoesValidatorPreventFromCreatingClassWithTooLongSectionName() { var context = new FakeDbContext(); var validator = new CreateClassCommandValidator(context); var request = new CreateClassCommand(3, new string(Enumerable.Repeat('a', 300).ToArray())); var result = await validator.ValidateAsync(request); result.IsValid.Should().BeFalse(); result.Errors.Should().HaveCount(1).And.ContainSingle(x => x.ErrorCode == "MaximumLengthValidator"); }
public async Task DoesValidatorAllowCorrectCreateClassCommand() { var context = new FakeDbContext(); var validator = new CreateClassCommandValidator(context); var request = new CreateClassCommand(3, "f"); var result = await validator.ValidateAsync(request); result.IsValid.Should().BeTrue(); result.Errors.Should().HaveCount(0); }
public RedirectToRouteResult DoCreate(ClassDTO model) { var cmd = new CreateClassCommand(Guid.NewGuid(), model.Name, model.Credits); commandBus.Send(cmd); return(RedirectToRoute(new { action = "Index", controller = "Class" })); }
public async Task <IActionResult> CreateClass(CreateClassCommand command) { Request.Headers.TryGetValue("Authorization", out var token); string role = await AuthHelper.GetRoleFromTokenAsync(token); if (role != "admin") { return(StatusCode(401, new { Error = "Unauthorized" })); } BaseResponse <int> result = (BaseResponse <int>) await Mediator.Send(command); return(!result.Success ? StatusCode(result.Error.StatusCode, result.Error) : Ok(result)); }
public static int CreateClass(string ClassName, string Description, string School, bool changeStundenplan, bool createAufgabe, bool deleteAufgabe, bool createTermin, bool deleteTermin) { CreateClassCommand command = new CreateClassCommand(); command.EMail = EMAIL; command.Hash = HASH; command.ClassName = ClassName; command.Description = Description; command.School = School; command.changeStundenplan = changeStundenplan; command.createAufgabe = createAufgabe; command.deleteAufgabe = deleteAufgabe; command.createTermin = createTermin; command.deleteTermin = deleteTermin; ResultWithNoData result = JsonConvert.DeserializeObject <ResultWithNoData>(TCPManager.SendRequest(JsonConvert.SerializeObject(command))); return(result.statusCode); }
public static string CreateClass(string CommandPara) { SQLManager.Connection.Close(); CreateClassCommand Command = new CreateClassCommand(); ResultWithNoData Result = new ResultWithNoData(); Random rand = new Random(); int cid = 0; Command = JsonConvert.DeserializeObject <CreateClassCommand>(CommandPara); if (CheckUserData(Command.EMail, Command.Hash) == false) { Result.statusCode = 270; return(JsonConvert.SerializeObject(Result)); } using (MySqlCommand mysqlCommand = SQLManager.Connection.CreateCommand()) { SQLManager.Connection.Open(); mysqlCommand.CommandText = "SELECT Creator FROM classes WHERE Creator='" + Command.EMail + "'"; MySqlDataReader mysqlreader; mysqlreader = mysqlCommand.ExecuteReader(); if (mysqlreader.HasRows) { mysqlreader.Read(); string MySQL_EMail = mysqlreader.GetString("Creator"); if (MySQL_EMail.Equals(Command.EMail, StringComparison.InvariantCultureIgnoreCase)) { mysqlreader.Close(); SQLManager.Connection.Close(); Result.statusCode = 301; return(JsonConvert.SerializeObject(Result)); } } mysqlreader.Close(); SQLManager.Connection.Close(); } using (MySqlCommand mysqlCommand = SQLManager.Connection.CreateCommand()) { SQLManager.Connection.Open(); mysqlCommand.CommandText = "INSERT INTO classes (Creator,Name,Description,School,Perm_changeStundenplan, Perm_createAufgabe, Perm_deleteAufgabe, Perm_createTermin, Perm_deleteTermin ) VALUES (?Creator,?ClassName,?Description,?School,?changeStundenplan, ?createAufgabe, ?deleteAufgabe, ?createTermin, ?deleteTermin )"; mysqlCommand.Parameters.AddWithValue("?Creator", Command.EMail); mysqlCommand.Parameters.AddWithValue("?ClassName", Command.ClassName); mysqlCommand.Parameters.AddWithValue("?Description", Command.Description); mysqlCommand.Parameters.AddWithValue("?School", Command.School); mysqlCommand.Parameters.AddWithValue("?changeStundenplan", Command.changeStundenplan); mysqlCommand.Parameters.AddWithValue("?createAufgabe", Command.createAufgabe); mysqlCommand.Parameters.AddWithValue("?deleteAufgabe", Command.deleteAufgabe); mysqlCommand.Parameters.AddWithValue("?createTermin", Command.createTermin); mysqlCommand.Parameters.AddWithValue("?deleteTermin", Command.deleteTermin); mysqlCommand.ExecuteNonQuery(); SQLManager.Connection.Close(); } using (MySqlCommand mysqlCommand = SQLManager.Connection.CreateCommand()) { SQLManager.Connection.Open(); mysqlCommand.CommandText = "SELECT CID FROM classes WHERE Creator='" + Command.EMail + "'"; MySqlDataReader mysqlreader; mysqlreader = mysqlCommand.ExecuteReader(); if (mysqlreader.HasRows) { mysqlreader.Read(); cid = mysqlreader.GetInt32("CID"); } mysqlreader.Close(); SQLManager.Connection.Close(); } using (MySqlCommand mysqlCommand = SQLManager.Connection.CreateCommand()) { SQLManager.Connection.Open(); mysqlCommand.CommandText = "UPDATE `users` SET `CID` = '" + cid + "' WHERE `EMail` = '" + Command.EMail + "'"; mysqlCommand.ExecuteNonQuery(); SQLManager.Connection.Close(); } using (MySqlCommand mysqlCommand = SQLManager.Connection.CreateCommand()) { SQLManager.Connection.Open(); mysqlCommand.CommandText = "UPDATE `users` SET `HasSelected` = '1' WHERE `EMail` = '" + Command.EMail + "'"; mysqlCommand.ExecuteNonQuery(); SQLManager.Connection.Close(); } Result.statusCode = 201; return(JsonConvert.SerializeObject(Result)); }
public async Task <IActionResult> CreateClass([FromBody] CreateClassCommand command) { var classId = await _mediator.Send(command); return(Created($"api/classes/{classId}", null)); }
public void Post(Class charClass) { var command = new CreateClassCommand(); command.CreateClass(charClass); }
public async Task <ObjectResult> Post(CreateClassCommand command) { return(await Execute(command, "You have successfully added the class")); }
public async Task <IActionResult> Create(CreateClassCommand command) => await SendAsync(command, resource : "class");