Exemplo n.º 1
0
        public AddPrescriptionResponse AddPrescription(AddPrescriptionRequest request)
        {
            if (request.DueDate <= request.Date)
            {
                return(null);
            }

            using (var connection = new SqlConnection(Environment.GetEnvironmentVariable("DB_CONNECTION")))
                using (var command = new SqlCommand())
                {
                    command.Connection = connection;

                    command.CommandText = "insert into Prescription(date, duedate, idpatient, iddoctor) values (@date, @dueDate, @patient, @doctor);"
                                          + "select SCOPE_IDENTITY()";

                    command.Parameters.AddWithValue("date", request.Date);
                    command.Parameters.AddWithValue("dueDate", request.DueDate);
                    command.Parameters.AddWithValue("patient", request.IdPatient);
                    command.Parameters.AddWithValue("doctor", request.IdDoctor);


                    connection.Open();
                    var id = Convert.ToInt32(command.ExecuteScalar());

                    return(new AddPrescriptionResponse
                    {
                        IdPrescription = id,
                        Date = request.Date,
                        DueDate = request.DueDate,
                        IdDoctor = request.IdDoctor,
                        IdPatient = request.IdPatient
                    });
                }
        }
Exemplo n.º 2
0
        public IActionResult AddPrescription(AddPrescriptionRequest request)
        {
            AddPrescriptionResponse response;

            using (var con = new SqlConnection(ConString))
                using (var com = new SqlCommand())
                {
                    com.Connection = con;
                    con.Open();

                    var tran = con.BeginTransaction();
                    com.Transaction = tran;
                    int idPrescription = 0;

                    try
                    {
                        if (DateTime.Compare(request.Date, request.DueDate) > 0)
                        {
                            tran.Rollback();
                            return(BadRequest("Data waznosci starsza niz data wystawienia"));
                        }

                        com.CommandText = "INSERT INTO Prescription(idPrescription, Date, DueDate, IdPatient, IdDoctor)  OUTPUT INSERTED.idprescription VALUES((select(select max(idEnrollment) from Enrollment) + 1),@Date, @DueDate, @IdPatient, @IdDoctor) ";
                        com.Parameters.AddWithValue("Date", request.Date);
                        com.Parameters.AddWithValue("DueDate", request.DueDate);
                        com.Parameters.AddWithValue("IdDoctor", request.IdDoctor);
                        com.Parameters.AddWithValue("IdPatient", request.IdPatient);
                        var reader = com.ExecuteReader();

                        if (reader.Read())
                        {
                            idPrescription = (int)reader["idprescritpion"];
                        }
                        reader.Close();

                        response = new AddPrescriptionResponse()
                        {
                            Date           = request.Date,
                            DueDate        = request.DueDate,
                            IdDoctor       = request.IdDoctor,
                            IdPatient      = request.IdPatient,
                            IdPrescription = idPrescription
                        };

                        tran.Commit();
                    }
                    catch (SqlException ex)
                    {
                        Console.WriteLine(ex.Message);
                        tran.Rollback();
                        throw new ArgumentException(ex.Message);
                    }

                    return(Ok(response));
                }
        }
Exemplo n.º 3
0
        public IActionResult AddPrescription(AddPrescriptionRequest request)
        {
            var response = new AddPrescriptionResponse();

            if (_dbService.AddPrescription(request))
            {
                return(Ok("dodano"));
            }

            return(BadRequest());
        }