Skip to content
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

.NET 7 Migration #75

Draft
wants to merge 32 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 2 commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
12bc0f2
Removed check on sending confirmation email.
tymorrow Aug 26, 2023
7db0bf1
Migrate from ASP.NET MVC 5 and EF6 to .NET7.
tymorrow Sep 17, 2023
120dbe7
Move Edu to School; migrate member info and remove phone numbers table.
tymorrow Sep 23, 2023
95db645
Rename user and role tables.
tymorrow Sep 24, 2023
2784f64
Refactor namespaces to file-scoped namespacing.
tymorrow Sep 24, 2023
0f7a87a
Fix navigation.
tymorrow Sep 24, 2023
944ea25
Remove role limits.
tymorrow Sep 24, 2023
c213ef4
Fix internal status messages.
tymorrow Sep 24, 2023
ed55115
Remove role check on nav bar.
Sep 24, 2023
c48ba56
Refactor external account-related views:
RyHighfill Sep 24, 2023
c86ec4a
Refactor Statuses Index
RyHighfill Oct 1, 2023
836a680
Refactor incidents index
Redey1290 Oct 15, 2023
1e09307
Refactored Pager Partial
Oct 15, 2023
6d8b8f0
Add initial role requirements and handlers.
tymorrow Oct 22, 2023
367b499
Refactor work order index.
Redey1290 Oct 22, 2023
deb3e70
Fix routing; tweak navigation.
tymorrow Oct 22, 2023
d4d08fc
Fix updates link behavior.
tymorrow Oct 22, 2023
dbbe24a
Refactor work order index
Redey1290 Oct 22, 2023
8ab0655
Convert all partial view rendering to partial tag.
tymorrow Oct 29, 2023
0a98036
Fix broken pages.
tymorrow Oct 29, 2023
df0dc61
Refactor work orders create and index pages.
Redey1290 Oct 29, 2023
7d3326e
Refactor incidents submit page
Redey1290 Oct 29, 2023
0c53a50
Refactor classes index page
Redey1290 Oct 29, 2023
9606181
Refactor work order create page.
Redey1290 Nov 19, 2023
9fa77dc
Refactor incidents views.
Redey1290 Nov 19, 2023
2e23008
Fix lazy loading of pledge class on semester.
Redey1290 Dec 3, 2023
df880c7
Refactor positons create view.
Redey1290 Dec 3, 2023
8cff8af
Refactor status create view.
Redey1290 Dec 3, 2023
9dce976
Refactor classes create and edit views.
Redey1290 Dec 10, 2023
b62b042
Change class shorthand instructions alert to info color.
Redey1290 Dec 10, 2023
54f879f
Minor refactoring of positions, workorders, and incidents views.
Redey1290 Dec 10, 2023
f5fddbf
Separate users from members; refactor BaseController to service layer.
tymorrow Feb 12, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
198 changes: 27 additions & 171 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,187 +1,43 @@
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
*.swp
*.*~
project.lock.json
.DS_Store
*.pyc
nupkg/

# Bower
bower_components/
# Visual Studio Code
.vscode/

# Rider
.idea/

# Visual Studio
.vs/

# Fleet
.fleet/

# Code Rush
.cr/

# User-specific files
*.suo
*.user
*.userosscache
*.sln.docstates
App_Data/
Images/Avatars/
Web.Debug.config
Web.Release.config

# Visual Studio 2015 cache/options directory
.vs

# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
build/
bld/
[Bb]in/
[Oo]bj/

# 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

*_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
*.opensdf
*.sdf
*.cachefile

# Visual Studio profiler
*.psess
*.vsp
*.vspx

# 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 addin-in
.JustCode

# TeamCity is a build add-in
_TeamCity*

# DotCover is a Code Coverage Tool
*.dotCover

# NCrunch
*.ncrunch*
_NCrunch_*
.*crunch*.local.xml

# 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

# NuGet Packages Directory
packages/
## TODO: If the tool you use requires repositories.config uncomment the next line
#!packages/repositories.config

# Enable "build/" folder in the NuGet Packages folder since NuGet packages use it for MSBuild targets
# This line needs to be after the ignore of the build folder (and the packages folder if the line above has been uncommented)
!packages/build/

# Windows Azure Build Output
csx/
*.build.csdef

