Skip to content

Commit

Permalink
Merge pull request #16 from rebekahgrandey/react-sidebar
Browse files Browse the repository at this point in the history
most recent record info added to profiles | pet facts | starting styling
  • Loading branch information
rebekahgrandey authored Feb 16, 2023
2 parents af8882c + 8933cde commit 3c14d81
Show file tree
Hide file tree
Showing 16 changed files with 1,158 additions and 60 deletions.
22 changes: 22 additions & 0 deletions PawPanion/Controllers/RecordController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,28 @@ public IActionResult GetRecordsByPetId(int petId)
return Ok(post);
}

[HttpGet]
public IActionResult GetAllByDate()
{
var post = _recordRepository.GetAllRecordsByDate();
if (post == null)
{
NotFound();
}
return Ok(post);
}

//[HttpGet("most-recent/{petId}")]
//public IActionResult NewestRecordByPetId(int id)
//{
// var post = _recordRepository.MostRecentRecordByPetId(id);
// if (post == null)
// {
// NotFound();
// }
// return Ok(post);
//}

[HttpPost]
public IActionResult Post(Record record)
{
Expand Down
2 changes: 2 additions & 0 deletions PawPanion/Repositories/IRecordRepository.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ namespace PawPanion.Repositories
public interface IRecordRepository
{
List<Record> GetPetRecordsByPetId(int petId);
List<Record> MostRecentRecordByPetId(int petId);
List<Record> GetAllRecordsByDate();
void Add(Record record);
void Delete(int id);
}
Expand Down
158 changes: 158 additions & 0 deletions PawPanion/Repositories/RecordRepository.cs
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,9 @@ FROM Record r






public void Add(Record record)
{
using (var conn = Connection)
Expand Down Expand Up @@ -128,5 +131,160 @@ public void Delete(int id)
}
}

public List<Record> MostRecentRecordByPetId(int petId)
{
using (var conn = Connection)
{
conn.Open();
using (var cmd = conn.CreateCommand())
{
cmd.CommandText = @"
SELECT TOP 1 r.Id AS RecordId, r.RecordTypeId, r.PetId AS RecordPetId, r.VetId AS RVetId, r.Date, Weight, Medication, Illness,
Diet, Note,
rt.Id AS RTId, rt.Name AS RecordTypeName,
p.Id AS PetId, p.Name AS PetName, Breed, IsMale, Birthdate, p.OwnerId AS PetOwnerId, p.IsDog, p.ImageLocation AS PetImageLocation,
v.Id AS VetId, v.Name AS VetName, v.ImageLocation AS VetImageLocation, v.Email AS VetEmail, v.Phone AS VetPhone, v.IsVet AS VetIsVet,
o.Id AS OwnerId, o.Name AS OwnerName, o.Email AS OwnerEmail, o.Phone AS OwnerPhone, o.ImageLocation AS OwnerImageLocation, o.IsVet AS OwnerIsVet
FROM Record r
JOIN Pet p ON p.Id = r.PetId
JOIN RecordType rt ON r.RecordTypeId = rt.Id
JOIN [User] v ON r.VetId = v.Id
JOIN [User] o ON p.OwnerId = o.Id
WHERE r.PetId = @Id
ORDER BY Date DESC";

DbUtils.AddParameter(cmd, "@Id", petId);

using (SqlDataReader reader = cmd.ExecuteReader())
{
List<Record> records = new();

while (reader.Read())
{
records.Add(new Record()
{
Id = DbUtils.GetInt(reader, "RecordId"),
RecordTypeId = DbUtils.GetInt(reader, "RecordTypeId"),
RecordType = new RecordType()
{
Id = DbUtils.GetInt(reader, "RTId"),
Name = DbUtils.GetString(reader, "RecordTypeName"),
},
PetId = DbUtils.GetInt(reader, "RecordPetId"),
Pet = new Pet()
{
Id = DbUtils.GetInt(reader, "PetId"),
Name = DbUtils.GetString(reader, "PetName"),
Breed = DbUtils.GetString(reader, "Breed"),
IsMale = reader.GetBoolean(reader.GetOrdinal("IsMale")),
Birthdate = DbUtils.GetDateTime(reader, "Birthdate"),
OwnerId = DbUtils.GetInt(reader, "PetOwnerId"),
IsDog = reader.GetBoolean(reader.GetOrdinal("IsDog")),
ImageLocation = DbUtils.GetString(reader, "PetImageLocation")
},
VetId = DbUtils.GetInt(reader, "RVetId"),
Vet = new User()
{
Id = DbUtils.GetInt(reader, "VetId"),
Name = DbUtils.GetString(reader, "VetName"),
ImageLocation = DbUtils.GetString(reader, "VetImageLocation"),
Email = DbUtils.GetString(reader, "VetEmail"),
Phone = DbUtils.GetString(reader, "VetPhone"),
IsVet = reader.GetBoolean(reader.GetOrdinal("VetIsVet"))
},
Date = DbUtils.GetDateTime(reader, "Date"),
Weight = (float)reader.GetDouble(reader.GetOrdinal("Weight")),
Medication = DbUtils.GetString(reader, "Medication"),
Illness = DbUtils.GetString(reader, "Illness"),
Diet = DbUtils.GetString(reader, "Diet"),
Note = DbUtils.GetString(reader, "Note")
});
}
return records;
}
}
}
}


