Commit 37503fa9 authored by hasan khaddour's avatar hasan khaddour

update views

parent ae1c806f
using ApplicationCore.Interfaces.IServices;
using ApplicationDomain.Entities;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Threading.Tasks;
using WebPresentation.ViewModel.Identity;
namespace WebPresentation.Controllers
{
[Route("api/[controller]")]
[ApiController]
[AllowAnonymous]
public class AccessAPIController : BaseController
{
private readonly SignInManager<User> _signInManager;
private readonly IPatientService _patientSerivce;
public AccessAPIController(UserManager<User> userManager,
SignInManager<User> signInManager,
IPatientService patientService):base(userManager)
{
_signInManager = signInManager;
_patientSerivce = patientService;
}
[HttpPost("register")]
public async Task<IActionResult> Register([FromBody] RegisterationInputModel Input)
{
if (!ModelState.IsValid)
return BadRequest(ModelState);
var user = new User
{
NormalizedEmail = Input.Email,
FirstName = Input.FirstName,
LastName = Input.LastName,
Avatar = Input.Avatar,
UserName = Input.Email,
Email = Input.Email,
Patient = Input.Patient,
CreationTime = DateTime.Now,
};
var result = await _userManager.CreateAsync(user, Input.Password);
if (result.Succeeded)
{
await _signInManager.SignInAsync(user, isPersistent: false);
return Ok(new { message = "Registration successful" });
}
foreach (var error in result.Errors)
{
ModelState.AddModelError(string.Empty, error.Description);
}
return BadRequest(ModelState);
}
[HttpPost("login")]
public async Task<IActionResult> Login([FromBody] LoginInuptModel model)
{
if (!ModelState.IsValid)
return BadRequest(ModelState);
var result = await _signInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, lockoutOnFailure: false);
if (result.Succeeded)
{
return Ok(new {message= "ok added " });
}
if (result.IsLockedOut)
{
return Forbid("User is locked out.");
}
else
{
ModelState.AddModelError(string.Empty, "Invalid login attempt.");
return Unauthorized(ModelState);
}
}
[HttpGet("log")]
public IActionResult i()
{
return Ok(new { message = "Logout successful" });
}
[HttpPost("logout")]
public async Task<IActionResult> Logout()
{
await _signInManager.SignOutAsync();
return Ok(new { message = "Logout successful" });
}
}
}
\ No newline at end of file
using ApplicationCore.DomainModel;
using ApplicationCore.Interfaces;
using ApplicationCore.Interfaces.IServices;
using ApplicationDomain.Entities;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace WebPresentation.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class CrudAPIController<TModel> : BaseController where TModel : DomainBase
{
protected readonly IService<TModel> _service;
public CrudAPIController(
IService<TModel> service,
UserManager<User> userManager)
: base(userManager)
{
_service = service;
}
public async virtual Task<IActionResult> GetAll()
{
IEnumerable<TModel> models = await _service.GetAll();
return Ok(models);
}
[HttpGet("{id}")]
public async Task<IActionResult> GetById(int id)
{
var model = await _service.GetDetails(id);
if (model == null)
{
return NotFound();
}
return Ok(model);
}
[HttpPost("update")]
public IActionResult Update(int id, TModel model )
{
if (id != model.Id)
return Unauthorized();
var ModifiedModel = _service.Update(model);
return Ok(ModifiedModel);
}
[HttpPut("delete")]
public IActionResult Delete(int id)
{
_service.Delete(id);
return Ok(new { mesage ="deleted"});
}
[HttpPost("create")]
public IActionResult Create(TModel model)
{
_service.Create(model);
return Ok(new { mesage = "deleted" });
}
}
}
using ApplicationCore.DomainModel;
using ApplicationCore.Interfaces.IServices;
using ApplicationDomain.Entities;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace WebPresentation.Controllers
{
[Route("api/[controller]")]
[ApiController]
[AllowAnonymous]
public class MedicalStateApiController : CrudAPIController<MedicalStateModel>
{
private readonly IPatientService _patientService;
public MedicalStateApiController(
IMedicalStateService medicalstateService,
IPatientService patientService,
UserManager<User> userManager)
:base(medicalstateService, userManager)
{
_patientService = patientService;
}
public override async Task<IActionResult> GetAll()
{
string u = GetUserId();
var ps = await _patientService.GetAll();
var pId=ps.Where(p => p.User.Id == u).FirstOrDefault().Id;
var meds = ((IMedicalStateService)_service).GetAllPatientMedicalStates(pId);
return Ok(meds);
}
[HttpGet("GetMedicines")]
public async Task<JsonResult> GetMedicalStateMedicine(int id)
{
var r = await ((IMedicalStateService)_service).GetDetails(id);
return Json(r.Medicines);
}
}
}
using ApplicationCore.DomainModel;
using ApplicationCore.Interfaces.IServices;
using ApplicationDomain.Entities;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace WebPresentation.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class MedicineAPIController : CrudAPIController<MedicineModel>
{
public MedicineAPIController(
IMedicineService medicalstateService,
UserManager<User> userManager)
: base(medicalstateService, userManager)
{
}
[HttpPost("AddMedicineT")]
public JsonResult AddMedicineT(int id, int med)
{
try
{
((IMedicineService)_service).AddToMedicalState(new MedicalStateMedicineModel { MedicalStateId = id, MedicineId = med });
return Json("Added");
}
catch
{
return Json("faild");
}
}
[HttpPost("RemoveMedicineJ")]
public JsonResult RemoveMedicineJ(int id, int med)
{
((IMedicineService)_service).RemoveFromMedicalState(new MedicalStateMedicineModel { MedicalStateId = id, MedicineId = med });
return Json("Reomved");
}
}
}
using ApplicationCore.DomainModel;
using ApplicationCore.Interfaces;
using ApplicationDomain.Entities;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
......@@ -21,7 +22,6 @@ namespace WebPresentation.Controllers
_service = service;
}
public async virtual Task<IActionResult> Details(int? id)
{
......@@ -105,7 +105,7 @@ namespace WebPresentation.Controllers
return View("Error");
}
return RedirectToAction("Index");
return RedirectToAction("Details",new { id=tModel.Id});
}
return View(tModel);
}
......@@ -126,8 +126,9 @@ namespace WebPresentation.Controllers
{
_service.Create(viewModel);
return RedirectToAction(nameof(Index));
viewModel= _service.Create(viewModel);
return RedirectToAction("Details", new { id = viewModel.Id });
}
return View(viewModel);
}
......
......@@ -26,6 +26,7 @@ namespace WebPresentation.Controllers
}
}
}
......@@ -37,7 +37,7 @@ namespace WebPresentation.Controllers
var u = GetUserId();
var p = await _patientService.GetAll();
var pId= p.Where(p => p.User.Id == u).FirstOrDefault().Id;
var meds =((IMedicalStateService )_service).GetAllPatientMedicalStates(pId);
var meds =await ((IMedicalStateService )_service).GetAllPatientMedicalStates(pId);
return View(meds);
}
......@@ -92,11 +92,14 @@ namespace WebPresentation.Controllers
return RedirectToAction("Details", "MedicalState", new { Id = id });
}
#region json
[HttpGet]
public JsonResult GetMedicalStateMedicine(int id) {
var r = _medicalStateService.GetDetails(id).Result.Medicines;
return Json(r);
}
#endregion json
}
}
......@@ -14,7 +14,7 @@ using ApplicationCore.DomainModel;
namespace WebPresentation.Controllers
{
//[Authorize(Roles = "Admin")]
[Authorize(Roles = "Admin")]
public class MedicineController : CRUDController<MedicineModel>
{
private readonly IIngredientService _ingredientService;
......@@ -44,6 +44,30 @@ namespace WebPresentation.Controllers
return View(s);
}
[Authorize(Roles = "Admin")]
public IActionResult GetIngredints(int id)
{
var s = _ingredientService.GetAll().Result;
ViewBag.MedicineId = id;
return Ok(s);
}
[Authorize(Roles = "Admin")]
public IActionResult ReomveIngredints(int id ,int ing )
{
_ingredientService.RemoveFromMedicine(new MedicineIngredientModel {IngredientId=ing , MedicineId=id });
return Ok(new {message = "removed" });
}
[Authorize(Roles = "Admin")]
[HttpPost]
public IActionResult AddIngredintsT( MedicineIngredientModel medicineIngredientModel)
{
_ingredientService.AddToMedicine(medicineIngredientModel);
return Ok(new { message = "added"});
}
[Authorize(Roles = "Admin")]
[HttpPost]
......@@ -53,6 +77,7 @@ namespace WebPresentation.Controllers
return RedirectToAction("Details","Medicine", new { Id = med}) ;
}
#region json
[Authorize(Roles ="patient")]
public async Task<JsonResult> GetDetails(int? id)
......@@ -72,7 +97,9 @@ namespace WebPresentation.Controllers
}
[Authorize(Roles = "patient")]
[HttpGet]
public JsonResult GetMedicines()
{
var all = _medicineService.GetAll().Result;
......@@ -81,5 +108,33 @@ namespace WebPresentation.Controllers
}
[Authorize(Roles = "patient")]
[HttpPost]
public JsonResult AddMedicineT(int id, int med)
{
try
{
((IMedicineService)_service).AddToMedicalState(new MedicalStateMedicineModel { MedicalStateId = id, MedicineId = med });
return Json("Added");
}
catch
{
return Json("faild");
}
}
[Authorize(Roles = "patient")]
[HttpPost]
public JsonResult RemoveMedicineJ(int id, int med)
{
((IMedicineService)_service).RemoveFromMedicalState(new MedicalStateMedicineModel { MedicalStateId = id, MedicineId = med });
return Json("Reomved");
}
#endregion json
}
}
......@@ -34,6 +34,7 @@ namespace WebPresentation
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
services.AddScoped<DbContext, MedicDbContext>();
services.AddScoped<Mapper>();
......@@ -51,8 +52,14 @@ namespace WebPresentation
services.AddAutoMapper(typeof(ObjectMapper));
#region ADD Scoped Repository
services.AddScoped(typeof(IUnitOfWork<>),typeof(UnitOfWork<>));
services.AddScoped(typeof(IGenericRepository<>), typeof(GenericRepository<>));
services.AddScoped<IMedicalStateRepository,MedicalStateRepository>();
services.AddScoped<IMedicineRepository, MedicineRepository>();
services.AddScoped<IPatientRepository, PatientRepository>();
services.AddScoped<IIngredientRepository, IngredientRepository>();
#endregion ADD Scope dRepository
#region ADD Scoped Services
......@@ -109,8 +116,11 @@ namespace WebPresentation
services.AddSession();
services.AddControllersWithViews();
services.AddControllersWithViews().AddNewtonsoftJson(options =>
options.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore
);
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
......
......@@ -128,16 +128,17 @@
<section class="page-section mb-4 mt-4">
<div id="mod">
</div>
<div id="mod">
</div>
</section>
@section Scripts {
<script>
async function fetchMedicines() {
try {
debugger
let response = await fetch('/api/MedicineAPi/'); // Adjust the endpoint as needed
let response = await fetch('/Medicine/GetMedicines'); // Adjust the endpoint as needed
if (response.ok) {
let medicines = await response.json();
populateTable(medicines, 'medicines-table');
......@@ -153,7 +154,7 @@
try {
debugger
let response = await fetch(`/api/MedicalStateAPI/GetMedicines/?id=${id}`); // Adjust the endpoint as needed
let response = await fetch(`/MedicalState/GetMedicalStateMedicine/?id=${id}`); // Adjust the endpoint as needed
if (response.ok) {
let medicines = await response.json();
populateTable(medicines, 'Ingredients_');
......@@ -209,7 +210,9 @@
async function addMedicine(med) {
let id =@Model.Id
try {
let response = await fetch(`/api/MedicineAPI/AddMedicineT?id=${id}&med=${med}`, {
// showToast('Loading ... ', 'Adding medicine');
let response = await fetch(`/Medicine/AddMedicineT?id=${id}&med=${med}`, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
......@@ -234,7 +237,7 @@
let id =@Model.Id
try {
debugger
let response = await fetch(`/api/MedicineApi/${med}`, {
let response = await fetch(`/Medicine/GetDetails/${med}`, {
method: 'GET',
headers: {
'Content-Type': 'application/json'
......@@ -258,7 +261,9 @@
async function ReomveMedicine(med) {
let id =@Model.Id
try {
let response = await fetch(`/api/MedicineAPI/RemoveMedicineJ?id=${id}&med=${med}`, {
// showToast('Loading ... ', 'Removing medicine');
let response = await fetch(`/Medicine/RemoveMedicineJ?id=${id}&med=${med}`, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
......@@ -274,42 +279,53 @@
showToast('Medicine Reomved successfully', 'Success');
} else {
console.error('Error:', response.statusText);
showToast('Failed to add medicine', 'Error');
showToast('Failed to remove medicine', 'Error');
}
} catch (error) {
console.error('Fetch error:', error);
showToast('Failed to add medicine', 'Error');
showToast('Failed to remove medicine', 'Error');
}
}
async function DeleteConfirm(id ) {
}
function showToast(message, title) {
let toast = document.createElement('div');
toast.className = 'toast';
toast.setAttribute('role', 'alert');
toast.setAttribute('aria-live', 'assertive');
toast.setAttribute('aria-atomic', 'true');
toast.innerHTML = `
<div class="toast-header">
<strong class="mr-auto">${title}</strong>
<small class="text-muted">just now</small>
<button type="button" class="ml-2 mb-1 close" data-dismiss="toast" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="toast-body">
${message}
</div>
`;
// const Modal = new bootstrap.Modal(document.getElementById('item'));
// Modal.close();
// Modal.hide();
// Modal.toggle();
//Modal.dispose();
const modalBody = document.querySelector('#mod');
modalBody.innerHTML = `
<div class="modal fade" id="item" tabindex="-1" aria-labelledby="label-" role="dialog"
aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header border-bottom-0">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">
<i class="fas fa-times"></i>
</span>
</button>
</div>
<div class="modal-body text-start p-3">
<h5 class="modal-title text-uppercase mb-5" id="exampleModalLabel">${title}</h5>
<p class=" mb-5"> ${message}</p>
document.getElementById('toast-container').appendChild(toast);
<hr class="mt-2 mb-4"
style="height: 0; background-color: transparent; opacity: .75; border-top: 2px dashed #9e9e9e;">
<div class="modal-footer d-flex justify-content-center border-top-0 py-4">
<button class="btn btn-info" class="close" data-dismiss="modal" aria-label="Close">Close</button>
</div>
</div>
</div>
</div> `;
// Show the modal
const medicineModal = new bootstrap.Modal(document.getElementById('item'));
medicineModal.show();
$(toast).toast({ delay: 3000 });
$(toast).toast('show');
$(toast).on('hidden.bs.toast', function () {
$(this).remove();
});
}
function showModal(message, result) {
debugger
......
......@@ -5,11 +5,12 @@
}
<section class="page-section">
<h3>Create New <a asp-action="Create" asp-controller="MedicalState">Create</a></h3>
@if (Model.Count() == 0)
{
<h2 class="text-center">You dont have any MedicalState</h2>
<img src="~/img/portfolio/noData.jpg" class="figure-img" />
<h3>Create New <a asp-action="Create" asp-controller="MedicalState">Create</a></h3>
}
else
......@@ -26,7 +27,7 @@
<div class="icon-box">
<div class="icon " style="color: #5e54b3"><i class="fas fa-heartbeat fa-8x "></i></div>
</div>
</div>
<h5>@item.StateName</h5>
<p>Prescriped At : @item.PrescriptionTime</p>
<a asp-action="Edit" asp-route-id="@item.Id">
......
......@@ -14,7 +14,14 @@
<title>DashBoard - @ViewData["Title"]</title>
<link href="https://cdn.jsdelivr.net/npm/simple-datatables@7.1.2/dist/style.min.css" rel="stylesheet" />
<link href="/css/styles.css" rel="stylesheet" />
<link href="/favicon.png" rel="icon">
<link href="/favicon.png" rel="icon">
<!-- Custom fonts for this theme -->
<link href="~/fonts/css/all.min.css" rel="stylesheet" type="text/css">
<link href="https://fonts.googleapis.com/css?family=Montserrat:400,700" rel="stylesheet" type="text/css">
<link href="https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic" rel="stylesheet" type="text/css">
<link href="~/favicon.png" rel="icon" />
<!-- Theme CSS -->
<link href="~/css/freelancer.css" rel="stylesheet">
<script src="https://use.fontawesome.com/releases/v6.3.0/js/all.js" crossorigin="anonymous"></script>
</head>
<body class="sb-nav-fixed">
......@@ -40,11 +47,11 @@
<li>
<a class="dropdown-item"
asp-action="Logout"
asp-controller="Access"
asp-controller="Access"
asp-route-returnUrl="/Home/Index">
Logout
</a>
</li>
</ul>
</li>
......@@ -102,17 +109,17 @@
<a class="nav-link" asp-controller="Medicine" asp-action="Index">ALL Medicines </a>
</nav>
</div>
<!-- Medical State Managment -->
<a class="nav-link collapsed" asp-action="Index" asp-controller="Medicine" data-bs-toggle="collapse" data-bs-target="#MPages" aria-expanded="false" aria-controls="collapsePages">
<div class="sb-nav-link-icon"><i class="fas fa-book-open"></i></div>
Medical States
Medical States
<div class="sb-sidenav-collapse-arrow"><i class="fas fa-angle-down"></i></div>
</a>
<div class="collapse" id="MPages" aria-labelledby="headingOne" data-bs-parent="#sidenavAccordion">
<nav class="sb-sidenav-menu-nested nav">
<a class="nav-link" >Add Medical State </a>
<a class="nav-link" >ALL Medical State </a>
<a class="nav-link">Add Medical State </a>
<a class="nav-link">ALL Medical State </a>
</nav>
</div>
......@@ -121,13 +128,12 @@
</div>
</div>
</div>
</div>
</nav>
</div>
<div id="layoutSidenav_content">
<main>
<div class="container-fluid px-4">
<h1 class="mt-4">Dashboard</h1>
<div class="container-fluid ">
@RenderBody()
......@@ -156,5 +162,13 @@
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.8.0/Chart.min.js" crossorigin="anonymous"></script>
@RenderSection("Scripts", required: false);
<!-- Bootstrap core JavaScript -->
<script src="~/js/jquery.min.js"></script>
<script src="~/js/bootstrap.bundle.min.js"></script>
<!-- Plugin JavaScript -->
<script src="~/js/jquery.easing.min.js"></script>
<!-- Custom scripts for this template -->
</body>
</html>
......@@ -7,6 +7,7 @@
<ItemGroup>
<PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="5.0.1" />
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="5.0.17" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="5.0.17" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="5.0.17">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
......
......@@ -38,6 +38,7 @@
"AutoMapper.Extensions.Microsoft.DependencyInjection": "5.0.1",
"Infrastructure": "1.0.0",
"Microsoft.AspNetCore.Identity.EntityFrameworkCore": "5.0.17",
"Microsoft.AspNetCore.Mvc.NewtonsoftJson": "5.0.17",
"Microsoft.EntityFrameworkCore.Design": "5.0.17",
"Microsoft.EntityFrameworkCore.SqlServer": "5.0.17",
"Microsoft.EntityFrameworkCore.Tools": "5.0.17",
......@@ -409,6 +410,37 @@
"lib/net5.0/Microsoft.AspNetCore.Identity.EntityFrameworkCore.dll": {}
}
},
"Microsoft.AspNetCore.JsonPatch/5.0.17": {
"dependencies": {
"Microsoft.CSharp": "4.7.0",
"Newtonsoft.Json": "12.0.2"
},
"runtime": {
"lib/netstandard2.0/Microsoft.AspNetCore.JsonPatch.dll": {
"assemblyVersion": "5.0.17.0",
"fileVersion": "5.0.1722.21507"
}
},
"compile": {
"lib/netstandard2.0/Microsoft.AspNetCore.JsonPatch.dll": {}
}
},
"Microsoft.AspNetCore.Mvc.NewtonsoftJson/5.0.17": {
"dependencies": {
"Microsoft.AspNetCore.JsonPatch": "5.0.17",
"Newtonsoft.Json": "12.0.2",
"Newtonsoft.Json.Bson": "1.0.2"
},
"runtime": {
"lib/net5.0/Microsoft.AspNetCore.Mvc.NewtonsoftJson.dll": {
"assemblyVersion": "5.0.17.0",
"fileVersion": "5.0.1722.21507"
}
},
"compile": {
"lib/net5.0/Microsoft.AspNetCore.Mvc.NewtonsoftJson.dll": {}
}
},
"Microsoft.AspNetCore.Razor/2.2.0": {
"dependencies": {
"Microsoft.AspNetCore.Html.Abstractions": "2.2.0"
......@@ -957,7 +989,7 @@
"Microsoft.IdentityModel.JsonWebTokens/5.6.0": {
"dependencies": {
"Microsoft.IdentityModel.Tokens": "5.6.0",
"Newtonsoft.Json": "11.0.2"
"Newtonsoft.Json": "12.0.2"
},
"runtime": {
"lib/netstandard2.0/Microsoft.IdentityModel.JsonWebTokens.dll": {
......@@ -998,7 +1030,7 @@
"Microsoft.IdentityModel.Protocols.OpenIdConnect/5.6.0": {
"dependencies": {
"Microsoft.IdentityModel.Protocols": "5.6.0",
"Newtonsoft.Json": "11.0.2",
"Newtonsoft.Json": "12.0.2",
"System.IdentityModel.Tokens.Jwt": "5.6.0"
},
"runtime": {
......@@ -1014,7 +1046,7 @@
"Microsoft.IdentityModel.Tokens/5.6.0": {
"dependencies": {
"Microsoft.IdentityModel.Logging": "5.6.0",
"Newtonsoft.Json": "11.0.2",
"Newtonsoft.Json": "12.0.2",
"System.Security.Cryptography.Cng": "4.5.0"
},
"runtime": {
......@@ -1046,7 +1078,7 @@
},
"Microsoft.VisualStudio.Web.CodeGeneration.Contracts/5.0.2": {
"dependencies": {
"Newtonsoft.Json": "11.0.2",
"Newtonsoft.Json": "12.0.2",
"System.Collections.Immutable": "5.0.0"
},
"runtime": {
......@@ -1063,7 +1095,7 @@
"dependencies": {
"Microsoft.Extensions.DependencyInjection": "5.0.2",
"Microsoft.VisualStudio.Web.CodeGeneration.Templating": "5.0.2",
"Newtonsoft.Json": "11.0.2"
"Newtonsoft.Json": "12.0.2"
},
"runtime": {
"lib/net5.0/Microsoft.VisualStudio.Web.CodeGeneration.Core.dll": {
......@@ -1137,7 +1169,7 @@
"dependencies": {
"Microsoft.CodeAnalysis.CSharp.Workspaces": "3.8.0",
"Microsoft.VisualStudio.Web.CodeGeneration.Contracts": "5.0.2",
"Newtonsoft.Json": "11.0.2"
"Newtonsoft.Json": "12.0.2"
},
"runtime": {
"lib/net5.0/Microsoft.VisualStudio.Web.CodeGeneration.Utils.dll": {
......@@ -1174,17 +1206,31 @@
"Microsoft.NETCore.Platforms": "3.1.0"
}
},
"Newtonsoft.Json/11.0.2": {
"Newtonsoft.Json/12.0.2": {
"runtime": {
"lib/netstandard2.0/Newtonsoft.Json.dll": {
"assemblyVersion": "11.0.0.0",
"fileVersion": "11.0.2.21924"
"assemblyVersion": "12.0.0.0",
"fileVersion": "12.0.2.23222"
}
},
"compile": {
"lib/netstandard2.0/Newtonsoft.Json.dll": {}
}
},
"Newtonsoft.Json.Bson/1.0.2": {
"dependencies": {
"Newtonsoft.Json": "12.0.2"
},
"runtime": {
"lib/netstandard2.0/Newtonsoft.Json.Bson.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.2.22727"
}
},
"compile": {
"lib/netstandard2.0/Newtonsoft.Json.Bson.dll": {}
}
},
"runtime.native.System/4.3.0": {
"dependencies": {
"Microsoft.NETCore.Platforms": "3.1.0",
......@@ -1460,7 +1506,7 @@
"dependencies": {
"Microsoft.IdentityModel.JsonWebTokens": "5.6.0",
"Microsoft.IdentityModel.Tokens": "5.6.0",
"Newtonsoft.Json": "11.0.2"
"Newtonsoft.Json": "12.0.2"
},
"runtime": {
"lib/netstandard2.0/System.IdentityModel.Tokens.Jwt.dll": {
......@@ -3663,6 +3709,20 @@
"path": "microsoft.aspnetcore.identity.entityframeworkcore/5.0.17",
"hashPath": "microsoft.aspnetcore.identity.entityframeworkcore.5.0.17.nupkg.sha512"
},
"Microsoft.AspNetCore.JsonPatch/5.0.17": {
"type": "package",
"serviceable": true,
"sha512": "sha512-7frxJ2Jda4O1cMEP8fJmXApo1+SH1Uh338lcBzOuBOVZ9vpidfEjvUUVDq6sqxqIYqv2d80iQO+4CZBuClS52g==",
"path": "microsoft.aspnetcore.jsonpatch/5.0.17",
"hashPath": "microsoft.aspnetcore.jsonpatch.5.0.17.nupkg.sha512"
},
"Microsoft.AspNetCore.Mvc.NewtonsoftJson/5.0.17": {
"type": "package",
"serviceable": true,
"sha512": "sha512-E6Y7BD5pnoP/H4j4tBE7Hyi06+X7YfXKQnq2okwQfo8l4dfKL+EIxZ2ToaQ+XnXXqwwxZ7ggbyp17fJeb5uxJg==",
"path": "microsoft.aspnetcore.mvc.newtonsoftjson/5.0.17",
"hashPath": "microsoft.aspnetcore.mvc.newtonsoftjson.5.0.17.nupkg.sha512"
},
"Microsoft.AspNetCore.Razor/2.2.0": {
"type": "package",
"serviceable": true,
......@@ -4006,12 +4066,19 @@
"path": "microsoft.win32.systemevents/4.7.0",
"hashPath": "microsoft.win32.systemevents.4.7.0.nupkg.sha512"
},
"Newtonsoft.Json/11.0.2": {
"Newtonsoft.Json/12.0.2": {
"type": "package",
"serviceable": true,
"sha512": "sha512-rTK0s2EKlfHsQsH6Yx2smvcTCeyoDNgCW7FEYyV01drPlh2T243PR2DiDXqtC5N4GDm4Ma/lkxfW5a/4793vbA==",
"path": "newtonsoft.json/12.0.2",
"hashPath": "newtonsoft.json.12.0.2.nupkg.sha512"
},
"Newtonsoft.Json.Bson/1.0.2": {
"type": "package",
"serviceable": true,
"sha512": "sha512-IvJe1pj7JHEsP8B8J8DwlMEx8UInrs/x+9oVY+oCD13jpLu4JbJU2WCIsMRn5C4yW9+DgkaO8uiVE5VHKjpmdQ==",
"path": "newtonsoft.json/11.0.2",
"hashPath": "newtonsoft.json.11.0.2.nupkg.sha512"
"sha512": "sha512-QYFyxhaABwmq3p/21VrZNYvCg3DaEoN/wUuw5nmfAf0X3HLjgupwhkEWdgfb9nvGAUIv3osmZoD3kKl4jxEmYQ==",
"path": "newtonsoft.json.bson/1.0.2",
"hashPath": "newtonsoft.json.bson.1.0.2.nupkg.sha512"
},
"runtime.native.System/4.3.0": {
"type": "package",
......
6f6b078f186efa32e84839ad9751da47f47ac151
54259885842f9a679afa2d3e67d7e5f82a2afd4c
......@@ -181,3 +181,6 @@ C:\Users\HASAN\Desktop\Medic\WebPresentation\obj\Debug\net5.0\WebPresentation.dl
C:\Users\HASAN\Desktop\Medic\WebPresentation\obj\Debug\net5.0\ref\WebPresentation.dll
C:\Users\HASAN\Desktop\Medic\WebPresentation\obj\Debug\net5.0\WebPresentation.pdb
C:\Users\HASAN\Desktop\Medic\WebPresentation\obj\Debug\net5.0\WebPresentation.genruntimeconfig.cache
C:\Users\HASAN\Desktop\Medic\WebPresentation\bin\Debug\net5.0\Microsoft.AspNetCore.JsonPatch.dll
C:\Users\HASAN\Desktop\Medic\WebPresentation\bin\Debug\net5.0\Microsoft.AspNetCore.Mvc.NewtonsoftJson.dll
C:\Users\HASAN\Desktop\Medic\WebPresentation\bin\Debug\net5.0\Newtonsoft.Json.Bson.dll
......@@ -302,6 +302,10 @@
"target": "Package",
"version": "[5.0.17, )"
},
"Microsoft.AspNetCore.Mvc.NewtonsoftJson": {
"target": "Package",
"version": "[5.0.17, )"
},
"Microsoft.EntityFrameworkCore.Design": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
......
......@@ -82,6 +82,36 @@
"lib/net5.0/Microsoft.AspNetCore.Identity.EntityFrameworkCore.dll": {}
}
},
"Microsoft.AspNetCore.JsonPatch/5.0.17": {
"type": "package",
"dependencies": {
"Microsoft.CSharp": "4.7.0",
"Newtonsoft.Json": "12.0.2"
},
"compile": {
"lib/netstandard2.0/Microsoft.AspNetCore.JsonPatch.dll": {}
},
"runtime": {
"lib/netstandard2.0/Microsoft.AspNetCore.JsonPatch.dll": {}
}
},
"Microsoft.AspNetCore.Mvc.NewtonsoftJson/5.0.17": {
"type": "package",
"dependencies": {
"Microsoft.AspNetCore.JsonPatch": "5.0.17",
"Newtonsoft.Json": "12.0.2",
"Newtonsoft.Json.Bson": "1.0.2"
},
"compile": {
"lib/net5.0/Microsoft.AspNetCore.Mvc.NewtonsoftJson.dll": {}
},
"runtime": {
"lib/net5.0/Microsoft.AspNetCore.Mvc.NewtonsoftJson.dll": {}
},
"frameworkReferences": [
"Microsoft.AspNetCore.App"
]
},
"Microsoft.AspNetCore.Razor/2.2.0": {
"type": "package",
"dependencies": {
......@@ -930,7 +960,7 @@
}
}
},
"Newtonsoft.Json/11.0.2": {
"Newtonsoft.Json/12.0.2": {
"type": "package",
"compile": {
"lib/netstandard2.0/Newtonsoft.Json.dll": {}
......@@ -939,6 +969,18 @@
"lib/netstandard2.0/Newtonsoft.Json.dll": {}
}
},
"Newtonsoft.Json.Bson/1.0.2": {
"type": "package",
"dependencies": {
"Newtonsoft.Json": "12.0.1"
},
"compile": {
"lib/netstandard2.0/Newtonsoft.Json.Bson.dll": {}
},
"runtime": {
"lib/netstandard2.0/Newtonsoft.Json.Bson.dll": {}
}
},
"runtime.native.System/4.3.0": {
"type": "package",
"dependencies": {
......@@ -2276,6 +2318,38 @@
"microsoft.aspnetcore.identity.entityframeworkcore.nuspec"
]
},
"Microsoft.AspNetCore.JsonPatch/5.0.17": {
"sha512": "7frxJ2Jda4O1cMEP8fJmXApo1+SH1Uh338lcBzOuBOVZ9vpidfEjvUUVDq6sqxqIYqv2d80iQO+4CZBuClS52g==",
"type": "package",
"path": "microsoft.aspnetcore.jsonpatch/5.0.17",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"THIRD-PARTY-NOTICES.TXT",
"lib/net461/Microsoft.AspNetCore.JsonPatch.dll",
"lib/net461/Microsoft.AspNetCore.JsonPatch.xml",
"lib/netstandard2.0/Microsoft.AspNetCore.JsonPatch.dll",
"lib/netstandard2.0/Microsoft.AspNetCore.JsonPatch.xml",
"microsoft.aspnetcore.jsonpatch.5.0.17.nupkg.sha512",
"microsoft.aspnetcore.jsonpatch.nuspec"
]
},
"Microsoft.AspNetCore.Mvc.NewtonsoftJson/5.0.17": {
"sha512": "E6Y7BD5pnoP/H4j4tBE7Hyi06+X7YfXKQnq2okwQfo8l4dfKL+EIxZ2ToaQ+XnXXqwwxZ7ggbyp17fJeb5uxJg==",
"type": "package",
"path": "microsoft.aspnetcore.mvc.newtonsoftjson/5.0.17",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"THIRD-PARTY-NOTICES.TXT",
"lib/net5.0/Microsoft.AspNetCore.Mvc.NewtonsoftJson.dll",
"lib/net5.0/Microsoft.AspNetCore.Mvc.NewtonsoftJson.xml",
"microsoft.aspnetcore.mvc.newtonsoftjson.5.0.17.nupkg.sha512",
"microsoft.aspnetcore.mvc.newtonsoftjson.nuspec"
]
},
"Microsoft.AspNetCore.Razor/2.2.0": {
"sha512": "V54PIyDCFl8COnTp9gezNHpUNHk7F9UnerGeZy3UfbnwYvfzbo+ipqQmSgeoESH8e0JvKhRTyQyZquW2EPtCmg==",
"type": "package",
......@@ -3784,10 +3858,10 @@
"version.txt"
]
},
"Newtonsoft.Json/11.0.2": {
"sha512": "IvJe1pj7JHEsP8B8J8DwlMEx8UInrs/x+9oVY+oCD13jpLu4JbJU2WCIsMRn5C4yW9+DgkaO8uiVE5VHKjpmdQ==",
"Newtonsoft.Json/12.0.2": {
"sha512": "rTK0s2EKlfHsQsH6Yx2smvcTCeyoDNgCW7FEYyV01drPlh2T243PR2DiDXqtC5N4GDm4Ma/lkxfW5a/4793vbA==",
"type": "package",
"path": "newtonsoft.json/11.0.2",
"path": "newtonsoft.json/12.0.2",
"files": [
".nupkg.metadata",
".signature.p7s",
......@@ -3810,10 +3884,31 @@
"lib/portable-net40+sl5+win8+wp8+wpa81/Newtonsoft.Json.xml",
"lib/portable-net45+win8+wp8+wpa81/Newtonsoft.Json.dll",
"lib/portable-net45+win8+wp8+wpa81/Newtonsoft.Json.xml",
"newtonsoft.json.11.0.2.nupkg.sha512",
"newtonsoft.json.12.0.2.nupkg.sha512",
"newtonsoft.json.nuspec"
]
},
"Newtonsoft.Json.Bson/1.0.2": {
"sha512": "QYFyxhaABwmq3p/21VrZNYvCg3DaEoN/wUuw5nmfAf0X3HLjgupwhkEWdgfb9nvGAUIv3osmZoD3kKl4jxEmYQ==",
"type": "package",
"path": "newtonsoft.json.bson/1.0.2",
"files": [
".nupkg.metadata",
".signature.p7s",
"LICENSE.md",
"lib/net45/Newtonsoft.Json.Bson.dll",
"lib/net45/Newtonsoft.Json.Bson.pdb",
"lib/net45/Newtonsoft.Json.Bson.xml",
"lib/netstandard1.3/Newtonsoft.Json.Bson.dll",
"lib/netstandard1.3/Newtonsoft.Json.Bson.pdb",
"lib/netstandard1.3/Newtonsoft.Json.Bson.xml",
"lib/netstandard2.0/Newtonsoft.Json.Bson.dll",
"lib/netstandard2.0/Newtonsoft.Json.Bson.pdb",
"lib/netstandard2.0/Newtonsoft.Json.Bson.xml",
"newtonsoft.json.bson.1.0.2.nupkg.sha512",
"newtonsoft.json.bson.nuspec"
]
},
"runtime.native.System/4.3.0": {
"sha512": "c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==",
"type": "package",
......@@ -7477,6 +7572,7 @@
"AutoMapper.Extensions.Microsoft.DependencyInjection >= 5.0.1",
"Infrastructure >= 1.0.0",
"Microsoft.AspNetCore.Identity.EntityFrameworkCore >= 5.0.17",
"Microsoft.AspNetCore.Mvc.NewtonsoftJson >= 5.0.17",
"Microsoft.EntityFrameworkCore.Design >= 5.0.17",
"Microsoft.EntityFrameworkCore.SqlServer >= 5.0.17",
"Microsoft.EntityFrameworkCore.Tools >= 5.0.17",
......@@ -7540,6 +7636,10 @@
"target": "Package",
"version": "[5.0.17, )"
},
"Microsoft.AspNetCore.Mvc.NewtonsoftJson": {
"target": "Package",
"version": "[5.0.17, )"
},
"Microsoft.EntityFrameworkCore.Design": {
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
"suppressParent": "All",
......
{
"version": 2,
"dgSpecHash": "XxdrnD4oAsCfv/ZAaUaCd8iI9u+rg8uQmAc28Isd2c+p0jXRpymxnlL0dkdHSg1EW0zA2ZYCXrtb3ZrSei2RUg==",
"dgSpecHash": "aE4Ew/iUWdocDBn0xTuc9FBCMrp4DcFmFOQ4/3nqi2ERl4yCO6t34MzVyYa28vRRUpjD1b6jq3b9ZjyXzCICVw==",
"success": true,
"projectFilePath": "C:\\Users\\HASAN\\Desktop\\Medic\\WebPresentation\\WebPresentation.csproj",
"expectedPackageFiles": [
......@@ -11,6 +11,8 @@
"C:\\Users\\HASAN\\.nuget\\packages\\microsoft.aspnetcore.cryptography.keyderivation\\5.0.17\\microsoft.aspnetcore.cryptography.keyderivation.5.0.17.nupkg.sha512",
"C:\\Users\\HASAN\\.nuget\\packages\\microsoft.aspnetcore.html.abstractions\\2.2.0\\microsoft.aspnetcore.html.abstractions.2.2.0.nupkg.sha512",
"C:\\Users\\HASAN\\.nuget\\packages\\microsoft.aspnetcore.identity.entityframeworkcore\\5.0.17\\microsoft.aspnetcore.identity.entityframeworkcore.5.0.17.nupkg.sha512",
"C:\\Users\\HASAN\\.nuget\\packages\\microsoft.aspnetcore.jsonpatch\\5.0.17\\microsoft.aspnetcore.jsonpatch.5.0.17.nupkg.sha512",
"C:\\Users\\HASAN\\.nuget\\packages\\microsoft.aspnetcore.mvc.newtonsoftjson\\5.0.17\\microsoft.aspnetcore.mvc.newtonsoftjson.5.0.17.nupkg.sha512",
"C:\\Users\\HASAN\\.nuget\\packages\\microsoft.aspnetcore.razor\\2.2.0\\microsoft.aspnetcore.razor.2.2.0.nupkg.sha512",
"C:\\Users\\HASAN\\.nuget\\packages\\microsoft.aspnetcore.razor.language\\5.0.0\\microsoft.aspnetcore.razor.language.5.0.0.nupkg.sha512",
"C:\\Users\\HASAN\\.nuget\\packages\\microsoft.aspnetcore.razor.runtime\\2.2.0\\microsoft.aspnetcore.razor.runtime.2.2.0.nupkg.sha512",
......@@ -60,7 +62,8 @@
"C:\\Users\\HASAN\\.nuget\\packages\\microsoft.visualstudio.web.codegenerators.mvc\\5.0.2\\microsoft.visualstudio.web.codegenerators.mvc.5.0.2.nupkg.sha512",
"C:\\Users\\HASAN\\.nuget\\packages\\microsoft.win32.registry\\4.7.0\\microsoft.win32.registry.4.7.0.nupkg.sha512",
"C:\\Users\\HASAN\\.nuget\\packages\\microsoft.win32.systemevents\\4.7.0\\microsoft.win32.systemevents.4.7.0.nupkg.sha512",
"C:\\Users\\HASAN\\.nuget\\packages\\newtonsoft.json\\11.0.2\\newtonsoft.json.11.0.2.nupkg.sha512",
"C:\\Users\\HASAN\\.nuget\\packages\\newtonsoft.json\\12.0.2\\newtonsoft.json.12.0.2.nupkg.sha512",
"C:\\Users\\HASAN\\.nuget\\packages\\newtonsoft.json.bson\\1.0.2\\newtonsoft.json.bson.1.0.2.nupkg.sha512",
"C:\\Users\\HASAN\\.nuget\\packages\\runtime.native.system\\4.3.0\\runtime.native.system.4.3.0.nupkg.sha512",
"C:\\Users\\HASAN\\.nuget\\packages\\system.collections\\4.3.0\\system.collections.4.3.0.nupkg.sha512",
"C:\\Users\\HASAN\\.nuget\\packages\\system.collections.concurrent\\4.3.0\\system.collections.concurrent.4.3.0.nupkg.sha512",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment