Skip to content

Commit 6b7750e

Browse files
committed
# Task - Add all other conrollers and repositories
0 parents  commit 6b7750e

File tree

162 files changed

+92526
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

162 files changed

+92526
-0
lines changed

.DS_Store

6 KB
Binary file not shown.

.vs/.DS_Store

6 KB
Binary file not shown.

.vs/DristorApp/.DS_Store

6 KB
Binary file not shown.

.vs/DristorApp/xs/.DS_Store

6 KB
Binary file not shown.

.vs/DristorApp/xs/UserPrefs.xml

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
<Properties StartupConfiguration="{193AAE1D-F823-4C79-B325-4AB4EBA0DC37}|Default">
2+
<MonoDevelop.Ide.Workbench ActiveDocument="DristorApp/Controllers/AddressesController.cs">
3+
<Files>
4+
<File FileName="DristorApp/Data/DTOs/Address/AddressCreateDTO.cs" Line="3" Column="2" />
5+
<File FileName="DristorApp/Migrations/20230201164137_InitialEntities.cs" Line="116" Column="20" />
6+
<File FileName="DristorApp/Migrations/20230201164137_InitialEntities.Designer.cs" Line="52" Column="40" />
7+
<File FileName="DristorApp/Migrations/20230201210706_EditingUserMode3.Designer.cs" Line="52" Column="40" />
8+
<File FileName="DristorApp/Migrations/AppDbContextModelSnapshot.cs" Line="49" Column="40" />
9+
<File FileName="DristorApp/Data/DTOs/Address/AddressUpdateDTO.cs" Line="10" Column="22" />
10+
<File FileName="DristorApp/Data/Models/Address.cs" Line="12" Column="22" />
11+
<File FileName="DristorApp/Controllers/ProductsController.cs" Line="49" Column="28" />
12+
<File FileName="DristorApp/Data/DTOs/Porduct/ProductUpdateDTO.cs" Line="4" Column="18" />
13+
<File FileName="DristorApp/Repositories/BaseRepository/IRepository.cs" Line="4" Column="19" />
14+
<File FileName="DristorApp/Controllers/ProductVariantsController.cs" Line="19" Column="13" />
15+
<File FileName="DristorApp/Controllers/CouponsController.cs" Line="13" Column="43" />
16+
<File FileName="DristorApp/Data/DTOs/Coupon/CouponUpdateDTO.cs" Line="5" Column="3" />
17+
<File FileName="DristorApp/Data/DTOs/Coupon/CouponCreateDTO.cs" Line="1" Column="1" />
18+
<File FileName="DristorApp/Repositories/CouponRepository/ICouponRepository.cs" Line="10" Column="6" />
19+
<File FileName="DristorApp/Repositories/CouponRepository/ImplCouponRepository.cs" Line="15" Column="31" />
20+
<File FileName="DristorApp/Repositories/CartItemRepository/ICartRepository.cs" Line="7" Column="37" />
21+
<File FileName="DristorApp/Repositories/CartItemRepository/ImplCartRepository.cs" Line="39" Column="26" />
22+
<File FileName="DristorApp/Repositories/Roles/ImplRoleRepository.cs" Line="1" Column="1" />
23+
<File FileName="DristorApp/Repositories/UserRepository/ImplUserRepository.cs" Line="1" Column="1" />
24+
<File FileName="DristorApp/Repositories/ProductRepository/ImplProductRepository.cs" Line="1" Column="1" />
25+
<File FileName="DristorApp/Repositories/OrderRepository/ImplOrderRepository.cs" Line="42" Column="2" />
26+
<File FileName="DristorApp/Repositories/OrderRepository/IOrderRepository.cs" Line="11" Column="2" />
27+
<File FileName="DristorApp/Controllers/IngredientsController.cs" Line="8" Column="68" />
28+
<File FileName="DristorApp/Controllers/OrderItemsController.cs" Line="48" Column="76" />
29+
<File FileName="DristorApp/Data/DTOs/Orderitem/OrderItemUpdateDTO.cs" Line="8" Column="42" />
30+
<File FileName="DristorApp/Data/DTOs/Orderitem/OrderItemCreateDTO.cs" Line="7" Column="33" />
31+
<File FileName="DristorApp/Controllers/OrderStatusUpdatesController.cs" Line="82" Column="2" />
32+
<File FileName="DristorApp/Controllers/OrdersController.cs" Line="104" Column="1" />
33+
<File FileName="DristorApp/Data/DTOs/CartItem/CartItemCreateDTO.cs" Line="8" Column="1" />
34+
<File FileName="DristorApp/Data/DTOs/CartItem/CartItemUpdateDTO.cs" Line="1" Column="1" />
35+
<File FileName="DristorApp/Controllers/AddressesController.cs" Line="70" Column="1" />
36+
</Files>
37+
<Pads>
38+
<Pad Id="ProjectPad">
39+
<State name="__root__">
40+
<Node name="DristorApp" expanded="True">
41+
<Node name="DristorApp" expanded="True">
42+
<Node name="Views" expanded="True" />
43+
<Node name="wwwroot" expanded="True" />
44+
</Node>
45+
</Node>
46+
</State>
47+
</Pad>
48+
</Pads>
49+
</MonoDevelop.Ide.Workbench>
50+
<MultiItemStartupConfigurations />
51+
<MonoDevelop.Ide.Workspace ActiveConfiguration="Debug" />
52+
<MonoDevelop.Ide.DebuggingService.PinnedWatches />
53+
<MonoDevelop.Ide.ItemProperties.DristorApp PreferredExecutionTarget="/Applications/Google Chrome.app" />
54+
<MonoDevelop.Ide.DebuggingService.Breakpoints>
55+
<BreakpointStore />
56+
</MonoDevelop.Ide.DebuggingService.Breakpoints>
57+
</Properties>

