Commit 61b786d6 authored by hasan khaddour's avatar hasan khaddour

update identity

parent 5f496869
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ApplicationCore.Interfaces
{
public interface IService<T> where T : class
{
public IEnumerable<T> GetAll(int Id);
public void Add(int Id, T entity);
public T Update(T entity);
public T GetDetails(int Id);
public void Delete(int Id);
}
}
using ApplicationCore.Entities;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ApplicationCore.Interfaces.IServices
{
public interface IMedicalStateService
{
public IEnumerable<MedicalState> GetAll(int patientId);
public void Add(int patientId , MedicalState medicalState);
public void AddMedicine(int medicalStateId, int medicineId);
public MedicalState Update(MedicalState medicalState);
public MedicalState GetDetails(int medicalStateId);
public void Delete(int id);
}
}
using ApplicationCore.Entities;
using ApplicationCore.Interfaces;
using ApplicationCore.Interfaces.IServices;
using ApplicationCore.Specification;
using System;
using System.Collections.Generic;
......@@ -7,9 +8,9 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ApplicationCore.Services.IngredientService
namespace ApplicationCore.Services
{
public class IngredientService
public class IngredientService :IIngredientService
{
private readonly IUnitOfWork<Ingredient> _ingredientUnitOfWork;
private IngredientSpecification _IngredientSpecification;
......
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ApplicationCore.Entities;
using ApplicationCore.Interfaces;
using ApplicationCore.Interfaces.IServices;
using ApplicationCore.Specification;
namespace ApplicationCore.Services
{
public class MedicalStateService : IMedicalStateService
{
private readonly IUnitOfWork<MedicalState> _medicalStateUnitOfWork;
private readonly PatientService _patientService;
private readonly IUnitOfWork<Medicine> _medicineUnitOfWork;
private readonly MedicalStateSpecification _medicalStateSpecification;
private readonly MedicineIngredientSpecification _medicineSpecification;
public MedicalStateService(
IUnitOfWork<MedicalState> medicalUnitOfWork,
IUnitOfWork<Medicine> medicineUnitOfWork,
IUnitOfWork<Patient> patientUnitOfWork
)
{
_medicalStateUnitOfWork = medicalUnitOfWork;
_medicalStateSpecification = new MedicalStateSpecification();
_medicineUnitOfWork = medicineUnitOfWork;
_patientService = new PatientService(patientUnitOfWork,medicalUnitOfWork);
}
public void Add(int patientId , MedicalState medicalState)
{
_patientService.AddMedicalState(patientId, medicalState);
}
public void AddMedicine(int medicalStateId, int medicineId)
{
var m = _medicalStateUnitOfWork.Entity.GetById(medicalStateId, _medicalStateSpecification);
if (m.Medicines is null)
m.Medicines = new List<Medicine>();
var d =_medicineUnitOfWork.Entity.GetById(medicineId,_medicineSpecification );
m.Medicines.Add(d );
_medicalStateUnitOfWork.Entity.Update(m);
_medicalStateUnitOfWork.Save();
}
public void Delete(int id)
{
_medicalStateUnitOfWork.Entity.Delete(id);
_medicalStateUnitOfWork.Save();
}
public IEnumerable<MedicalState> GetAll(int patientId)
{
return _patientService.GetPatientMedicalStates(patientId);
}
public MedicalState GetDetails(int medicalStateId)
{
return _patientService.GetMedicalStateDetails(medicalStateId);
}
public MedicalState Update(MedicalState medicalState)
{
var r = _medicalStateUnitOfWork.Entity.Update(medicalState);
_medicalStateUnitOfWork.Save();
return r;
}
}
}
using ApplicationCore.Entities;
using ApplicationCore.Interfaces;
using ApplicationCore.Interfaces.IServices;
using ApplicationCore.Specification;
using System;
using System.Collections.Generic;
......@@ -7,9 +8,9 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ApplicationCore.Services.MedicineService
namespace ApplicationCore.Services
{
public class MedicineService
public class MedicineService : IMedicineService
{
private readonly IUnitOfWork<Medicine> _medicineUnitOfWork;
private MedicineIngredientSpecification _medicineIngredientSpecification;
......
......@@ -9,7 +9,7 @@ using System.Linq.Expressions;
using System.Text;
using System.Threading.Tasks;
namespace ApplicationCore.Services.PatientService
namespace ApplicationCore.Services
{
public class PatientService : IPatientService
{
......
......@@ -17,12 +17,14 @@ namespace ApplicationCore.Specification
AddInclude(p => p.MedicalStateMedicines);
AddInclude(p => p.Medicines);
AddInclude(p => p.Patient);
AddThenInclude("MedicalStateMedicines.Medicine");
AddThenInclude("Medicines.Category");
AddThenInclude("Medicines.MedicineType");
}
}
{
}
}
......@@ -187,10 +187,6 @@ namespace Infrastructure.Data
new Ingredient { Id = 1, Name = "Amoxicillin" },
new Ingredient { Id = 2, Name = "Paracetamol" }
);
modelBuilder.Entity<MedicineIngredient>().HasData(
new MedicineIngredient { MedicineId = 1, IngredientId = 1 },
new MedicineIngredient { MedicineId = 2, IngredientId = 2 }
);
#endregion Ingredients
#region Medicines
var med = new Medicine
......@@ -198,19 +194,32 @@ namespace Infrastructure.Data
Id=1,
ScintificName = "Augmentine",
TradeName="Augmentine",
Description="antibitic mdicine",
ManufactureName="Ibin Sina",
SideEffect="No. ",
Category=c1 ,
//Category=c1 ,
Image="med1.png",
Dosage = 12,
Price = 2500,
};
// modelBuilder.Entity<MedicineIngredient>().HasData(
// new MedicineIngredient { Id = 1, MedicineId = 1, IngredientId = 1 },
// new MedicineIngredient { Id = 2, MedicineId = 2, IngredientId = 2 }
//);
modelBuilder.Entity<Medicine>().HasData(med);
#endregion Medicines
#region MedicalState
var st = new MedicalState
{
Id=1,
PatientId=1,
PrescriptionTime=DateTime.Now,
};
modelBuilder.Entity<MedicalState>().HasData(st);
#endregion MedicalState
}
}
......
......@@ -21,8 +21,4 @@
<ProjectReference Include="..\ApplicationCore\ApplicationCore.csproj" />
</ItemGroup>
<ItemGroup>
<Folder Include="Migrations\" />
</ItemGroup>
</Project>
86b4a36b27ca89275e50461b3805a94292ff7dbf
020f61ac4adb293b78c3951cdcf4c084d772bcb0
using ApplicationCore.Entities;
using ApplicationCore.Interfaces;
using ApplicationCore.Specification.BaseSpecification;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Mvc;
......@@ -13,6 +15,7 @@ namespace WebPresentation.Controllers
public abstract class BaseController : Controller
{
private readonly UserManager<User> _userManager;
private readonly IUnitOfWork<Patient> _patientUnitOfWork;
public BaseController(UserManager<User> userManager) {
_userManager = userManager;
......@@ -29,6 +32,7 @@ namespace WebPresentation.Controllers
public String GetUserName() {
return GetCurrentUser().UserName;
}
public String GetUserId() {
return GetCurrentUser().Id;
......
using ApplicationCore.Entities;
using ApplicationCore.Interfaces;
using ApplicationCore.Services.MedicineService;
using ApplicationCore.Services.PatientService;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Mvc;
......@@ -12,6 +9,7 @@ using System.Diagnostics;
using System.Linq;
using System.Threading.Tasks;
using WebPresentation.Models;
using ApplicationCore.Interfaces.IServices;
namespace WebPresentation.Controllers
{
......@@ -19,21 +17,20 @@ namespace WebPresentation.Controllers
[Authorize(Roles ="patient")]
public class HomeController : BaseController
{
private readonly PatientService _patientService;
private readonly MedicineService _medicineService;
private readonly IPatientService _patientService;
private readonly IMedicineService _medicineService;
private readonly UserManager<User> _userManager;
public HomeController(
UserManager<User> userManager,
IUnitOfWork<Patient> patientUnitOfWork,
IUnitOfWork<Medicine> medicineUnitOfWork,
IUnitOfWork<MedicalState> medicalStateUnitOfWork
IPatientService patientService,
IMedicineService medicineService
):base(userManager)
{
_userManager = userManager;
_medicineService = new MedicineService(medicineUnitOfWork);
_patientService = new PatientService(patientUnitOfWork,medicalStateUnitOfWork);
_medicineService = medicineService;
_patientService = patientService;
}
......@@ -53,31 +50,8 @@ namespace WebPresentation.Controllers
return View(ownesr);
}
public IActionResult MedicalStateDetails(int id ) {
var s = _patientService.GetMedicalStateDetails(
id);
if (s is null) {
return NotFound();
}
else
return View(s);
}
public IActionResult Privacy()
{
return View();
}
public IActionResult AddMedicalState(int id) {
var userId = _userManager.GetUserId(User);
var patient = _patientService.GetAll()
.Where(u => u.User.Id ==userId ).FirstOrDefault();
var m =_patientService.GetMedicalStateDetails(id);
_patientService.AddMedicalState(patient.Id, m);
return RedirectToAction("Index","Home");
}
public IActionResult MedicinesGalary() {
return View(_medicineService.GetAllMedicines());
......
using ApplicationCore.Entities;
using ApplicationCore.Interfaces;
using ApplicationCore.Services.IngredientService;
using ApplicationCore.Services.MedicineService;
using ApplicationCore.Services.PatientService;
using ApplicationCore.Interfaces.IServices;
using ApplicationCore.Services;
using ApplicationCore.Services;
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
......@@ -15,16 +15,18 @@ namespace WebPresentation.Controllers
{
public class IngredientController : BaseController
{
private readonly IngredientService _ingredientService;
private readonly MedicineService _medicineService;
private readonly IIngredientService _ingredientService;
private readonly IMedicineService _medicineService;
public IngredientController(UserManager<User> userManager,
IUnitOfWork<Medicine> medicineUnitOfWork,
IUnitOfWork<Ingredient> ingredientUnitOfWork) : base(userManager)
IMedicineService medicineService ,
IIngredientService ingredientSercie
) : base(userManager)
{
_ingredientService = new IngredientService(ingredientUnitOfWork);
_medicineService = new MedicineService(medicineUnitOfWork);
_ingredientService =ingredientSercie;
_medicineService = medicineService;
}
......
using ApplicationCore.Entities;
using ApplicationCore.Interfaces;
using ApplicationCore.Interfaces.IServices;
using ApplicationCore.Services;
using ApplicationCore.Services;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace WebPresentation.Controllers
{
[Authorize]
public class MedicalStateController : BaseController
{
private readonly IMedicalStateService _medicalStateService;
private readonly IMedicineService _medicineService;
private readonly IPatientService _patientService;
public MedicalStateController(UserManager<User> userManager,
IMedicalStateService medicalStateService ,
IPatientService patientService ,
IMedicineService medicineService
) : base(userManager)
{
_medicalStateService = medicalStateService;
_medicineService = medicineService;
_patientService =patientService;
}
public IActionResult Index(int? id )
{
var u = GetUserId();
var pId = _patientService.GetAll().Where(p => p.User.Id == u).FirstOrDefault().Id;
var meds = _medicalStateService.GetAll(pId);
return View(meds);
}
public IActionResult Details(int? id)
{
if (id == null)
{
return NotFound();
}
var medicine = _medicalStateService.GetDetails((int)id);
if (medicine == null)
{
return NotFound();
}
return View(medicine);
}
// GET: Projects/Create
public IActionResult Create()
{
return View();
}
// POST: Projects/Create
// To protect from overposting attacks, enable the specific properties you want to bind to.
// For more details, see http://go.microsoft.com/fwlink/?LinkId=317598.
[HttpPost]
[ValidateAntiForgeryToken]
public IActionResult Create(MedicalState medicalState, int id)
{
if (ModelState.IsValid)
{
var uId = GetUserId();
var p = _patientService.GetAll(
)
.Where(
u => u.User.Id == uId
)
.FirstOrDefault().Id;
if (medicalState.PrescriptionTime == DateTime.MinValue )
medicalState.PrescriptionTime = DateTime.Now;
_medicalStateService.Add(p,medicalState);
return RedirectToAction(nameof(Index));
}
return View(medicalState);
}
// GET: Projects/Edit/5
public IActionResult Edit(int? id)
{
if (id == null)
{
return NotFound();
}
var medicine = _medicalStateService.GetDetails((int)id);
if (medicine == null)
{
return NotFound();
}
return View(medicine);
}
// POST: Projects/Edit/5
// To protect from overposting attacks, enable the specific properties you want to bind to.
// For more details, see http://go.microsoft.com/fwlink/?LinkId=317598.
[HttpPost]
[ValidateAntiForgeryToken]
public IActionResult Edit(int id, MedicalState medicalState)
{
if (id != medicalState.Id)
{
return NotFound();
}
if (ModelState.IsValid)
{
try
{
var uId = GetUserId();
var p = _patientService.GetAll(
)
.Where(
u => u.User.Id == uId
)
.FirstOrDefault();
medicalState.Patient = p;
medicalState.PatientId = p.Id;
_medicalStateService.Update(medicalState);
}
catch (DbUpdateConcurrencyException)
{/*
if (!_medicineService.projectExists(project.Id))
{
return NotFound();
}
else
{
throw;
}
*/
}
return RedirectToAction(nameof(Index));
}
return View(medicalState);
}
// GET: Projects/Delete/5
public IActionResult Delete(int id)
{
var project = _medicalStateService.GetDetails(id);
if (project == null)
{
return NotFound();
}
return View(project);
}
public IActionResult AddMedicine(int id)
{
var s = _medicineService.GetAllMedicines();
ViewBag.MedicalStateId = id;
return View(s);
}
[HttpPost]
public IActionResult AddMedicine(int id, int med)
{
_medicalStateService.AddMedicine(id ,med);
return RedirectToAction("Details", "MedicalState", new { Id = id });
}
// POST: Projects/Delete/5
[HttpPost, ActionName("Delete")]
[ValidateAntiForgeryToken]
public IActionResult DeleteConfirmed(int id)
{
_medicineService.Delete(id);
return RedirectToAction(nameof(Index));
}
}
}
using ApplicationCore.Entities;
using ApplicationCore.Interfaces;
using ApplicationCore.Services.IngredientService;
using ApplicationCore.Services.MedicineService;
using ApplicationCore.Services.PatientService;
using ApplicationCore.Interfaces.IServices;
using ApplicationCore.Services;
using ApplicationCore.ViewModel;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Identity;
......@@ -19,19 +19,20 @@ namespace WebPresentation.Controllers
[Authorize(Roles ="Admin")]
public class MedicineController : BaseController
{
private readonly IngredientService _ingredientService;
private readonly MedicineService _medicineService;
private readonly PatientService _patientService;
private readonly IIngredientService _ingredientService;
private readonly IMedicineService _medicineService;
private readonly IPatientService _patientService;
public MedicineController(UserManager<User> userManager,
IUnitOfWork<Patient> patientUnitOfWork,
IUnitOfWork<Medicine> medicineUnitOfWork,
IUnitOfWork<MedicalState> medicalStateUnitOfWork,
IUnitOfWork<Ingredient>ingredientUnitOfWork):base(userManager)
IMedicineService medicineService ,
IIngredientService ingredientService ,
IPatientService patientService
):base(userManager)
{
_ingredientService =new IngredientService( ingredientUnitOfWork);
_medicineService = new MedicineService( medicineUnitOfWork);
_patientService = new PatientService(patientUnitOfWork,medicalStateUnitOfWork);
_ingredientService =ingredientService;
_medicineService = medicineService;
_patientService =patientService;
}
......
using ApplicationCore.Entities;
using ApplicationCore.Interfaces;
using ApplicationCore.Interfaces.IServices;
using ApplicationCore.Services;
using Infrastructure.Data;
using Infrastructure.Repository;
using Infrastructure.UnitOfWork;
......@@ -35,10 +37,19 @@ namespace WebPresentation
services.AddScoped(typeof(IUnitOfWork<>),typeof(UnitOfWork<>));
services.AddScoped(typeof(IGenericRepository<>), typeof(GenericRepository<>));
services.AddScoped<IPatientService, PatientService>();
services.AddScoped<IMedicalStateService, MedicalStateService>();
services.AddScoped<IMedicineService, MedicineService>();
services.AddDbContext<MedicDbContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
services.AddScoped<IIngredientService, IngredientService>();
services.AddDbContext<MedicDbContext>(options => {
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"))
;
}
); ;
services.AddSession();
......
......@@ -11,11 +11,11 @@
@{
var userName = UserManager.GetUserName(User);
ViewData["title"] = "Home - " + userName;
ViewData["userName"] = Model.User.FirstName + " " + Model.User.LastName;
ViewBag.Avatar = Model.User.Avatar;
ViewBag.owner = Model;
var i = 1;
}
......@@ -44,25 +44,47 @@
</div>
</header>
<!-- Portfolio Section -->
<section class="page-section portfolio" id="portfolio">
<div class="container-fluid">
<section id="services" class=" services ">
<div class="container">
<!-- Portfolio Section Heading -->
<h2 class=" page-section-heading text-center text-uppercase text-secondary mb-0">Patient Medicine</h2>
<!-- Icon Divider -->
<div class="section-title">
<h2>Your medical State </h2>
<p>Here you can create new medical state <a asp-controller="MedicalState" asp-action="Create" >Create</a>.</p>
</div>
<div class=" divider-custom">
<div class="divider-custom-line"></div>
<div class="row">
@if (Model.MedicalStates.Count() == 0)
{
<h2 class="text-center">You dont have any MedicalState</h2>
<img src="~/img/portfolio/noData.jpg" class="figure-img" />
}
else
@foreach (var item in Model.MedicalStates)
{
<div class="col-lg-4 col-md-6 d-flex align-items-stretch">
<div class="icon-box">
<div class="icon"><i class="fas fa-heartbeat"></i></div>
<h4>@item.StateName</h4>
<p>@item.StateDescription - Prescriped at @(item.PrescriptionTime)</p>
<a data-toggle="modal" data-target="#item-@(item.Id)" class="btn btn-primary" >
Details</a>
</div>
</div>
}
<div class="divider-custom-icon">
<i class="fas fa-star"></i>
</div>
<div class="divider-custom-line"></div>
</div>
</div>
</section><!-- End Services Section -->
<!--<section class="page-section ">
<div class="container-fluid">-->
<!-- Portfolio Grid Items -->
<div class="row d-flex flex-wrap justify-content-sm-center">
<!--<div class="row d-flex flex-wrap justify-content-sm-center">
@if (Model.MedicalStates.Count() == 0)
{
<h2 class="text-center">You dont have any MedicalState</h2>
......@@ -72,40 +94,49 @@
@foreach (var item in Model.MedicalStates)
{
<div class="col-lg-4 col-md-6 d-flex align-items-stretch">
<div class="icon-box">
<div class="icon"><i class="fas fa-heartbeat"></i></div>
<h4><a href="">@item.StateName</a></h4>
<p>@item.StateDescription</p>
<a href="#" class="btn btn-primary" data-toggle="modal" data-target="#item-@(item.Id)">go to descriptiuon </a>
</div>
</div>
<div class="col-lg-4">
<div class="card m-3">
<img src="/img/portfolio/flappy.png"
class="card-img-top img-fluid" style="max-height:250px "
alt="Waterfall" />
<div class="card-body">
<h5 class="card-title">@item.StateName</h5>
<p class="card-text">
@item.StateDescription
<br />
Date : @item.PrescriptionTime <br />
Medicines : @item.Medicines.Count()
</p>
<a href="#" class="btn btn-primary" data-toggle="modal" data-target="#item-@(item.Id)">go to descriptiuon </a>
<div class="card m-3">
<img src="/img/portfolio/flappy.png"
class="card-img-top img-fluid" style="max-height:250px "
alt="Waterfall" />
<div class="card-body">
<h5 class="card-title">@item.StateName</h5>
<p class="card-text">
@item.StateDescription
<br />
Date : @item.PrescriptionTime <br />
Medicines : @item.Medicines.Count()
</p>
<a href="#" class="btn btn-primary" data-toggle="modal" data-target="#item-@(item.Id)">go to descriptiuon </a>
</div>
</div>
</div>
</div>}
</div>
}
</div>-->
<!-- /.row -->
</div>
</section>
<!--</div>
</section>-->
<section class="page-section bg-primary text-white mb-0" id="topThree">
<div class="container-fluid">
<!-- Portfolio Section Heading -->
<h2 class=" page-section-heading text-center text-uppercase text-secondary mb-0">For more Medicine</h2><br/>
<h2 class="page-section-heading text-center mb-0r" style="color :white!important ;"><a asp-action="MedicinesGalary" asp-controller="Home" >Go to Add Medicine to your profile</a> </h2>
<h2 class=" page-section-heading text-center text-uppercase text-secondary mb-0">For more Medicine</h2><br />
<h2 class=" page-section-heading text-center text-secondary mb-0" style="color :white!important ;"><a asp-action="Index" asp-controller="MedicalState">Go to You Medical States profile</a> </h2>
<!-- Icon Divider -->
</div>
</div>
</section>
<!-- Contact Section -->
......@@ -197,13 +228,13 @@
<div class="divider-custom-line"></div>
</div>
<!-- Portfolio Modal - Image -->
<img class="img-fluid rounded mb-5" src="/img/portfolio/ecole.png" alt="">
<img class="img-fluid rounded mb-5" src="/img/portfolio/ecole.png" alt="">
<!-- Portfolio Modal - Text -->
<p class="mb-5">State Description : @item.StateDescription</p>
<p class="mb-5">State Name : @item.StateName</p>
<p class="mb-5">State Time : @item.PrescriptionTime</p>
<a asp-action="MedicalStateDetails" role="button" class="btn btn-primary" asp-controller="Home" asp-route-id="@item.Id">View More </a>
<a asp-action="Details" role="button" class="btn btn-primary" asp-controller="MedicalState" asp-route-id="@item.Id">View More </a>
<button class="btn btn-primary" href="#" data-dismiss="modal">
<i class="fas fa-times fa-fw"></i>
Close Window
......
......@@ -5,6 +5,7 @@
var a = 0;
}
<section class="page-section" style="background-color: #f4f5f7;">
......@@ -17,9 +18,9 @@
style="border-top-left-radius: .5rem; border-bottom-left-radius: .5rem;">
<img src="~/img/portfolio/ecole.png"
alt="Avatar" class="img-fluid my-5" style="width: 80px;" />
<h5>@Model.</h5>
<p>For: @(Model.Category is null ? "":Model.Category.Name)</p>
<a asp-action="Edit" asp-route-id="@Model.Id">
<h5>@Model.StateName</h5>
<p>AT: @(Model.PrescriptionTime )</p>
<a asp-action="Edit" asp-controller="MedicalState" asp-route-id="@Model.Id">
<i class="far fa-edit mb-5"></i>
</a>
......@@ -31,22 +32,20 @@
Go Back
</a>
</div>
<div class="col-md-8">
<div class="col-md-10">
<div class="card-body p-4">
<h6>Information</h6>
<hr class="mt-0 mb-4">
<div class="row pt-1">
<div class="col-6 mb-3">
<h6>Description</h6>
<p class="text-muted">@Model.Description</p>
<p class="text-muted">@Model.StateDescription</p>
</div>
<div class="col-6 mb-3">
<h6>Medicine Type:@Model.MedicineType.TypeName</h6>
<p class="text-muted">Dosage : @Model.Dosage</p>
<p class="text-muted">Price : @Model.Price</p>
<h6>Medicines Count:@Model.Medicines.Count()</h6>
</div>
</div>
<h6>Ingredients : </h6>
<h6>Medicines : </h6>
<hr class="mt-0 mb-4">
<div class="row pt-1">
<table class="table table-bordered">
......@@ -55,25 +54,31 @@
<td>#</td>
<td>Name</td>
<td>Description</td>
<td>Ratio</td>
<td>Price</td>
<td>dosage</td>
<td>Manfacture Name</td>
</tr>
</thead>
<tbody>
@foreach (var ing in Model.MedicineIngredients)
@foreach (var ing in Model.Medicines)
{
<tr class=" mb-3">
<td>@(a+=1)</td>
<td>@ing.Ingredient.Name</td>
<td>@ing.Ingredient.Description</td>
<td>@ing.Ratio</td>
<tr class=" mb-3">
<td>@(a+=1)</td>
<td>@ing.TradeName</td>
<td>@ing.Description</td>
<td>@ing.Price</td>
<td>@ing.Dosage</td>
<td>@ing.ManufactureName</td>
</tr>
</tr>
}
</tbody>
</table>
</div>
<div class="row pt-1">
</div>
<div class="row pt-1">
<div class="col-6 mb-3">
<h6>Go To list </h6>
<a asp-action="Index">Back to List</a>
......@@ -88,3 +93,48 @@
</div>
</div>
</section>
<section class="page-section mt-5">
<!-- Carousel wrapper -->
<div id="carouselMultiItemExample"
data-mdb-carousel-init class="carousel slide carousel-dark text-center"
data-mdb-ride="carousel">
<!-- Inner -->
<div class="carousel-inner py-4">
<!-- Single item -->
<div class="carousel-item active">
<div class="container">
<div class="row">
@foreach (var item in Model.Medicines)
{
<div class="col-lg-4">
<div class="card m-3">
<img src="/img/portfolio/@item.Image"
class="card-img-top img-fluid" style="max-height:250px "
alt="Waterfall" />
<div class="card-body">
<h5 class="card-title">@item.TradeName</h5>
<p class="card-text">
@item.Description
<br />
Price : @item.Price <br />
Type : @item.MedicineType
</p>
<a asp-action="AddMedicine" asp-controller="Home" asp-route-id="@item.Id" data-mdb-ripple-init class="btn btn-primary">Add to my Profile</a>
</div>
</div>
</div>
}
</div>
</div>
</div>
</div>
<!-- Inner -->
</div>
<!-- Carousel wrapper -->
</section>
\ No newline at end of file
......@@ -19,7 +19,7 @@
class="card-img-top img-fluid"style="max-height:250px "
alt="Waterfall" />
<div class="card-body">
<h5 class="card-title">@item.Name</h5>
<h5 class="card-title">@item.TradeName</h5>
<p class="card-text">
@item.Description
<br />
......
@model IEnumerable<Medicine>
@(ViewData["Title"]="Medicines Galary")
<section class="page-section mt-5">
<!-- Carousel wrapper -->
<div id="carouselMultiItemExample"
data-mdb-carousel-init class="carousel slide carousel-dark text-center"
data-mdb-ride="carousel">
<!-- Inner -->
<div class="carousel-inner py-4">
<!-- Single item -->
<div class="carousel-item active">
<div class="container">
<div class="row">
@foreach (var item in Model)
{
<div class="col-lg-4">
<div class="card m-3">
<img src="/img/portfolio/@item.Image"
class="card-img-top img-fluid" style="max-height:250px "
alt="Waterfall" />
<div class="card-body">
<h5 class="card-title">@item.TradeName</h5>
<p class="card-text">
@item.Description
<br />
Price : @item.Price <br />
Type : @item.MedicineType
</p>
<form class="form-inline" method="post" asp-action="AddMedicine" asp-controller="MedicalState" asp-route-med="@item.Id" asp-route-id="@ViewBag.MedicalStateId">
<button role="submit" class="btn btn-primary">Add to my Profile</button>
</form>
</div>
</div>
</div>
}
</div>
</div>
</div>
</div>
<!-- Inner -->
</div>
<!-- Carousel wrapper -->
</section>
\ No newline at end of file
@model ApplicationCore.Entities.MedicalState
@{
ViewData["Title"] = "Create";
}
<h1>Create</h1>
<hr />
<div class="row">
<div class="col-md-4">
<form asp-action="Create" asp-controller="MedicalState">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="form-group">
<div class="col-5">
<label asp-for="StateName" class="control-label"></label>
<input asp-for="StateName" class="form-control" />
<span asp-validation-for="StateName" class="text-danger"></span>
</div>
<div class="col-5">
<label asp-for="PrescriptionTime" class="control-label"></label>
<input asp-for="PrescriptionTime" class="form-control" />
<span asp-validation-for="PrescriptionTime" class="text-danger"></span>
</div>
</div>
<div class="form-group">
<label asp-for="StateDescription" class="control-label"></label>
<input asp-for="StateDescription" class="form-control" />
<span asp-validation-for="StateDescription" class="text-danger"></span>
</div>
<div>
</div>
<div class="form-group">
<input type="submit" value="Create" class="btn btn-primary" />
</div>
</form>
</div>
</div>
<div>
<a asp-action="Index">Back to List</a>
</div>
@section Scripts {
@{await Html.RenderPartialAsync("_ValidationScriptsPartial");}
}
@model MedicalState
@{
ViewData["Title"] = "Medical State Details ";
var a = 0;
}
<section class="page-section" style="background-color: #f4f5f7;">
<div class="container py-5 h-100">
<div class="row d-flex justify-content-center align-items-center h-100">
<div class="col col-8 col-lg-8 mb-4 mb-lg-0">
<div class="card mb-3" style="border-radius: .5rem;">
<div class="row g-0">
<div class="col-md-4 gradient-custom text-center text-black"
style="border-top-left-radius: .5rem; border-bottom-left-radius: .5rem;">
<img src="~/img/portfolio/ecole.png"
alt="Avatar" class="img-fluid my-5" style="width: 80px;" />
<h5>@Model.StateName</h5>
<p>AT: @(Model.PrescriptionTime )</p>
<a asp-action="Edit" asp-controller="MedicalState" asp-route-id="@Model.Id">
<i class="far fa-edit mb-5"></i>
</a>
<a asp-action="Index">
<i class="far fa-backward">
</i>
Go Back
</a>
</div>
<div class="col-md-10">
<div class="card-body p-4">
<h6>Information</h6>
<hr class="mt-0 mb-4">
<div class="row pt-1">
<div class="col-6 mb-3">
<h6>Description</h6>
<p class="text-muted">@Model.StateDescription</p>
</div>
<div class="col-6 mb-3">
<h6>Medicines Count:@Model.Medicines.Count()</h6>
<a asp-controller="MedicalState" asp-action="AddMedicine" asp-route-id="@Model.Id">Add Medicine</a>
<a asp-controller="MedicalState" asp-action="Edit" asp-route-id="@Model.Id">Edit</a>
</div>
</div>
<h6>Medicines : </h6>
<hr class="mt-0 mb-4">
<div class="row pt-1">
<table class="table table-bordered">
<thead>
<tr>
<td>#</td>
<td>Name</td>
<td>Description</td>
<td>Price</td>
<td>dosage</td>
<td>Manfacture Name</td>
</tr>
</thead>
<tbody>
@foreach (var ing in Model.Medicines)
{
<tr class=" mb-3">
<td>@(a+=1)</td>
<td>@ing.TradeName</td>
<td>@ing.Description</td>
<td>@ing.Price</td>
<td>@ing.Dosage</td>
<td>@ing.ManufactureName</td>
</tr>
}
</tbody>
</table>
</div>
<div class="row pt-1">
<div class="col-6 mb-3">
<h6>Go To list </h6>
<a asp-action="Index">Back to List</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<section class="page-section mt-5">
<!-- Carousel wrapper -->
<div id="carouselMultiItemExample"
data-mdb-carousel-init class="carousel slide carousel-dark text-center"
data-mdb-ride="carousel">
<!-- Inner -->
<div class="carousel-inner py-4">
<!-- Single item -->
<div class="carousel-item active">
<div class="container">
<div class="row">
@foreach (var item in Model.Medicines)
{
<div class="col-lg-4">
<div class="card m-3">
<img src="/img/portfolio/@item.Image"
class="card-img-top img-fluid" style="max-height:250px "
alt="Waterfall" />
<div class="card-body">
<h5 class="card-title">@item.TradeName</h5>
<p class="card-text">
@item.Description
<br />
Price : @item.Price <br />
Type : @item.MedicineType
</p>
<a asp-action="RemoveMedicine" asp-controller="MedicalState" asp-route-id="@item.Id" data-mdb-ripple-init class="btn btn-primary">Remove From my Profile</a>
</div>
</div>
</div>
}
</div>
</div>
</div>
</div>
<!-- Inner -->
</div>
<!-- Carousel wrapper -->
</section>
\ No newline at end of file
@model ApplicationCore.Entities.MedicalState
@{
ViewData["Title"] = "Edit";
}
<h1>Create</h1>
<hr />
<div class="row">
<div class="col-md-4">
<form asp-action="Edit" asp-controller="MedicalState">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="form-group">
<div class="col-5">
<label asp-for="StateName" class="control-label"></label>
<input asp-for="StateName" class="form-control" />
<span asp-validation-for="StateName" class="text-danger"></span>
</div>
<div class="col-5">
<label asp-for="PrescriptionTime" class="control-label"></label>
<input asp-for="PrescriptionTime" class="form-control" />
<span asp-validation-for="PrescriptionTime" class="text-danger"></span>
</div>
</div>
<div class="form-group">
<label asp-for="StateDescription" class="control-label"></label>
<input asp-for="StateDescription" class="form-control" />
<span asp-validation-for="StateDescription" class="text-danger"></span>
</div>
<div>
</div> <input type="hidden" asp-for="Id" />
<div class="form-group">
<input type="submit" value="Save" class="btn btn-primary" />
</div>
</form>
</div>
</div>
<div>
<a asp-action="Index">Back to List</a>
</div>
@section Scripts {
@{await Html.RenderPartialAsync("_ValidationScriptsPartial");}
}
@model IEnumerable<MedicalState>;
@{
ViewData["Title"] = "Medical states ";
}
@foreach(var item in Model){
<section class="page-section">
<div class="container py-5 h-100">
<div class="row d-flex justify-content-center align-items-center h-100">
<div class="col col-lg-8 mb-4 mb-lg-0">
<div class="card mb-3" style="border-radius: .5rem;">
<div class="row g-0">
<div class="col-md-4 gradient-custom text-center text-black"
style="border-top-left-radius: .5rem; border-bottom-left-radius: .5rem;">
<img src="~/img/portfolio/ecole.png"
alt="Avatar" class="img-fluid my-5" style="width: 80px;" />
<h5>@item.StateName</h5>
<p>Prescriped At : @item.PrescriptionTime</p>
<a asp-action="Edit" asp-route-id="@item.Id">
<i class="far fa-edit mb-5"></i>
</a>
<a asp-action="Index">
<i class="far fa-backward">
</i>
Go Back
</a>
</div>
<div class="col-md-8">
<div class="card-body p-4">
<h6>Information</h6>
<hr class="mt-0 mb-4">
<div class="row pt-1">
<div class="col-6 mb-3">
<h6>Description</h6>
<p class="text-muted">@item.StateDescription</p>
</div>
<div class="col-6 mb-3">
<h6>Medicine count :@item.Medicines.Count()</h6>
</div>
</div>
<div class="row pt-1">
<div class="col-6 mb-3">
<a asp-action="Index">Back to Home</a>
</div>
<div class="col-6 mb-3">
<h6>Add Medicine </h6>
<a asp-action="AddMedicine" asp-controller="MedicalState" asp-route-id="@item.Id">Add </a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
}
\ No newline at end of file
......@@ -28,9 +28,16 @@
</div>
</div>
<div class="form-group">
<label asp-for="Description" class="control-label"></label>
<input asp-for="Description" class="form-control" />
<span asp-validation-for="Description" class="text-danger"></span>
<div class="col-5">
<label asp-for="Description" class="control-label"></label>
<input asp-for="Description" class="form-control" />
<span asp-validation-for="Description" class="text-danger"></span>
</div>
<div class="col-5">
<label asp-for="SideEffect" class="control-label"></label>
<input asp-for="SideEffect" class="form-control" />
<span asp-validation-for="SideEffect" class="text-danger"></span>
</div>
</div>
<div class="form-group">
<label asp-for="Dosage" class="control-label"></label>
......@@ -38,9 +45,19 @@
<span asp-validation-for="Dosage" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="Category.Name" class="control-label"></label>
<input asp-for="Category.Name" class="form-control" />
<span asp-validation-for="Category.Name" class="text-danger"></span>
<div class="col-5">
<label for="Category" class="control-label"></label>
<input asp-for="Category.Name" class="form-control" />
<span asp-validation-for="Category.Name" class="text-danger"></span>
</div>
<div class="col-5">
<label asp-for="ManufactureName" class="control-label"></label>
<input asp-for="ManufactureName" class="form-control" />
<span asp-validation-for="ManufactureName" class="text-danger"></span>
</div>
</div>
<div class="form-group">
<label asp-for="Image" class="control-label"></label>
......
......@@ -15,10 +15,10 @@
<hr />
<dl class="row">
<dt class = "col-sm-2">
@Html.DisplayNameFor(model => model.Name)
@Html.DisplayNameFor(model => model.TradeName)
</dt>
<dd class = "col-sm-10">
@Html.DisplayFor(model => model.Name)
@Html.DisplayFor(model => model.TradeName)
</dd>
<dt class = "col-sm-2">
@Html.DisplayNameFor(model => model.Description)
......
......@@ -16,7 +16,7 @@
style="border-top-left-radius: .5rem; border-bottom-left-radius: .5rem;">
<img src="~/img/portfolio/@Model.Image"
alt="Avatar" class="img-fluid my-5" style="width: 80px;" />
<h5>@Model.Name</h5>
<h5>@Model.TradeName</h5>
<p>For: @(Model.Category is null ? "":Model.Category.Name)</p>
<a asp-action="Edit" asp-route-id="@Model.Id">
<i class="far fa-edit mb-5"></i>
......@@ -40,7 +40,7 @@
<p class="text-muted">@Model.Description</p>
</div>
<div class="col-6 mb-3">
<h6>Medicine Type:@Model.MedicineType</h6>
<h6>Medicine Type:@Model.MedicineType?.TypeName</h6>
<p class="text-muted">Dosage : @Model.Dosage</p>
<p class="text-muted">Price : @Model.Price</p>
</div>
......
......@@ -16,9 +16,9 @@
<form asp-action="Edit" class="form-group ">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="form-group">
<label asp-for="Name" class="control-label "></label>
<input asp-for="Name" class="form-control" />
<span asp-validation-for="Name" class="text-danger"></span>
<label asp-for="TradeName" class="control-label "></label>
<input asp-for="TradeName" class="form-control" />
<span asp-validation-for="TradeName" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="Description" class="control-label"></label>
......@@ -44,6 +44,19 @@
<input asp-for="Category.Name" class="form-control" />
<span asp-validation-for="Category.Name" class="text-danger"></span>
</div>
<div class="col">
<label asp-for="ManufactureName" class="control-label"></label>
<input asp-for="ManufactureName" class="form-control" />
<span asp-validation-for="ManufactureName" class="text-danger"></span>
</div>
</div>
<div class="form-group">
<div class="col ">
<label asp-for="ScintificName" class="control-label"></label>
<input asp-for="ScintificName" class="form-control" />
<span asp-validation-for="ScintificName" class="text-danger"></span>
</div>
<div class="col">
<label asp-for="MedicineType.TypeName" class="control-label"></label>
......@@ -51,6 +64,14 @@
<span asp-validation-for="MedicineType.TypeName" class="text-danger"></span>
</div>
</div>
<div class="form-group">
<div class="col ">
<label asp-for="SideEffect" class="control-label"></label>
<input asp-for="SideEffect" class="form-control" />
<span asp-validation-for="SideEffect" class="text-danger"></span>
</div>
</div>
<div class="form-group">
<label asp-for="Image" class="control-label"></label>
<input asp-for="Image" class="form-control" />
......
......@@ -127,7 +127,7 @@
</th>
<th scope="col">
@Html.DisplayNameFor(model => model.Medicines.First().Name)
@Html.DisplayNameFor(model => model.Medicines.First().TradeName)
</th>
<th scope="col">
@Html.DisplayNameFor(model => model.Medicines.First().Description)
......@@ -176,7 +176,7 @@
@Html.DisplayFor(modelItem => item.Id)
</td>
<td>
@Html.DisplayFor(modelItem => item.Name)
@Html.DisplayFor(modelItem => item.TradeName)
</td>
<td>
@Html.DisplayFor(modelItem => item.Description)
......@@ -196,7 +196,7 @@
<a asp-action="Delete" asp-controller="Medicine" asp-route-id="@item.Id"><i class="far fa-trash-can text-bg-danger"></i></a>
</td>
<td>
@Html.DisplayFor(modelItem => item.Patients.Count)
@Html.DisplayFor(modelItem => item.MedicalStates.Count)
</td>
</tr>
}
......
......@@ -12,6 +12,11 @@
<meta name="description" content="">
<meta name="author" content="">
<!-- Google Fonts -->
<link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i,700,700i|Raleway:300,300i,400,400i,500,500i,600,600i,700,700i|Poppins:300,300i,400,400i,500,500i,600,600i,700,700i" rel="stylesheet">
<!-- Template Main CSS File -->
<link href="/css/stylemedlab.css" rel="stylesheet">
<title> @ViewData["title"]</title>
<!-- Custom fonts for this theme -->
......@@ -29,7 +34,10 @@
<!-- Navigation -->
<nav class="navbar navbar-expand-lg bg-secondary text-uppercase fixed-top" id="mainNav">
<div class="container">
<a class="navbar-brand js-scroll-trigger" href="#page-top">@ViewData["userName"]</a>
<a class="navbar-brand js-scroll-trigger" href="#page-top">
@ViewData["userName"]
</a>
<button class="navbar-toggler navbar-toggler-right text-uppercase font-weight-bold bg-primary text-white rounded" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
Menu
<i class="fas fa-bars"></i>
......@@ -48,7 +56,7 @@
<partial name="_LoginPartial" />
</ul>
</div>
</div>
</nav>
......
#pragma checksum "C:\Users\HASAN\Desktop\Medic\WebPresentation\Views\Home\MedicinesGalary.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "6597057a3c0cb60732e76df3e3b4adfcd617f198"
#pragma checksum "C:\Users\HASAN\Desktop\Medic\WebPresentation\Views\Home\MedicinesGalary.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "f388de96728e624cc50372185fc0eb996ca1ee35"
// <auto-generated/>
#pragma warning disable 1591
[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(AspNetCore.Views_Home_MedicinesGalary), @"mvc.1.0.view", @"/Views/Home/MedicinesGalary.cshtml")]
......@@ -39,7 +39,7 @@ using System;
#line default
#line hidden
#nullable disable
[global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"6597057a3c0cb60732e76df3e3b4adfcd617f198", @"/Views/Home/MedicinesGalary.cshtml")]
[global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"f388de96728e624cc50372185fc0eb996ca1ee35", @"/Views/Home/MedicinesGalary.cshtml")]
[global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"afde39527760d3d287f4d84a4731a7fb9211e4e9", @"/Views/_ViewImports.cshtml")]
public class Views_Home_MedicinesGalary : global::Microsoft.AspNetCore.Mvc.Razor.RazorPage<IEnumerable<Medicine>>
{
......@@ -116,7 +116,7 @@ WriteAttributeValue("", 748, item.Image, 748, 11, false);
<h5 class=""card-title"">");
#nullable restore
#line 22 "C:\Users\HASAN\Desktop\Medic\WebPresentation\Views\Home\MedicinesGalary.cshtml"
Write(item.Name);
Write(item.TradeName);
#line default
#line hidden
......@@ -146,7 +146,7 @@ WriteAttributeValue("", 748, item.Image, 748, 11, false);
#line hidden
#nullable disable
WriteLiteral("\r\n \r\n </p>\r\n ");
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("a", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "6597057a3c0cb60732e76df3e3b4adfcd617f1987769", async() => {
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("a", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "f388de96728e624cc50372185fc0eb996ca1ee357774", async() => {
WriteLiteral("Add to my Profile");
}
);
......
#pragma checksum "C:\Users\HASAN\Desktop\Medic\WebPresentation\Views\Medicine\Delete.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "8dfc9ddd6ac10e54ee8a010d9a0b1f3447889c97"
#pragma checksum "C:\Users\HASAN\Desktop\Medic\WebPresentation\Views\Medicine\Delete.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "e367546a4b9fc101f282705b60c549c64aa41e83"
// <auto-generated/>
#pragma warning disable 1591
[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(AspNetCore.Views_Medicine_Delete), @"mvc.1.0.view", @"/Views/Medicine/Delete.cshtml")]
......@@ -39,7 +39,7 @@ using System;
#line default
#line hidden
#nullable disable
[global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"8dfc9ddd6ac10e54ee8a010d9a0b1f3447889c97", @"/Views/Medicine/Delete.cshtml")]
[global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"e367546a4b9fc101f282705b60c549c64aa41e83", @"/Views/Medicine/Delete.cshtml")]
[global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"afde39527760d3d287f4d84a4731a7fb9211e4e9", @"/Views/_ViewImports.cshtml")]
public class Views_Medicine_Delete : global::Microsoft.AspNetCore.Mvc.Razor.RazorPage<ApplicationCore.Entities.Medicine>
{
......@@ -88,7 +88,7 @@ using System;
WriteLiteral("\r\n<h1>Delete</h1>\r\n\r\n<h3>Are you sure you want to delete this?</h3>\r\n<div>\r\n <h4>Medicine</h4>\r\n <hr />\r\n <dl class=\"row\">\r\n <dt class = \"col-sm-2\">\r\n ");
#nullable restore
#line 18 "C:\Users\HASAN\Desktop\Medic\WebPresentation\Views\Medicine\Delete.cshtml"
Write(Html.DisplayNameFor(model => model.Name));
Write(Html.DisplayNameFor(model => model.TradeName));
#line default
#line hidden
......@@ -96,7 +96,7 @@ using System;
WriteLiteral("\r\n </dt>\r\n <dd class = \"col-sm-10\">\r\n ");
#nullable restore
#line 21 "C:\Users\HASAN\Desktop\Medic\WebPresentation\Views\Medicine\Delete.cshtml"
Write(Html.DisplayFor(model => model.Name));
Write(Html.DisplayFor(model => model.TradeName));
#line default
#line hidden
......@@ -150,9 +150,9 @@ using System;
#line hidden
#nullable disable
WriteLiteral("\r\n </dd>\r\n </dl>\r\n \r\n ");
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("form", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "8dfc9ddd6ac10e54ee8a010d9a0b1f3447889c977698", async() => {
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("form", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "e367546a4b9fc101f282705b60c549c64aa41e837708", async() => {
WriteLiteral("\r\n ");
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "8dfc9ddd6ac10e54ee8a010d9a0b1f3447889c977964", async() => {
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "e367546a4b9fc101f282705b60c549c64aa41e837974", async() => {
}
);
__Microsoft_AspNetCore_Mvc_TagHelpers_InputTagHelper = CreateTagHelper<global::Microsoft.AspNetCore.Mvc.TagHelpers.InputTagHelper>();
......@@ -175,7 +175,7 @@ __Microsoft_AspNetCore_Mvc_TagHelpers_InputTagHelper.For = ModelExpressionProvid
Write(__tagHelperExecutionContext.Output);
__tagHelperExecutionContext = __tagHelperScopeManager.End();
WriteLiteral("\r\n <input type=\"submit\" value=\"Delete\" class=\"btn btn-danger\" /> |\r\n ");
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("a", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "8dfc9ddd6ac10e54ee8a010d9a0b1f3447889c979744", async() => {
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("a", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "e367546a4b9fc101f282705b60c549c64aa41e839754", async() => {
WriteLiteral("Back to List");
}
);
......
#pragma checksum "C:\Users\HASAN\Desktop\Medic\WebPresentation\Views\Medicine\Details.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "becfdc852f1b8ed8f17eaff07c395972786ee694"
#pragma checksum "C:\Users\HASAN\Desktop\Medic\WebPresentation\Views\Medicine\Details.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "63facbc62168b42781e47ea83818a4a99b4a97d4"
// <auto-generated/>
#pragma warning disable 1591
[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(AspNetCore.Views_Medicine_Details), @"mvc.1.0.view", @"/Views/Medicine/Details.cshtml")]
......@@ -39,7 +39,7 @@ using System;
#line default
#line hidden
#nullable disable
[global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"becfdc852f1b8ed8f17eaff07c395972786ee694", @"/Views/Medicine/Details.cshtml")]
[global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"63facbc62168b42781e47ea83818a4a99b4a97d4", @"/Views/Medicine/Details.cshtml")]
[global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"afde39527760d3d287f4d84a4731a7fb9211e4e9", @"/Views/_ViewImports.cshtml")]
public class Views_Medicine_Details : global::Microsoft.AspNetCore.Mvc.Razor.RazorPage<Medicine>
{
......@@ -96,7 +96,7 @@ using System;
<div class=""col-md-4 gradient-custom text-center text-black""
style=""border-top-left-radius: .5rem; border-bottom-left-radius: .5rem;"">
");
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("img", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "becfdc852f1b8ed8f17eaff07c395972786ee6946670", async() => {
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("img", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "63facbc62168b42781e47ea83818a4a99b4a97d46670", async() => {
}
);
__Microsoft_AspNetCore_Mvc_Razor_TagHelpers_UrlResolutionTagHelper = CreateTagHelper<global::Microsoft.AspNetCore.Mvc.Razor.TagHelpers.UrlResolutionTagHelper>();
......@@ -124,7 +124,7 @@ AddHtmlAttributeValue("", 685, Model.Image, 685, 12, false);
WriteLiteral("\r\n <h5>");
#nullable restore
#line 19 "C:\Users\HASAN\Desktop\Medic\WebPresentation\Views\Medicine\Details.cshtml"
Write(Model.Name);
Write(Model.TradeName);
#line default
#line hidden
......@@ -138,7 +138,7 @@ AddHtmlAttributeValue("", 685, Model.Image, 685, 12, false);
#line hidden
#nullable disable
WriteLiteral("</p>\r\n ");
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("a", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "becfdc852f1b8ed8f17eaff07c395972786ee6949021", async() => {
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("a", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "63facbc62168b42781e47ea83818a4a99b4a97d49026", async() => {
WriteLiteral("\r\n <i class=\"far fa-edit mb-5\"></i>\r\n ");
}
);
......@@ -169,7 +169,7 @@ AddHtmlAttributeValue("", 685, Model.Image, 685, 12, false);
Write(__tagHelperExecutionContext.Output);
__tagHelperExecutionContext = __tagHelperScopeManager.End();
WriteLiteral("\r\n\r\n ");
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("a", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "becfdc852f1b8ed8f17eaff07c395972786ee69411306", async() => {
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("a", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "63facbc62168b42781e47ea83818a4a99b4a97d411311", async() => {
WriteLiteral("\r\n\r\n <i class=\"far fa-backward\">\r\n\r\n </i>\r\n Go Back\r\n ");
}
);
......@@ -204,7 +204,7 @@ AddHtmlAttributeValue("", 685, Model.Image, 685, 12, false);
WriteLiteral("</p>\r\n </div>\r\n <div class=\"col-6 mb-3\">\r\n <h6>Medicine Type:");
#nullable restore
#line 43 "C:\Users\HASAN\Desktop\Medic\WebPresentation\Views\Medicine\Details.cshtml"
Write(Model.MedicineType);
Write(Model.MedicineType?.TypeName);
#line default
#line hidden
......@@ -288,7 +288,7 @@ AddHtmlAttributeValue("", 685, Model.Image, 685, 12, false);
<div class=""col-6 mb-3"">
<h6>Go To list </h6>
");
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("a", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "becfdc852f1b8ed8f17eaff07c395972786ee69417363", async() => {
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("a", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "63facbc62168b42781e47ea83818a4a99b4a97d417378", async() => {
WriteLiteral("Back to List");
}
);
......@@ -304,7 +304,7 @@ AddHtmlAttributeValue("", 685, Model.Image, 685, 12, false);
Write(__tagHelperExecutionContext.Output);
__tagHelperExecutionContext = __tagHelperScopeManager.End();
WriteLiteral("\r\n\r\n </div>\r\n <div class=\"col-6 mb-3\">\r\n <h6>Add Ingredient </h6>\r\n ");
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("a", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "becfdc852f1b8ed8f17eaff07c395972786ee69418749", async() => {
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("a", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "63facbc62168b42781e47ea83818a4a99b4a97d418764", async() => {
WriteLiteral("Add ");
}
);
......
#pragma checksum "C:\Users\HASAN\Desktop\Medic\WebPresentation\Views\Medicine\Index.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "8f77abfa4571c4b27c43dc5ff0bb7f34024763fe"
#pragma checksum "C:\Users\HASAN\Desktop\Medic\WebPresentation\Views\Medicine\Index.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "61491ef26817e58e2b8c2c4e0f79f368a15e1bcf"
// <auto-generated/>
#pragma warning disable 1591
[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(AspNetCore.Views_Medicine_Index), @"mvc.1.0.view", @"/Views/Medicine/Index.cshtml")]
......@@ -39,7 +39,7 @@ using System;
#line default
#line hidden
#nullable disable
[global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"8f77abfa4571c4b27c43dc5ff0bb7f34024763fe", @"/Views/Medicine/Index.cshtml")]
[global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"61491ef26817e58e2b8c2c4e0f79f368a15e1bcf", @"/Views/Medicine/Index.cshtml")]
[global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"afde39527760d3d287f4d84a4731a7fb9211e4e9", @"/Views/_ViewImports.cshtml")]
public class Views_Medicine_Index : global::Microsoft.AspNetCore.Mvc.Razor.RazorPage<ApplicationCore.ViewModel.PatientMedicineViewModel>
{
......@@ -245,7 +245,7 @@ using System;
#line hidden
#nullable disable
WriteLiteral("\r\n </td>\r\n <td>\r\n ");
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("a", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "8f77abfa4571c4b27c43dc5ff0bb7f34024763fe11817", async() => {
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("a", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "61491ef26817e58e2b8c2c4e0f79f368a15e1bcf11817", async() => {
WriteLiteral("<i class=\"far fa-pen-to-square text-bg-info\"></i>");
}
);
......@@ -278,7 +278,7 @@ using System;
Write(__tagHelperExecutionContext.Output);
__tagHelperExecutionContext = __tagHelperScopeManager.End();
WriteLiteral("\r\n ");
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("a", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "8f77abfa4571c4b27c43dc5ff0bb7f34024763fe14269", async() => {
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("a", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "61491ef26817e58e2b8c2c4e0f79f368a15e1bcf14269", async() => {
WriteLiteral("<i class=\"far fa-address-card\"></i>");
}
);
......@@ -311,7 +311,7 @@ using System;
Write(__tagHelperExecutionContext.Output);
__tagHelperExecutionContext = __tagHelperScopeManager.End();
WriteLiteral("\r\n ");
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("a", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "8f77abfa4571c4b27c43dc5ff0bb7f34024763fe16710", async() => {
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("a", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "61491ef26817e58e2b8c2c4e0f79f368a15e1bcf16710", async() => {
WriteLiteral("<i class=\"far fa-trash-can text-bg-danger\"></i>");
}
);
......@@ -355,7 +355,7 @@ using System;
BeginWriteAttribute("class", " class=\"", 3700, "\"", 3708, 0);
EndWriteAttribute();
WriteLiteral("></i>\r\n Medicines Details\r\n <p>\r\n ");
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("a", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "8f77abfa4571c4b27c43dc5ff0bb7f34024763fe19676", async() => {
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("a", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "61491ef26817e58e2b8c2c4e0f79f368a15e1bcf19676", async() => {
WriteLiteral("Create New");
}
);
......@@ -382,7 +382,7 @@ using System;
WriteLiteral("\r\n\r\n </th>\r\n <th scope=\"col\">\r\n\r\n ");
#nullable restore
#line 130 "C:\Users\HASAN\Desktop\Medic\WebPresentation\Views\Medicine\Index.cshtml"
Write(Html.DisplayNameFor(model => model.Medicines.First().Name));
Write(Html.DisplayNameFor(model => model.Medicines.First().TradeName));
#line default
#line hidden
......@@ -452,7 +452,7 @@ using System;
WriteLiteral("\r\n </td>\r\n <td>\r\n ");
#nullable restore
#line 179 "C:\Users\HASAN\Desktop\Medic\WebPresentation\Views\Medicine\Index.cshtml"
Write(Html.DisplayFor(modelItem => item.Name));
Write(Html.DisplayFor(modelItem => item.TradeName));
#line default
#line hidden
......@@ -490,7 +490,7 @@ using System;
#line hidden
#nullable disable
WriteLiteral("\r\n </td>\r\n <td>\r\n ");
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("a", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "8f77abfa4571c4b27c43dc5ff0bb7f34024763fe25579", async() => {
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("a", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "61491ef26817e58e2b8c2c4e0f79f368a15e1bcf25589", async() => {
WriteLiteral("<i class=\"far fa-pen-to-square text-bg-info\"></i>");
}
);
......@@ -523,7 +523,7 @@ using System;
Write(__tagHelperExecutionContext.Output);
__tagHelperExecutionContext = __tagHelperScopeManager.End();
WriteLiteral("\r\n ");
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("a", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "8f77abfa4571c4b27c43dc5ff0bb7f34024763fe28024", async() => {
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("a", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "61491ef26817e58e2b8c2c4e0f79f368a15e1bcf28034", async() => {
WriteLiteral("<i class=\"far fa-address-card\"></i>");
}
);
......@@ -556,7 +556,7 @@ using System;
Write(__tagHelperExecutionContext.Output);
__tagHelperExecutionContext = __tagHelperScopeManager.End();
WriteLiteral("\r\n ");
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("a", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "8f77abfa4571c4b27c43dc5ff0bb7f34024763fe30458", async() => {
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("a", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "61491ef26817e58e2b8c2c4e0f79f368a15e1bcf30468", async() => {
WriteLiteral("<i class=\"far fa-trash-can text-bg-danger\"></i>");
}
);
......@@ -591,7 +591,7 @@ using System;
WriteLiteral("\r\n </td>\r\n <td>\r\n ");
#nullable restore
#line 199 "C:\Users\HASAN\Desktop\Medic\WebPresentation\Views\Medicine\Index.cshtml"
Write(Html.DisplayFor(modelItem => item.Patients.Count));
Write(Html.DisplayFor(modelItem => item.MedicalStates.Count));
#line default
#line hidden
......
680663d68e3317b60aa25a17e67b93a6a2efd859
fb1564ea4e147e20a3ceb3d9a04e5f04a8cb1ef9
a53e73f7f914b053025c2ef5fb06521fb51ec284
77951ff650501ba7b41b814325a82f2ab7a2cc25
......@@ -139,7 +139,6 @@ C:\Users\HASAN\Desktop\Medic\WebPresentation\obj\Debug\net5.0\WebPresentation.Ta
C:\Users\HASAN\Desktop\Medic\WebPresentation\obj\Debug\net5.0\WebPresentation.TagHelpers.output.cache
C:\Users\HASAN\Desktop\Medic\WebPresentation\obj\Debug\net5.0\WebPresentation.RazorCoreGenerate.cache
C:\Users\HASAN\Desktop\Medic\WebPresentation\obj\Debug\net5.0\Razor\Views\Home\Index.cshtml.g.cs
C:\Users\HASAN\Desktop\Medic\WebPresentation\obj\Debug\net5.0\Razor\Views\Home\MedicineDetails.cshtml.g.cs
C:\Users\HASAN\Desktop\Medic\WebPresentation\obj\Debug\net5.0\Razor\Views\Home\Privacy.cshtml.g.cs
C:\Users\HASAN\Desktop\Medic\WebPresentation\obj\Debug\net5.0\Razor\Views\Medicine\Create.cshtml.g.cs
C:\Users\HASAN\Desktop\Medic\WebPresentation\obj\Debug\net5.0\Razor\Views\Medicine\Delete.cshtml.g.cs
......@@ -170,3 +169,9 @@ C:\Users\HASAN\Desktop\Medic\WebPresentation\obj\Debug\net5.0\Razor\Views\Ingred
C:\Users\HASAN\Desktop\Medic\WebPresentation\obj\Debug\net5.0\Razor\Views\Ingredient\Index.cshtml.g.cs
C:\Users\HASAN\Desktop\Medic\WebPresentation\obj\Debug\net5.0\Razor\Views\Access\Login.cshtml.g.cs
C:\Users\HASAN\Desktop\Medic\WebPresentation\obj\Debug\net5.0\Razor\Views\Access\Register.cshtml.g.cs
C:\Users\HASAN\Desktop\Medic\WebPresentation\obj\Debug\net5.0\Razor\Views\Home\MedicalStateDetails.cshtml.g.cs
C:\Users\HASAN\Desktop\Medic\WebPresentation\obj\Debug\net5.0\Razor\Views\MedicalState\Create.cshtml.g.cs
C:\Users\HASAN\Desktop\Medic\WebPresentation\obj\Debug\net5.0\Razor\Views\MedicalState\Details.cshtml.g.cs
C:\Users\HASAN\Desktop\Medic\WebPresentation\obj\Debug\net5.0\Razor\Views\MedicalState\Edit.cshtml.g.cs
C:\Users\HASAN\Desktop\Medic\WebPresentation\obj\Debug\net5.0\Razor\Views\MedicalState\Index.cshtml.g.cs
C:\Users\HASAN\Desktop\Medic\WebPresentation\obj\Debug\net5.0\Razor\Views\MedicalState\AddMedicine.cshtml.g.cs
/**
* Template Name: Medilab
* Template URL: https://bootstrapmade.com/medilab-free-medical-bootstrap-theme/
* Updated: Mar 17 2024 with Bootstrap v5.3.3
* Author: BootstrapMade.com
* License: https://bootstrapmade.com/license/
*/
/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/
body {
font-family: "Open Sans", sans-serif;
color: #444444;
}
a {
color: #1977cc;
text-decoration: none;
}
a:hover {
color: #3291e6;
text-decoration: none;
}
h1,
h2,
h3,
h4,
h5,
h6 {
font-family: "Raleway", sans-serif;
}
/*--------------------------------------------------------------
# Sections General
--------------------------------------------------------------*/
section {
padding: 60px 0;
overflow: hidden;
}
.section-bg {
background-color: #f1f7fd;
}
.section-title {
text-align: center;
padding-bottom: 30px;
}
.section-title h2 {
font-size: 32px;
font-weight: bold;
margin-bottom: 20px;
padding-bottom: 20px;
position: relative;
color: #2c4964;
}
.section-title h2::before {
content: "";
position: absolute;
display: block;
width: 120px;
height: 1px;
background: #ddd;
bottom: 1px;
left: calc(50% - 60px);
}
.section-title h2::after {
content: "";
position: absolute;
display: block;
width: 40px;
height: 3px;
background: #1977cc;
bottom: 0;
left: calc(50% - 20px);
}
.section-title p {
margin-bottom: 0;
}
/*--------------------------------------------------------------
# Services
--------------------------------------------------------------*/
.services .icon-box {
text-align: center;
border: 1px solid #d5e1ed;
padding: 80px 20px;
transition: all ease-in-out 0.3s;
}
.services .icon-box .icon {
margin: 0 auto;
width: 64px;
height: 64px;
background: #1977cc;
border-radius: 5px;
transition: all 0.3s ease-out 0s;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 20px;
transform-style: preserve-3d;
position: relative;
z-index: 2;
}
.services .icon-box .icon i {
color: #fff;
font-size: 28px;
transition: ease-in-out 0.3s;
}
.services .icon-box .icon::before {
position: absolute;
content: "";
left: -8px;
top: -8px;
height: 100%;
width: 100%;
background: rgba(25, 119, 204, 0.2);
border-radius: 5px;
transition: all 0.3s ease-out 0s;
transform: translateZ(-1px);
z-index: -1;
}
.services .icon-box h4 {
font-weight: 700;
margin-bottom: 15px;
font-size: 24px;
}
.services .icon-box h4 a {
color: #2c4964;
}
.services .icon-box p {
line-height: 24px;
font-size: 14px;
margin-bottom: 0;
}
.services .icon-box:hover {
background: #1977cc;
border-color: #1977cc;
}
.services .icon-box:hover .icon {
background: #fff;
}
.services .icon-box:hover .icon i {
color: #1977cc;
}
.services .icon-box:hover .icon::before {
background: rgba(255, 255, 255, 0.3);
}
.services .icon-box:hover h4 a,
.services .icon-box:hover p {
color: #fff;
}
/*--------------------------------------------------------------
# Gallery
--------------------------------------------------------------*/
.gallery .gallery-item {
overflow: hidden;
border-right: 3px solid #fff;
border-bottom: 3px solid #fff;
}
.gallery .gallery-item img {
transition: all ease-in-out 0.4s;
}
.gallery .gallery-item:hover img {
transform: scale(1.1);
}
/*--------------------------------------------------------------
This diff is collapsed.
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