Exemple #1
0
        public IActionResult enrollPrescription(EnrollPrescriptionRequest request)
        {
            using (var client = new SqlConnection(databaseURL))
                using (var com = new SqlCommand())
                {
                    com.Connection = client;
                    client.Open();
                    com.Transaction = client.BeginTransaction();
                    SqlDataReader db;

                    try
                    {
                        if (request.DueDate < request.Date)
                        {
                            return(new BadRequestResult());
                        }

                        com.CommandText = "SELECT MAX(IdPrescription) FROM Prescription";
                        db = com.ExecuteReader();
                        db.Read();
                        int maxId = Convert.ToInt32(db[0].ToString()) + 1;
                        db.Close();

                        Console.WriteLine(request.Date);

                        com.CommandText = "INSERT INTO Prescription values (@date,@dueDate,@idPat,@idDoc)";
                        com.Parameters.AddWithValue("date", request.Date);
                        com.Parameters.AddWithValue("dueDate", request.DueDate);
                        com.Parameters.AddWithValue("idPat", request.IdPatient);
                        com.Parameters.AddWithValue("idDoc", request.IdDoctor);
                        com.ExecuteNonQuery();

                        return(new OkObjectResult(new PrescriptionEnrollResponse()
                        {
                            IdPrescription = maxId,
                            Date = request.Date,
                            DueDate = request.DueDate,
                            IdPatient = request.IdPatient,
                            IdDoctor = request.IdDoctor
                        }));
                    }
                    catch (SqlException e)
                    {
                        com.Transaction.Rollback();
                        return(new BadRequestResult());
                    }
                }
        }
 public IActionResult enrollPrescription(EnrollPrescriptionRequest request)
 {
     return(_service.enrollPrescription(request));
 }