# Windows Store app package directory
AppPackages/

# Others
sql/
*.Cache
ClientBin/
[Ss]tyle[Cc]op.*
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.pfx
*.publishsettings
node_modules/

# 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/
[Oo]ut/
msbuild.log
msbuild.err
msbuild.wrn
2 changes: 1 addition & 1 deletion LICENSE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2019 Tyler Morrow
Copyright (c) 2023 Tyler Morrow

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
74 changes: 16 additions & 58 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,70 +1,28 @@
# Sphinx

A web application for managing Delta Sigma Phi (Delta Epsilon) fraternity operations.
Sphinx is a collection of projects implementing a web application for managing Delta Sigma Phi (Delta Epsilon) fraternity operations.
It was started in January 2013 by Tyler (Ty) Morrow and first launched in Fall of 2014.

## Contributing

Following the instructions below in order to get the website running locally and contribute changes.

### Installations

- Visual Studio Community Edition (latest)
- SQL Server 2016 Express
- Download and install the Express edition from [here][2]
- Make sure you get SQL Server Management Studio too

### Clone & Build

Clone the repository with git and open the solution in Visual Studio.
Build the solution to download all the required NuGet packages, which may take a few minutes.

### Building Your Local Databases
It unifies public web pages with private web pages (which require authentication) where custom, fraternity-centric features are implemented to streamline operations.
Some examples are:

This application uses [Entity Framework Code-First][1] to handle database interaction and management.
After you've installed everything, cloned the repo, and built the solution, open the NuGet Package Manager Console in Visual Studio and run the following commands:
- roster management
- laundry signup
- meal schedule
- room assignment
- house work orders
- and more

~~~ sh
PM> Enable-Migrations -ContextTypeName Dsp.Data.SphinxDbContext -ProjectName Dsp.Data
PM> Update-Database -ConfigurationTypeName Dsp.Data.Migrations.Configuration -ProjectName Dsp.Data
~~~
Public web pages also tie into the behind-the-scenes fraternity operations so that they can stay up-to-date (e.g., auto-updating the contacts page every semester based on the appointed leaders).

If you receive an error about the database not existing, you will need to modify the connection string in the root `Web.config` to point to a fresh, local sql server database that you will need to create.
Get the latest version of SQL Server Management Studio to create a local database.

Entity Framework *migrations* exist to keep track of every change made to the database schema over time.
The first command simply turns on the ability to use migrations.
The second command creates a new migration based on anything that has changed since the previous migration.
The third command actually updates your local database by applying any unapplied migrations.
## Requesting Changes

Contact Ty if you get stuck.
Use the issues tab of this repository to request changes.

### Data
The `Seed` method in `Migrations/Configuration.cs` contains some commented out code that serves as a good starting place.
If you are working with Ty on the Delta Sigma Phi website, contact him for some recent data to throw in your local database.
To make yourself an administrator, run the following SQL query on the DspDb:

~~~ sql
INSERT INTO Leaders VALUES (/*your user id from Members table*/, 1, 30, '2014-01-01 12:00:00.000')
~~~

### Contributing

1. Create your feature branch: `git checkout -b my-new-feature`
2. Commit your changes: `git commit -am 'Add some feature'`
3. Push to the branch: `git push origin my-new-feature`
4. Submit a pull request

The idea is to do your work on a branch other than `master` and then submit a pull request for that branch to be merged into master on the upstream repo.

## Deployment

The easiest way is to download the Web Publish profile from the host to somewhere on your computer and use it.
Right-click on the `Dsp` project and select Publish.
In the Publish prompt, import the profile you downloaded and click through the rest of the sub-menus.
If there are new database migrations since the last time you published, make sure the "Execute Code-First Migrations" box is checked.
## Contributing

## Feedback
Use the issues feature of this repository to report bugs or make suggestions/requests for new features, or enhancements to existing ones.
Members are welcome to contribute and even request access to this organization via GitHub.

[1]: http://www.entityframeworktutorial.net/code-first/entity-framework-code-first.aspx
[2]: https://www.microsoft.com/en-us/sql-server/sql-server-downloads
Contributing requires pull requests and following the [Development Guide](https://github.com/deltasig/sphinx/wiki/Development-Guide) in the Wiki.
Loading