Skip to content

Created 6 models and corresponding controllers enabling CRUD operations #2

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
May 21, 2025

Conversation

chuuchuun
Copy link
Owner

No description provided.

@@ -0,0 +1 @@
.vs/
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

well. With such git ignore file we can't work. I'd suggest smth like this
`## Ignore Visual Studio temporary files, build results, and

files generated by popular Visual Studio add-ons.

User-specific files

*.vs
*.suo
*.user
*.userosscache
*.sln.docstates

User-specific files (MonoDevelop/Xamarin Studio)

*.userprefs

Build results

[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/

Visual Studio 2015 cache/options directory

.vs/

Uncomment if you have tasks that create the project's static files in wwwroot

#wwwroot/

MSTest test Results

[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*

NUNIT

*.VisualState.xml
TestResult.xml

Build Results of an ATL Project

[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c

DNX

project.lock.json
artifacts/
*_i.c
*_p.c
*_i.h
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc

Chutzpah Test files

_Chutzpah*

Visual C++ cache files

ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db
*.VC.VC.opendb

Visual Studio profiler

*.psess
*.vsp
*.vspx
*.sap

TFS 2012 Local Workspace

$tf/

Guidance Automation Toolkit

*.gpState

ReSharper is a .NET coding add-in

_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user

JustCode is a .NET coding add-in

.JustCode

TeamCity is a build add-in

_TeamCity*

DotCover is a Code Coverage Tool

*.dotCover

NCrunch

NCrunch*
.crunch.local.xml
nCrunchTemp_*

MightyMoose

.mm.
AutoTest.Net/

Web workbench (sass)

.sass-cache/

Installshield output folder

[Ee]xpress/

DocProject is a documentation generator add-in

DocProject/buildhelp/
DocProject/Help/.HxT
DocProject/Help/
.HxC
DocProject/Help/.hhc
DocProject/Help/
.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html

Click-Once directory

publish/

Publish Web Output

*.[Pp]ublish.xml
*.azurePubxml

TODO: Comment the next line if you want to checkin your web deploy settings

but database connection strings (with potential passwords) will be unencrypted

#*.pubxml
*.publishproj

Microsoft Azure Web App publish settings. Comment the next line if you want to

checkin your Azure Web App publish settings, but sensitive information contained

in these scripts will be unencrypted

PublishScripts/

NuGet Packages

*.nupkg

The packages folder can be ignored because of Package Restore

*/packages/

except build/, which is used as an MSBuild target.

!**/packages/build/

Uncomment if necessary however generally it will be regenerated when needed

#!**/packages/repositories.config

NuGet v3's project.json files produces more ignoreable files

*.nuget.props
*.nuget.targets

Microsoft Azure Build Output

csx/
*.build.csdef

Microsoft Azure Emulator

ecf/
rcf/

Windows Store app package directories and files

AppPackages/
BundleArtifacts/
Package.StoreAssociation.xml
_pkginfo.txt

Visual Studio cache files

files ending in .cache can be ignored

*.[Cc]ache

but keep track of directories ending in .cache

!*.[Cc]ache/

Others

ClientBin/
$*
*

*.dbmdl
*.dbproj.schemaview
*.pfx
*.publishsettings
node_modules/
orleans.codegen.cs

Since there are multiple workflows, uncomment next line to ignore bower_components

(github/gitignore#1529 (comment))

#bower_components/

RIA/Silverlight projects

Generated_Code/

Backup & report files from converting an old project file

to a newer Visual Studio version. Backup files are not needed,

because we have git ;-)

_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm

SQL Server files

*.mdf
*.ldf

Business Intelligence projects

*.rdl.data
*.bim.layout
.bim_.settings

Microsoft Fakes

FakesAssemblies/

GhostDoc plugin setting file

*.GhostDoc.xml

Node.js Tools for Visual Studio

.ntvs_analysis.dat

Visual Studio 6 build log

*.plg

Visual Studio 6 workspace options file

*.opt

Visual Studio LightSwitch build output

**/.HTMLClient/GeneratedArtifacts
**/
.DesktopClient/GeneratedArtifacts
**/.DesktopClient/ModelManifest.xml
**/
.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions

Paket dependency manager

.paket/paket.exe
paket-files/

FAKE - F# Make

.fake/

JetBrains Rider

.idea/
*.sln.iml

Visual Studio Database Projects

*.jfm

SonarQube local files

.sonarqube

/src/.cr/personal/FavoritesList
.vscode/
.DS_Store
`

/// Gets a specific appointment by ID.
/// </summary>
/// <param name="id">Appointment's unique identifier.</param>
/// <returns>The requested appointment object, or 404 if not found.</returns>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you can notify API users what responses should be expected like this:

/// A specific appointment.
/// No appointment with the provided Id were found.
It's not mandatory, but nice to have. This comment is related to all endpoints.

public ActionResult<Appointment> GetAppointmentById(int id)
{
var appointment = Appointments.FirstOrDefault(a => a.Id == id);
if (appointment == null)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suggest using is instead of ==. It makes your code more readable and saves you from overloading ==.
It's not mandatory, but nice to have.
This comment is related to all endpoints.

/// <param name="appointment">The appointment object to create.</param>
/// <returns>The created appointment with a generated ID.</returns>
[HttpPost]
public ActionResult<Appointment> CreateAppointment(Appointment appointment)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please use [FromRoute], [FromBody] etc to make code more understandable
This comment is related to all endpoints.

}

Appointments.Remove(appointment);
return NoContent();
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's better to return Ok() or Accepted()

This comment is related to all endpoints that were executed correctly.

public string EmailAddress { get; set; }
[Phone]
public string Phone { get; set; }
//public ICollection<Appointment> Appointments { get; set; } = new List<Appointment>();
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if code is not used - there's no need to keep it

/// Gets all appointments in the system.
/// </summary>
/// <returns>
/// 200 OK – A list of all appointments.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, didn't notice that pasted example incorrectly
/// <response code="404">No category with the provided Id were found.</response>
/// <response code="200">A specific category.</response>

@chuuchuun chuuchuun merged commit a85a7c5 into main May 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants