public EnrollStudentResponse PromoteStudents(PromoteStudentRequest request) { var semestr = new SqlParameter("@Semester", SqlDbType.Int); semestr.Value = request.Semester; var name = new SqlParameter("@Name", SqlDbType.NVarChar); name.Value = request.Studies; var idEnrollment = new SqlParameter("@IdEnrollment", SqlDbType.Int); idEnrollment.Direction = ParameterDirection.Output; var idStudies = new SqlParameter("@IdStudies", SqlDbType.Int); idStudies.Direction = ParameterDirection.Output; var startDate = new SqlParameter("@StartDate", SqlDbType.DateTime); startDate.Direction = ParameterDirection.Output; var x = context.Database.ExecuteSqlRaw("PromoteStudents @Name, @Semester, @IdEnrollment OUT, @IdStudies OUT, @StartDate OUT", parameters: new[] { name, semestr, idEnrollment, idStudies, startDate }); var response = new EnrollStudentResponse { IdEnrollment = (int)idEnrollment.Value, IdStudy = (int)idStudies.Value, Semester = request.Semester + 1, StartDate = (DateTime)startDate.Value }; return(response); }
public IActionResult EnrollStudent(EnrollStudentRequest request) { _service.EnrollStudent(request); var response = new EnrollStudentResponse(); return(Created(new Uri("http://localhost:7408/"), response)); }
public EnrollStudentResponse EnrollStudent(EnrollStudentRequest request) { Random rnd = new Random(); var idStudy = rnd.Next(10, 1000); universityAPBDContext.Studies.Add(new Studies { IdStudy = idStudy, Name = request.Studies }); universityAPBDContext.Enrollment.Add(new Enrollment { IdEnrollment = rnd.Next(10, 1000), Semester = 1, IdStudy = idStudy, StartDate = DateTime.Now }); universityAPBDContext.Student.Add(new Student { IndexNumber = request.IndexNumber, FirstName = request.FirstName, LastName = request.LastName, BirthDate = request.Birthdate, }); universityAPBDContext.SaveChanges(); var response = new EnrollStudentResponse(); response.Semester = 1; response.LastName = request.LastName; return(response); }
public IActionResult EnrollStudent(EnrollStudentRequest req) { _dbService.EnrollStudent(req); var response = new EnrollStudentResponse(); return(CreatedAtAction("EnrollStudent", response)); }
public EnrollStudentResponse EnrollStudent(EnrollStudentRequest request) { var response = new EnrollStudentResponse(); return(response); }
public IActionResult EnrollStudent(EnrollStudentRequest req) { EnrollStudentResponse erep = new EnrollStudentResponse(); erep = iDB.EnrollStudent(req); return(Created("Added", erep)); }
public IActionResult EnrollStudent([FromBody] EnrollStudentRequest request, [FromServices] IStudentsDbService dbService) { Student studentToEnroll = new Student { IndexNumber = request.IndexNumber, LastName = request.LastName, FirstName = request.FirstName, BirthDate = request.BirthDate }; Enrollment tmp = dbService.EnrollStudent(studentToEnroll, request.Studies); if (tmp == null) { return(BadRequest()); } EnrollStudentResponse response = new EnrollStudentResponse { Semester = tmp.Semester, IdStudy = tmp.IdStudy, StartDate = tmp.StartDate, IdEnrollment = tmp.IdEnrollment }; return(Ok(response)); }
public IActionResult EnrollStudent(EnrollStudentRequest request) { _service.EnrollStudent(request); var response = new EnrollStudentResponse(); return(Ok(response)); }
public EnrollStudentResponse PromoteStudent(PromoteStudentRequest request) { using (var connection = new SqlConnection(connectionString)) using (var command = new SqlCommand()) { command.Connection = connection; connection.Open(); command.CommandText = "exec PromoteStudents @stud,@sem"; command.Parameters.AddWithValue("stud", request.Studies); command.Parameters.AddWithValue("sem", request.Semester); var read = command.ExecuteReader(); if (read.Read()) { EnrollStudentResponse response = new EnrollStudentResponse { IdEnroll = (int)read["IdEnrollment"], Semester = (int)read["Semester"], Study = (int)read["IdStudy"], Date = DateTime.Parse(read["StartDate"].ToString()) }; return(response); } } throw new Exception("Exception"); }
public IActionResult EnrollStudent(EnrollStudentRequest request, [FromServices] IEnrollDAL dbService) { //======ZADANIE 1=================== //Pola wymagane z zapytania POST w tworzeniu EnrollStReq...- //błąd 400 zwracany automatycznie z adnotacji w klasie EnrollStudentReq... // Sprawdzenie, czy studia istnieją if (!dbService.StudiesExist(request.StudyName)) { return(BadRequest("Studies do not exist in DB")); } // Sprawdz, czy studentId unikalne if (dbService.StudentIdNonUnique(request.IndexNumber)) { return(BadRequest("Student Id not unique")); } // Dodaj studenta DateTime?enrollDate = dbService.EnrollStudent(request); if (enrollDate.Equals(null)) { return(Unauthorized("Error when registering in DB - failed to enroll")); } // Nie wiem, jaki error tu dac. W sumie to nie jest Badrequest, bo to bylby blad polaczenia z baza //Wyslij obiekt EnrollmentResponse EnrollStudentResponse enroll = new EnrollStudentResponse(request.IndexNumber, request.LastName, 1, enrollDate.GetValueOrDefault()); var result = new OkObjectResult(new { message = "201 OK", enroll }); return(result); }
public EnrollStudentResponse PromoteStudents(PromoteStudentRequest request) { using (var con = new SqlConnection("Data Source=db-mssql;Initial Catalog=s18830;Integrated Security=True")) using (var com = new SqlCommand()) { com.CommandType = CommandType.StoredProcedure; com.Connection = con; con.Open(); com.CommandText = "PromoteStudents"; com.Parameters.AddWithValue("@Name", SqlDbType.NVarChar).Value = request.Studies; com.Parameters.AddWithValue("@Semester", SqlDbType.Int).Value = request.Semester; com.Parameters.Add("@IdStudies", SqlDbType.Int).Direction = ParameterDirection.Output; com.Parameters.Add("@IdEnrollment", SqlDbType.Int).Direction = ParameterDirection.Output; com.Parameters.Add("@StartDate", SqlDbType.DateTime).Direction = ParameterDirection.Output; com.ExecuteNonQuery(); var response = new EnrollStudentResponse { IdEnrollment = (int)com.Parameters["@IdEnrollment"].Value, IdStudy = (int)com.Parameters["@IdStudies"].Value, Semester = request.Semester + 1, StartDate = (DateTime)com.Parameters["@StartDate"].Value }; return(response); } }
public bool CheckIndex(string index) { string connstring = "Data Source=10.1.1.36,1433;Initial Catalog=s18588;User ID=apbds18588;Password=admin"; var response = new EnrollStudentResponse(); var cl = new HttpClient(); cl.BaseAddress = new Uri("http://*****:*****@id"; com.Parameters.AddWithValue("id", index); var dr = com.ExecuteReader(); if (!dr.Read()) { return(false); } else { return(true); } } }
/* public EnrollStudentResponse EnrollStudent(EnrollStudentRequest request) * { * var idStudy = -1; * var nextIdEnrollment = -1; * * var startDate = DateTime.Now; * var semester = 1; * * using (var connection = new SqlConnection(sqlConnecionStr)) * using (var command = new SqlCommand()) * { * command.Connection = connection; * connection.Open(); * var transaction = connection.BeginTransaction(); * command.Transaction = transaction; * * try * { * //1. Check wether studies with given name exist * command.CommandText = "SELECT IdStudy from Studies where Name = @name" + ";"; * command.Parameters.AddWithValue("@name", request.Studies); * var dr = command.ExecuteReader(); * if (!dr.Read()) * { * dr.Close(); * transaction.Rollback(); * throw new Exception("Studia o podanej nazwie nie istnieją!"); * } * idStudy = (int)dr["IdStudy"]; * dr.Close(); * * //2. Check wether indexNumber is unique (it's a PK in Student) * command.CommandText = "SELECT IndexNumber from Student where IndexNumber = @number" + ";"; * command.Parameters.AddWithValue("@number", request.IndexNumber); * var dr2 = command.ExecuteReader(); * if (dr2.Read()) * { * dr2.Close(); * transaction.Rollback(); * throw new Exception("Student o podanym nr indeksu juz istnieje!"); * } * dr2.Close(); * * * //3. Check latest IdEnrollment * command.CommandText = "SELECT Max(IdEnrollment) as max from Enrollment;"; * var dr3 = command.ExecuteReader(); * if (!dr3.Read()) * { * dr3.Close(); * transaction.Rollback(); * throw new Exception("Problem with fetching id enrollemnt"); * } * var maxIdEnrollment = (int)dr3["max"]; * nextIdEnrollment = ++maxIdEnrollment; * dr3.Close(); * * * //4. Create new Enrollment for student * command.CommandText = "INSERT INTO Enrollment (IdEnrollment, Semester, IdStudy, StartDate) " + "VALUES(@nextId, @semester, @idStudy, CAST(@date AS DATETIME));"; + command.Parameters.AddWithValue("@nextId", nextIdEnrollment); + command.Parameters.AddWithValue("@semester", semester); + command.Parameters.AddWithValue("@idStudy", idStudy); + command.Parameters.AddWithValue("@date", startDate); + + command.ExecuteNonQuery(); + + //5. Add student to Studyies + command.CommandText = "INSERT INTO Student (IndexNumber, FirstName, LastName, BirthDate, IdEnrollment) " + "VALUES(@indexNumber, @studentFirstName, @studnetLastName, CAST(@bdate AS DATE), @idEnrollment)"; + command.Parameters.AddWithValue("@indexNumber", request.IndexNumber); + command.Parameters.AddWithValue("@studentFirstName", request.FirstName); + command.Parameters.AddWithValue("@studnetLastName", request.LastName); + command.Parameters.AddWithValue("@bdate", request.BirthDate); + command.Parameters.AddWithValue("@idEnrollment", nextIdEnrollment); + + command.ExecuteNonQuery(); + + transaction.Commit(); + } + catch (SqlException exc) + { + transaction.Rollback(); + Console.WriteLine(exc.Message); + throw new Exception("SqlException " + exc.Message); + } + } + + var response = new EnrollStudentResponse(); + response.IdEnrollment = nextIdEnrollment; + response.Semester = semester; + response.IdStudy = idStudy; + response.StartDate = startDate; + + return response; + }*/ public EnrollStudentResponse EnrollStudent(EnrollStudentRequest request) { var idStudy = -1; var semester = 1; var startDate = DateTime.Now; //1. Check wether studies with given name exist var studiesWithNameRetrived = _dbcontext.Studies.Where(s => s.Name.Equals(request.Studies)).FirstOrDefault(); if (studiesWithNameRetrived == null) { throw new Exception("Studia o podanej nazwie nie istnieją!"); } idStudy = studiesWithNameRetrived.IdStudy; //2. Check wether indexNumber is unique (it's a PK in Student) var studentWithNewIndexNumber = _dbcontext.Student.Where(s => s.IndexNumber.Equals(request.IndexNumber)).FirstOrDefault(); if (studentWithNewIndexNumber != null) { throw new Exception("Student o podanym nr indeksu juz istnieje!"); } //3. Check latest IdEnrollment var maxIdEnrollment = _dbcontext.Enrollment.Max(e => e.IdEnrollment); var nextIdEnrollment = ++maxIdEnrollment; //4. Create new Enrollment for student var newEnrollemnt = new Enrollment(); newEnrollemnt.IdEnrollment = nextIdEnrollment; newEnrollemnt.Semester = 1; newEnrollemnt.IdStudy = idStudy; newEnrollemnt.StartDate = startDate; _dbcontext.Add(newEnrollemnt); _dbcontext.SaveChanges(); //5. Add student to Studyies var newStudent = new Student(); newStudent.IndexNumber = request.IndexNumber; newStudent.FirstName = request.FirstName; newStudent.LastName = request.LastName; newStudent.BirthDate = request.BirthDate; newStudent.IdEnrollment = nextIdEnrollment; _dbcontext.Add(newStudent); _dbcontext.SaveChanges(); var response = new EnrollStudentResponse(); response.IdEnrollment = nextIdEnrollment; response.Semester = semester; response.IdStudy = idStudy; response.StartDate = startDate; return(response); }
public async Task <EnrollStudentResponse> EnrollStudent(EnrollStudentRequest req) { var studiesExist = _context.Studies.Any(e => e.Name == req.Studies); if (!studiesExist) { return(null); } else { var sList = _context.Studies.Where(s => s.Name == req.Studies).ToList(); var idStudy = sList[0].IdStudy; int enrollId = 1; var enrollmentExist = _context.Enrollment.Any(e => e.IdStudy == idStudy && e.Semester == 1); if (enrollmentExist) { var eList = _context.Enrollment.Where(e => e.IdStudy == idStudy && e.Semester == 1).ToList(); enrollId = eList[0].IdEnrollment; } else { var enrollment = new Enrollment { Semester = 1, IdStudy = idStudy, StartDate = DateTime.Now }; await _context.Enrollment.AddAsync(enrollment); await _context.SaveChangesAsync(); var addStudent = new AddStudentRequest { IndexNumber = req.IndexNumber, FirstName = req.FirstName, LastName = req.LastName, BirthDate = req.BirthDate, IdEnrollment = enrollId }; await AddStudent(addStudent); var eStudentList = _context.Enrollment.Where(e => e.IdEnrollment == enrollId).ToList(); var resp = new EnrollStudentResponse { IdEnrollment = eStudentList[0].IdEnrollment, IdStudy = eStudentList[0].IdStudy, Semester = eStudentList[0].Semester, StartDate = eStudentList[0].StartDate, }; return(resp); } } return(null); }
public EnrollStudentResponse EnrollStudent(EnrollStudentRequest request) { var response = new EnrollStudentResponse(); response.setStatus(400, "Error"); var _studies = _context.Studies.Where(p => p.Name == request.Studies).FirstOrDefault(); if (_studies == null) { response.setStatus(400, "ERROR: Studies do not exist"); return(response); } var _enrollment = _context.Enrollment.Where(e => e.IdStudy == _studies.IdStudy && e.Semester == 1).FirstOrDefault(); if (_enrollment == null) { _enrollment = new Enrollment() { IdEnrollment = _context.Enrollment.Max(p => p.IdEnrollment) + 1, Semester = 1, IdStudy = _studies.IdStudy, StartDate = DateTime.Now.Date }; _context.Enrollment.Add(_enrollment); _context.SaveChanges(); } var _student = _context.Student.Where(p => p.IndexNumber == request.IndexNumber).FirstOrDefault(); if (_student == null) { DateTime dateValue; DateTime.TryParseExact(request.BirthDate, "dd.MM.yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out dateValue); _student = new Student { IndexNumber = request.IndexNumber, FirstName = request.FirstName, LastName = request.LastName, BirthDate = dateValue, IdEnrollment = _enrollment.IdEnrollment }; _context.Student.Add(_student); _context.SaveChanges(); response.setStatus(201, "Student was enrolled"); } else { response.setStatus(400, "Student exists in database"); } response.LastName = _student.LastName; response.Semester = _enrollment.Semester; response.StartDate = _enrollment.StartDate.ToString(); response.Studies = request.Studies; return(response); }
public EnrollStudentResponse EnrollStudent(EnrollStudentRequest request) { var database = new s19041Context(); var studies = database.Studies.First(stud => stud.Name.Equals(request.Studies)); if (studies.Equals(null)) { throw new Exception("No such studies: " + request.Studies); } var student = database.Student.First(stud => stud.IndexNumber == request.IndexNumber); if (!student.Equals(null)) { throw new Exception("Student " + request.IndexNumber + " already exists"); } var enrollment = database.Enrollment.First(enroll => enroll.IdStudy == studies.IdStudy && enroll.Semester == 1); var newStudent = new GeneratedModels.Student { IndexNumber = request.IndexNumber, FirstName = request.FirstName, LastName = request.LastName, BirthDate = request.BirthDate }; var response = new EnrollStudentResponse(); if (enrollment.Equals(null)) { var newEnrollment = new GeneratedModels.Enrollment { IdEnrollment = database.Enrollment.Max(enroll => enroll.IdEnrollment), Semester = 1, IdStudy = studies.IdStudy, StartDate = DateTime.Now, IdStudyNavigation = studies }; database.Enrollment.Add(newEnrollment); newStudent.IdEnrollment = newEnrollment.IdEnrollment; newStudent.IdEnrollmentNavigation = newEnrollment; response.IdEnrollment = newEnrollment.IdEnrollment; response.Semester = newEnrollment.Semester; response.IdStudy = newEnrollment.IdStudy; response.StartDate = newEnrollment.StartDate; } else { newStudent.IdEnrollment = enrollment.IdEnrollment; newStudent.IdEnrollmentNavigation = enrollment; response.IdEnrollment = enrollment.IdEnrollment; response.Semester = enrollment.Semester; response.IdStudy = enrollment.IdStudy; response.StartDate = enrollment.StartDate; } database.Add(newStudent); database.SaveChanges(); return(response); }
public EnrollStudentResponse EnrollStudent(EnrollStudentRequest request) { var response = new EnrollStudentResponse(); response.setStatus(400, "Unknown Error"); // domyślnie - błąd var _studies = _context.Studies.Where(p => p.Name == request.Studies).FirstOrDefault(); if (_studies == null) { response.setStatus(400, "ERROR: Nie istnieją studia przekazane przez klienta"); return(response); } var _enrollment = _context.Enrollment.Where(e => e.IdStudy == _studies.IdStudy && e.Semester == 1).FirstOrDefault(); if (_enrollment == null) { _enrollment = new Enrollment() { IdEnrollment = _context.Enrollment.Max(p => p.IdEnrollment) + 1, Semester = 1, IdStudy = _studies.IdStudy, StartDate = DateTime.Now.Date }; _context.Enrollment.Add(_enrollment); _context.SaveChanges(); } var _student = _context.Student.Where(p => p.IndexNumber == request.IndexNumber).FirstOrDefault(); if (_student == null) { DateTime dateValue; DateTime.TryParseExact(request.BirthDate, "dd.MM.yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out dateValue); _student = new Student { IndexNumber = request.IndexNumber, FirstName = request.FirstName, LastName = request.LastName, BirthDate = dateValue, IdEnrollment = _enrollment.IdEnrollment }; _context.Student.Add(_student); _context.SaveChanges(); response.setStatus(201, "Student został poprawnie zapisany na semestr"); // student został poprawnie zapisany na semestr } else { response.setStatus(400, "Taki student już istnieje"); } response.LastName = _student.LastName; response.Semester = _enrollment.Semester; response.StartDate = _enrollment.StartDate.ToString(); response.Studies = request.Studies; return(response); }
public async Task <IActionResult> EnrollStudent(EnrollStudentRequest request) { if (ModelState.IsValid == false) { IEnumerable <ModelError> allErrors = ModelState.Values.SelectMany(v => v.Errors); return(BadRequest(allErrors)); } Studies studies = await Context.Studies.FirstOrDefaultAsync(stud => stud.Name == request.Studies); if (studies == null) { return(NotFound("Studia nie istnieją")); } Enrollment enrollment = await Context.Enrollment.FirstOrDefaultAsync(en => en.IdStudy == studies.IdStudy && en.Semester == 1); if (enrollment == null) { enrollment = new Enrollment { Semester = 1, IdStudy = studies.IdStudy, StartDate = DateTime.Now }; Context.Add(enrollment); } Student student = await Context.Student.FirstOrDefaultAsync(s => s.IndexNumber == request.IndexNumber); if (studies != null) { return(BadRequest("Student o takim indeksie już istnieje w bazie danych.")); } student = new Student { IndexNumber = request.IndexNumber, FirstName = request.FirstName, LastName = request.LastName, BirthDate = request.Birthdate, IdEnrollment = enrollment.IdEnrollment }; Context.Add(student); if (await Context.SaveChangesAsync() == 0) { return(StatusCode(500, "Błąd podczas zapisu danych do bazy.")); } EnrollStudentResponse result = new EnrollStudentResponse { IndexNumber = student.IndexNumber, FirstName = student.FirstName, LastName = student.LastName, Semester = enrollment.Semester, StartDate = enrollment.StartDate, }; return(StatusCode(201, result)); }
public IActionResult EnrollStudent(EnrollStudentRequest request) { _service.EnrollStudent(request); var response = new EnrollStudentResponse(); response.LastName = request.LastName; return(Created("http://localhost:5001/api/students?indexNumber=" + request.IndexNumber, response)); }
public IActionResult EnrollStudent(EnrollStudentRequest request) { //czy index jest unikalny if (db.Student.Any(s => s.IndexNumber.Equals(request.IndexNumber))) { return(BadRequest("Student " + request.IndexNumber + " już istnieje")); } //czy studia istnieją if (!db.Studies.Any(s => s.Name.Equals(request.Studies))) { return(BadRequest("Studia " + request.Studies + " nie istnieją")); } //czy istnieje wpis dla studiow, z semestrem 1 var studies = db.Studies.Where(s => s.Name.Equals(request.Studies)).First(); Enrollment enrollment = null; if (!db.Enrollment.Any(e => e.Semester == 1 && e.IdStudy == studies.IdStudy)) { enrollment = new Enrollment(); enrollment.IdEnrollment = db.Enrollment.Max(e => e.IdEnrollment) + 1; enrollment.Semester = 1; enrollment.IdStudy = studies.IdStudy; enrollment.StartDate = DateTime.Now; db.Enrollment.Add(enrollment); } else { enrollment = db.Enrollment.Where(e => e.Semester == 1 && e.IdStudy == studies.IdStudy).First(); } //zapisanie studenta var student = new Student(); student.IndexNumber = request.IndexNumber; student.FirstName = request.FirstName; student.LastName = request.LastName; student.BirthDate = request.BirthDate; student.IdEnrollment = enrollment.IdEnrollment; var response = new EnrollStudentResponse(); response.IndexNumber = request.IndexNumber; response.FirstName = request.FirstName; response.LastName = request.LastName; response.Studies = request.Studies; response.Semester = 1; db.Student.Add(student); db.SaveChanges(); return(Created("Zapisano studenta", response)); }
public IActionResult EnrollStudent(EnrollStudentRequest req) { _service.EnrollStudent(req); var response = new EnrollStudentResponse(); response.LastName = req.LastName; response.Semester = 1; response.StartDate = DateTime.Now; return(CreatedAtAction("EnrollStudent", response)); }
public IActionResult EnrollStudent(EnrollStudentRequest request) { EnrollStudentResponse enrollStudentResponse = _db.EnrollStudent(request); if (enrollStudentResponse == null) { return(BadRequest()); } return(this.StatusCode(201, enrollStudentResponse)); }
public IActionResult EnrollStudent(EnrollStudentRequest request) { _service.EnrollStudent(request); var response = new EnrollStudentResponse(); //response.LastName = st.LastName; //... return(Ok(response)); }
public async Task <ActionResult <Enrollment> > EnrollStudent(EnrollStudentRequest request) { var response = new EnrollStudentResponse(); var studyId = await _context.Studies .Where(s => s.Name == request.Studies) .Select(study => study.IdStudy) .FirstOrDefaultAsync(); try { if (studyId.Equals(null)) { return(BadRequest("Zadane studia nie istnieją.")); } int enrollmentId = 0; var existingEnrollmentId = await _context.Enrollment .Where(enrollment => (enrollment.IdStudy == studyId) && (enrollment.Semester == 1)) .Select(enrollment => enrollment.IdEnrollment) .FirstOrDefaultAsync(); if (existingEnrollmentId.Equals(null)) { var id = await _context.Enrollment .OrderByDescending(e => e.IdEnrollment) .Select(e => e.IdEnrollment) .FirstOrDefaultAsync(); var enrollment = new Enrollment { StartDate = DateTime.Now.Date, IdEnrollment = ++id, IdStudy = studyId, Semester = 1 }; await _context.Enrollment.AddAsync(enrollment); await _context.SaveChangesAsync(); } else { enrollmentId = existingEnrollmentId; } response.Semester = 1; response.StartDate = DateTime.Now.Date; } catch (Exception e) { return(BadRequest(e)); } return(Ok(response)); }
public IEnumerable <EnrollStudentResponse> EnrollStudent(EnrollStudentRequest request) { var list = new List <EnrollStudentResponse>(); using (SqlConnection con = new SqlConnection(ConString)) using (SqlCommand com = new SqlCommand()) { com.Connection = con; con.Open(); var tran = con.BeginTransaction(); com.Transaction = tran; try { com.CommandText = "SELECT IdStudy from Studies WHERE Name=IT"; com.Parameters.AddWithValue("StudiesName", request.StudiesName); com.ExecuteNonQuery(); SqlDataReader exr = com.ExecuteReader(); var st = new Student(); var rs = new EnrollStudentResponse(); if (!exr.Read()) { tran.Rollback(); } String studiesname = exr["StudiesName"].ToString(); if (studiesname.Equals("IT")) { com.CommandText = "INSERT INTO Student(IndexNumber,FirstName,LastName,BirthDate) VALUES(@IndexNumber,@FirstName,@LastName,@BirthDate)"; com.Parameters.AddWithValue("IndexNumber", request.IndexNumber); com.Parameters.AddWithValue("FirstName", request.FirstName); com.Parameters.AddWithValue("LastName", request.LastName); com.Parameters.AddWithValue("BirthDate", request.BirthDate); com.ExecuteNonQuery(); tran.Commit(); rs.IndexNumber = request.IndexNumber; rs.FirstName = request.FirstName; rs.LastName = request.LastName; rs.BirthDate = request.BirthDate; list.Add(rs); } } catch (SqlException exc) { tran.Rollback(); } con.Close(); } return(list); }
public EnrollStudentResponse EnrollStudent(EnrollStudentRequest request) { var db = new s18985Context(); EnrollStudentResponse response = new EnrollStudentResponse(); var s = db.Student.Where(x => x.IndexNumber == request.IndexNumber).FirstOrDefault(); if (s != null) { return(null); } var t = db.Studies.Where(x => x.Name == request.Studies).Select(x => x.IdStudy).FirstOrDefault(); int e = db.Enrollment.Where(x => x.IdStudy == t && x.Semester == 1).Select(x => x.IdEnrollment).FirstOrDefault(); int f; if (e == 0) { var max = (db.Enrollment.Max(x => x.IdEnrollment)) + 1; var enroll = new Enrollment { IdEnrollment = max, Semester = 1, IdStudy = t, StartDate = DateTime.Now }; db.Enrollment.Add(enroll); f = max; } else { f = e; } var stud = new Student { IndexNumber = request.IndexNumber, FirstName = request.FirstName, LastName = request.LastName, BirthDate = request.BirthDate, IdEnrollment = f }; db.Student.Add(stud); db.SaveChanges(); response.IndexNumber = stud.IndexNumber; response.IdEnrollment = stud.IdEnrollment; response.Semester = 1; response.Studies = request.Studies; response.StartDate = DateTime.Now; return(response); }
public EnrollStudentResponse EnrollStudent(EnrollStudentRequest request) { EnrollStudentResponse response = new EnrollStudentResponse(); var studies = _dbContext.Studies .Where(s => s.Name.Equals(request.Studies)) .Single(); var enrollment = _dbContext.Enrollment .Where(e => e.IdStudy == studies.IdStudy && e.Semester == 1) .SingleOrDefault(); int idEnrollment; if (enrollment == null) { idEnrollment = _dbContext.Enrollment.Count(); var e = new Enrollment { IdEnrollment = idEnrollment, Semester = 1, IdStudy = studies.IdStudy, StartDate = DateTime.Now }; _dbContext.Enrollment.Add(e); _dbContext.SaveChanges(); } else { idEnrollment = enrollment.IdEnrollment; } var student = new Student { IndexNumber = request.indexNumber, FirstName = request.firstName, LastName = request.lastName, BirthDate = request.birthDate, IdEnrollment = idEnrollment }; _dbContext.Student.Add(student); _dbContext.SaveChanges(); response = new EnrollStudentResponse { lastName = student.LastName, semester = enrollment.Semester, startDate = enrollment.StartDate.Value }; return(response); }
public async Task <IActionResult> EnrollStudentAsync(EnrollStudentRequest request) { EnrollStudentResponse enrollStudentResponse = await _dbService.EnrollStudentAsync(request); if (enrollStudentResponse == null) { return(BadRequest()); } return(this.StatusCode(201, enrollStudentResponse)); }
public IActionResult PromoteStudents(String Studies, int Semester) { _service.PromoteStudents(Studies, Semester); var response = new EnrollStudentResponse() { Studies = Studies, semester = ++Semester }; return(CreatedAtAction(nameof(EnrollStudent), response)); }
public IActionResult EnrollPromotions(EnrollPromotionsRequest request) { EnrollStudentResponse response = null; try { response = _service.EnrollPromotions(request); } catch (SqlException e) { return(NotFound(e.Message)); } return(Created(nameof(response), response)); }