.vs/DristorApp/xs/project-cache/DristorApp-Debug.json

Lines changed: 1 addition & 0 deletions
Large diffs are not rendered by default.

DristorApp.sln

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
2+
Microsoft Visual Studio Solution File, Format Version 12.00
3+
# Visual Studio Version 16
4+
VisualStudioVersion = 25.0.1704.3
5+
MinimumVisualStudioVersion = 10.0.40219.1
6+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DristorApp", "DristorApp\DristorApp.csproj", "{193AAE1D-F823-4C79-B325-4AB4EBA0DC37}"
7+
EndProject
8+
Global
9+
GlobalSection(SolutionConfigurationPlatforms) = preSolution
10+
Debug|Any CPU = Debug|Any CPU
11+
Release|Any CPU = Release|Any CPU
12+
EndGlobalSection
13+
GlobalSection(ProjectConfigurationPlatforms) = postSolution
14+
{193AAE1D-F823-4C79-B325-4AB4EBA0DC37}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
15+
{193AAE1D-F823-4C79-B325-4AB4EBA0DC37}.Debug|Any CPU.Build.0 = Debug|Any CPU
16+
{193AAE1D-F823-4C79-B325-4AB4EBA0DC37}.Release|Any CPU.ActiveCfg = Release|Any CPU
17+
{193AAE1D-F823-4C79-B325-4AB4EBA0DC37}.Release|Any CPU.Build.0 = Release|Any CPU
18+
EndGlobalSection
19+
GlobalSection(SolutionProperties) = preSolution
20+
HideSolutionNode = FALSE
21+
EndGlobalSection
22+
GlobalSection(ExtensibilityGlobals) = postSolution
23+
SolutionGuid = {84B05646-08CC-4836-A038-AC80A29E94DA}
24+
EndGlobalSection
25+
EndGlobal

DristorApp/.DS_Store

