public IActionResult AddRecept(ReceptRequest request)
        {
            AddReceptResponse result = _service.AddRecept(request);

            if (result != null)
            {
                return(Ok(result));
            }
            return(BadRequest(400));
        }
Exemple #2
0
 public AddReceptResponse AddRecept(ReceptRequest request)
 {
     using (SqlConnection connection = new SqlConnection(ConnectionString))
     {
         using (var command = new SqlCommand("", connection))
         {
             return(null);
         }
     }
 }
        public EnrollStudentResponse EnrollStudent(ReceptRequest request)
        {
            using (SqlConnection con = new SqlConnection(ConnectionString))
            {
                SqlCommand com = new SqlCommand();
                com.Connection = con;
                con.Open();
                var tran = con.BeginTransaction();
                com.Transaction = tran;
                try
                {
                    com.CommandText = "SELECT IdStudy FROM Studies WHERE Studies.Name=@name";
                    com.Parameters.AddWithValue("name", request.Studies);
                    var reader = com.ExecuteReader();

                    if (!reader.Read())
                    {
                        reader.Close();
                        tran.Rollback();
                        return(null);
                    }
                    int idStudies = (int)reader["IdStudy"];
                    reader.Close();
                    com.CommandText = "SELECT IdEnrollment,StartDate FROM Enrollment " +
                                      "WHERE Semester=1 AND idStudy=@idStudy AND StartDate=" +
                                      "(SELECT max(startDate) FROM Enrollment WHERE Semester=1 AND idStudy=@idStudy)";
                    com.Parameters.AddWithValue("idStudy", idStudies);
                    reader = com.ExecuteReader();

                    int      idEnrollment = -1;
                    DateTime date         = DateTime.Today;

                    if (!reader.Read())
                    {
                        reader.Close();
                        com.CommandText = "SELECT max(IdEnrollment) AS 'id' FROM Enrollment";
                        reader          = com.ExecuteReader();
                        idEnrollment    = reader.Read() ? (int)reader["id"] + 1 : 1;
                        reader.Close();
                        com.CommandText = "INSERT INTO Enrollment(IdEnrollment,Semester,IdStudy,StartDate) " +
                                          "VALUES (@idEnrollment,1,@idStudy,@date)";
                        com.Parameters.AddWithValue("date", DateTime.Today.ToString("yyyy-MM-dd"));
                        com.Parameters.AddWithValue("idEnrollment", idEnrollment);
                        reader = com.ExecuteReader();
                    }
                    else
                    {
                        date         = (DateTime)reader["StartDate"];
                        idEnrollment = (int)reader["IdEnrollment"];
                    }

                    reader.Close();

                    com.CommandText = "SELECT * FROM Student WHERE IndexNumber LIKE @index";
                    com.Parameters.AddWithValue("index", request.IndexNumber.ToString());
                    SqlDataReader sqlDataReader = com.ExecuteReader();
                    reader = sqlDataReader;
                    if (reader.Read())
                    {
                        reader.Close();
                        tran.Rollback();
                        return(null);
                    }
                    reader.Close();
                    EnrollStudentResponse response = new EnrollStudentResponse();
                    response.IdEnrollment = idEnrollment;
                    response.IdStudy      = idStudies;
                    response.Semester     = 1;
                    response.StartDate    = date;

                    com.CommandText = "INSERT INTO Student(IndexNumber,Firstname,LastName,BirthDate,IdEnrollment)" +
                                      " VALUES(@indexx,@Fname,@Lname,@bDate,@idEnrollment)";
                    com.Parameters.AddWithValue("indexx", request.IndexNumber);
                    com.Parameters.AddWithValue("Fname", request.FirstName);
                    com.Parameters.AddWithValue("Lname", request.LastName);
                    com.Parameters.AddWithValue("bDate", request.BirthDate.ToString("yyyy-MM-dd"));
                    com.Parameters.AddWithValue("idEnrollment", idEnrollment);
                    com.ExecuteNonQuery();

                    reader.Close();
                    tran.Commit();
                    return(response);
                }
                catch (SqlException exc)
                {
                    Console.WriteLine(exc.Message);
                    tran.Rollback();
                }
            }
            return(null);
        }