public NewPrescriptionResponse CreatePrescription(NewPrescriptionRequest request) { using (var connection = new SqlConnection("Data Source=db-mssql;Initial Catalog=s18589;Integrated Security=true")) using (var command = new SqlCommand()) { command.Connection = connection; connection.Open(); var transaction = connection.BeginTransaction(); command.Transaction = transaction; if (DateTime.Compare(request.DueDate, request.Date) > 0) { transaction.Rollback(); throw new ArgumentException("duedate jest pozniejsze niz date"); } command.Parameters.AddWithValue("duedate", request.DueDate); command.Parameters.AddWithValue("date", request.Date); command.Parameters.AddWithValue("idpatient", request.IdPatient); command.Parameters.AddWithValue("iddoctor", request.IdDoctor); command.CommandText = "insert into Prescription(date, duedate, iddoctor, idpatient) values(@date, @duedate, @iddoctor, @idpatient)"; var dr1 = command.ExecuteReader(); dr1.Close(); command.CommandText = "select max(idprescription) from prescription"; var dr2 = command.ExecuteReader(); dr2.Read(); int idprescription = dr2.GetInt32(0); dr2.Close(); transaction.Commit(); return(new NewPrescriptionResponse { Id = idprescription }); } }
public IActionResult PostNewPrescription(NewPrescriptionRequest request) { int id = new Random().Next(10, 20000); // zabraklo czasu na dodanie id zgadzajacego sie z baza to dalem takie zeby dodac kilka razy nowa recepta i zobaczyc czy dziala using (SqlConnection con = new SqlConnection(ConString)) using (SqlCommand com = new SqlCommand()) { com.Connection = con; com.CommandText = "insert into Prescription(IdPrescription, Date, DueDate, IdPatient, IdDoctor) " + "values (@IdPrescription, @Date, @DueDate, @IdPatient, @IdDoctor);"; com.Parameters.AddWithValue("IdPrescription", id); com.Parameters.AddWithValue("Date", request.Date); com.Parameters.AddWithValue("DueDate", request.DueDate); com.Parameters.AddWithValue("IdPatient", request.IdPatient); com.Parameters.AddWithValue("IdDoctor", request.IdDoctor); con.Open(); // zabraklo czasu } }
public void AddPrescriptions(NewPrescriptionRequest request) { using (var con = new SqlConnection("Data Source=db-mssql;Initial Catalog=s18836;Integrated Security=True")) using (var com = new SqlCommand()) { com.Connection = con; con.Open(); var tran = con.BeginTransaction(); com.Transaction = tran; try { var wpis = new Wpis(); wpis.Date = request.Date; wpis.DueDate = request.DueDate; wpis.IdPatient = request.IdPatient; wpis.IdDoctor = request.IdDoctor; com.CommandText = "USE [2019SBD]; INSERT INTO Prescription VALUES(@id, @date , @duedate , @idpat, @iddoc)"; com.Parameters.AddWithValue("@id", 1); com.Parameters.AddWithValue("@date", wpis.Date); com.Parameters.AddWithValue("@duedate", wpis.DueDate); com.Parameters.AddWithValue("@idpat", wpis.IdPatient); com.Parameters.AddWithValue("@iddoc", wpis.IdDoctor); com.ExecuteNonQuery(); } catch (SqlException e) { tran.Rollback(); } tran.Commit(); } }