8 KB
Binary file not shown.
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
using System;
2+
using DristorApp.Data.DTOs.Address;
3+
using DristorApp.Data.Models;
4+
using DristorApp.Repositories.BaseRepository;
5+
using DristorApp.Repositories.UserRepository;
6+
using Microsoft.AspNetCore.Mvc;
7+
8+
namespace DristorApp.Controllers
9+
{
10+
[Route("api/[controller]")]
11+
[ApiController]
12+
public class AddressesController : ControllerBase
13+
{
14+
private readonly IRepository<Address, int> _addressRepository;
15+
private readonly IUserRepository _userRepository;
16+
public AddressesController(IRepository<Address, int> addressRepository, IUserRepository userRepository)
17+
{
18+
_addressRepository = addressRepository;
19+
_userRepository = userRepository;
20+
}
21+
22+
// GET: api/Addresses
23+
[HttpGet]
24+
public async Task<ActionResult<IEnumerable<Address>>> GetAddress()
25+
{
26+
return await _addressRepository.GetAllAsync();
27+
}
28+
29+
// GET: api/Addresses/5
30+
[HttpGet("{id}")]
31+
public async Task<ActionResult<Address>> GetAddress(int id)
32+
{
33+
var address = await _addressRepository.GetByIdAsync(id);
34+
35+
if (address == null)
36+
{
37+
return NotFound();
38+
}
39+
40+
return address;
41+
}
42+
43+
44+
// POST: api/Addresses
45+
// To protect from overposting attacks, see https://go.microsoft.com/fwlink/?linkid=2123754
46+
[HttpPost]
47+
/*public async Task<ActionResult<Address>> PostAddress(Address address)
48+
{
49+
await _addressRepository.CreateAsync(address);
50+
return CreatedAtAction("GetAddress", new { id = address.Id }, address);
51+
}*/
52+
public async Task<ActionResult<Address>> PostAddress(AddressCreateDTO dto)
53+
{
54+
var user = await _userRepository.GetByIdAsync(dto.User);
55+
if (user is null)
56+
{
57+
return NotFound();
58+
}
59+
60+
var address = new Address
61+
{
62+
Id = dto.Id,
63+
Country = dto.Country,
64+
City = dto.City,
65+
AddressLine = dto.AddressLine,
66+
PostalCode = dto.PostalCode,
67+
PhoneNumber = dto.PhoneNumber,
68+
User = user
69+
};
70+
71+
72+
await _addressRepository.CreateAsync(address);
73+
74+
return CreatedAtAction("GetAddress", new { id = address.Id }, address);
75+
}
76+
77+
// DELETE: api/Addresses/5
78+
[HttpDelete("{id}")]
79+
public async Task<IActionResult> DeleteAddress(int id)
80+
{
81+
var address = await _addressRepository.GetByIdAsync(id);
82+
if (address == null)
83+
{
84+
return NotFound();
85+
}
86+
87+
await _addressRepository.DeleteAsync(address);
88+
89+
return NoContent();
90+
}
91+
}
92+
}
93+
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
using System;
2+
using DristorApp.Data.DTOs.Coupon;
3+
using DristorApp.Data.Models;
4+
using DristorApp.Repositories.UserRepository;
5+
using Microsoft.AspNetCore.Mvc;
6+
7+
namespace DristorApp.Controllers
8+
{
9+
[Route("api/[controller]")]
10+
[ApiController]
11+
public class CouponsController : ControllerBase
12+
{
13+
private readonly ICouponRepository _couponsRepository;
14+
private readonly IUserRepository _userRepository;
15+
16+
public CouponsController(ICouponRepository couponsRepository, IUserRepository userRepository)
17+
{
18+
_couponsRepository = couponsRepository;
19+
_userRepository = userRepository;
20+
}
21+
22+
[HttpGet]
23+
public async Task<ActionResult<IEnumerable<Coupon>>> GetCoupons()
24+
{
25+
return await _couponsRepository.GetAllAsync();
26+
}
27+
28+
[HttpGet("{id}")]
29+
public async Task<ActionResult<Coupon>> GetCoupon(int id)
30+
{
31+
var coupon = await _couponsRepository.GetByIdAsync(id);
32+
33+
if (coupon is null)
34+
{
35+
return NotFound();
36+
}
37+
38+
return coupon;
39+
}
40+
41+
[HttpPut("{id}")]
42+
public async Task<IActionResult> PutCoupon(int id, CouponUpdateDTO dto)
43+
{
44+
var coupon = await _couponsRepository.GetByIdAsync(id);
45+
if (coupon is null)
46+
{
47+
return NotFound();
48+
}
49+
50+
var user = await _userRepository.GetByIdAsync(dto.User);
51+
if (user is null)
52+
{
53+
return NotFound();
54+
}
55+
56+
coupon.Discount = dto.Discount;
57+
coupon.User = user;
58+
59+
await _couponsRepository.UpdateAsync(coupon);
60+
61+
return NoContent();
62+
}
63+
64+
[HttpPost]
65+
public async Task<ActionResult<Coupon>> PostCoupon(CouponCreateDTO dto)
66+
{
67+
var user = await _userRepository.GetByIdAsync(dto.User);
68+
if (user is null)
69+
{
70+
return NotFound();
71+
}
72+
73+
var coupon = new Coupon
74+
{
75+
Discount = dto.Discount,
76+
User = user
77+
};
78+
79+
await _couponsRepository.CreateAsync(coupon);
80+
81+
return CreatedAtAction("GetCoupon", new { id = coupon.Id }, coupon);
82+
}
83+
84+
[HttpDelete("{id}")]
85+
public async Task<IActionResult> DeleteCoupon(int id)
86+
{
87+
var coupon = await _couponsRepository.GetByIdAsync(id);
88+
if (coupon == null)
89+
{
90+
return NotFound();
91+
}
92+
93+
await _couponsRepository.DeleteAsync(coupon);
94+
95+
return NoContent();
96+
}
97+
}
98+
}

0 commit comments

Comments
 (0)