public List<Record> GetAllRecordsByDate()
{
using (var conn = Connection)
{
conn.Open();
using (var cmd = conn.CreateCommand())
{
cmd.CommandText = @"
SELECT r.Id AS RecordId, r.RecordTypeId, r.PetId AS RecordPetId, r.VetId AS RVetId, r.Date, Weight, Medication, Illness,
Diet, Note,
rt.Id AS RTId, rt.Name AS RecordTypeName,
p.Id AS PetId, p.Name AS PetName, Breed, IsMale, Birthdate, p.OwnerId AS PetOwnerId, p.IsDog, p.ImageLocation AS PetImageLocation,
v.Id AS VetId, v.Name AS VetName, v.ImageLocation AS VetImageLocation, v.Email AS VetEmail, v.Phone AS VetPhone, v.IsVet AS VetIsVet,
o.Id AS OwnerId, o.Name AS OwnerName, o.Email AS OwnerEmail, o.Phone AS OwnerPhone, o.ImageLocation AS OwnerImageLocation, o.IsVet AS OwnerIsVet
FROM Record r
JOIN Pet p ON p.Id = r.PetId
JOIN RecordType rt ON r.RecordTypeId = rt.Id
JOIN [User] v ON r.VetId = v.Id
JOIN [User] o ON p.OwnerId = o.Id
ORDER BY Date DESC
";

using (SqlDataReader reader = cmd.ExecuteReader())
{
List<Record> records = new List<Record>();

while (reader.Read())
{
Record record = new Record
{
Id = DbUtils.GetInt(reader, "RecordId"),
RecordTypeId = DbUtils.GetInt(reader, "RecordTypeId"),
RecordType = new RecordType()
{
Id = DbUtils.GetInt(reader, "RTId"),
Name = DbUtils.GetString(reader, "RecordTypeName"),
},
PetId = DbUtils.GetInt(reader, "RecordPetId"),
Pet = new Pet()
{
Id = DbUtils.GetInt(reader, "PetId"),
Name = DbUtils.GetString(reader, "PetName"),
Breed = DbUtils.GetString(reader, "Breed"),
IsMale = reader.GetBoolean(reader.GetOrdinal("IsMale")),
Birthdate = DbUtils.GetDateTime(reader, "Birthdate"),
OwnerId = DbUtils.GetInt(reader, "PetOwnerId"),
IsDog = reader.GetBoolean(reader.GetOrdinal("IsDog")),
ImageLocation = DbUtils.GetString(reader, "PetImageLocation")
},
VetId = DbUtils.GetInt(reader, "RVetId"),
Vet = new User()
{
Id = DbUtils.GetInt(reader, "VetId"),
Name = DbUtils.GetString(reader, "VetName"),
ImageLocation = DbUtils.GetString(reader, "VetImageLocation"),
Email = DbUtils.GetString(reader, "VetEmail"),
Phone = DbUtils.GetString(reader, "VetPhone"),
IsVet = reader.GetBoolean(reader.GetOrdinal("VetIsVet"))
},
Date = DbUtils.GetDateTime(reader, "Date"),
Weight = (float)reader.GetDouble(reader.GetOrdinal("Weight")),
Medication = DbUtils.GetString(reader, "Medication"),
Illness = DbUtils.GetString(reader, "Illness"),
Diet = DbUtils.GetString(reader, "Diet"),
Note = DbUtils.GetString(reader, "Note")
};


records.Add(record);
}

return records;
}
}
}
}



}
}
Loading

0 comments on commit 3c14d81

Please sign in to comment.