public async Task <IActionResult> Post([FromBody] Dictionary <string, string> student) { if (Validation.IsAnyInputObjectDataNotSpecified(new List <object> { student.ContainsKey("FirstName") ? student["FirstName"] : null, student.ContainsKey("LastName") ? student["LastName"] : null, student.ContainsKey("PhoneNumber") ? student["PhoneNumber"] : null, student.ContainsKey("Email") ? student["Email"] : null, student.ContainsKey("Github") ? student["Github"] : null })) { return(BadRequest("Error: all student input data must be specified")); } if (!Validation.IsValidFirstOrLastName(student["FirstName"])) { return(BadRequest("Error: first name is incorrect")); } if (!Validation.IsValidFirstOrLastName(student["LastName"])) { return(BadRequest("Error: last name is incorrect")); } if (!Validation.IsValidPhoneNumber(student["PhoneNumber"])) { return(BadRequest("Error: phone number is incorrect")); } if (!Validation.IsValidEmailAddress(student["Email"])) { return(BadRequest("Error: email address is incorrect")); } var resultStudent = new Student { FirstName = student["FirstName"], LastName = student["LastName"], PhoneNumber = student["PhoneNumber"], Email = student["Email"], Github = student["Github"] }; using (var connection = new SqlConnection(Configuration.GetConnectionString("DefaultConnection"))) { try { connection.Open(); await StudentsRepository.CreateStudentAsync(connection, resultStudent); } catch (Exception ex) { return(BadRequest(ex.Message)); } } return(Ok(resultStudent)); }