| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Threading.Tasks;
- using GreenTree.Strohrmann.ERP.Core.Domain.Business;
- using GreenTree.Strohrmann.ERP.Domain.Model;
- using GreenTree.Strohrmann.ERP.Web.Extension;
- using GreenTree.Strohrmann.ERP.Web.Models.Business;
- using Microsoft.AspNetCore.Http;
- using Microsoft.AspNetCore.Mvc;
- using Microsoft.AspNetCore.Mvc.Rendering;
- namespace GreenTree.Strohrmann.ERP.Web.Controllers
- {
- public class EmployeeController : Controller
- {
- #region DI fields
- // The global DbContext
- private readonly ERPDbContext _eRPDbContext;
- #endregion
- #region Ctor
- /// <summary>
- /// Initializes a new instance of the EmployeeController class
- /// </summary>
- /// <param name="eRPDbContext">Global DbContext.</param>
- public EmployeeController(ERPDbContext eRPDbContext)
- {
- _eRPDbContext = eRPDbContext;
- }
- #endregion
- #region Actions
- // GET: EmployeeController
- public ActionResult Index()
- {
- var employees = _eRPDbContext.Employees
- .ToList()
- .Select(e => new EmployeeModel(e));
- return View(employees);
- }
- // GET: EmployeeController/Details/5
- public ActionResult Details(int id)
- {
- var employee = _eRPDbContext.Employees
- .FirstOrDefault(e => e.Id == id);
- var employeeModel = new EmployeeModel(employee);
- return View(employeeModel);
- }
- // GET: EmployeeController/Create
- public ActionResult Create()
- {
- ViewData.AddSelectList("AvailableDegrees", _eRPDbContext.EmployeeDegrees, m => m.Id, m => m.Name);
- return View();
- }
- // POST: EmployeeController/Create
- [HttpPost]
- [ValidateAntiForgeryToken]
- public ActionResult Create(EmployeeModel model)
- {
- if (!ModelState.IsValid)
- {
- ViewData.AddSelectList("AvailableDegrees", _eRPDbContext.EmployeeDegrees, m => m.Id, m => m.Name);
- return View(model);
- }
- var employee = new Employee
- {
- Firstname = model.Firstname,
- Lastname = model.Lastname,
- Birthdate = model.Birthdate,
- MailAddress = model.MailAddress,
- EmployeeDegree = _eRPDbContext.EmployeeDegrees.Find(model.EmployeeDegree.Id),
- CreatedBy = User.Identity.Name,
- CreatedOn = DateTime.Now
- };
- _eRPDbContext.Employees.Add(employee);
- _eRPDbContext.SaveChanges();
- return RedirectToAction(nameof(Index));
- }
- // GET: EmployeeController/Edit/5
- public ActionResult Edit(int id)
- {
- ViewData.AddSelectList("AvailableDegrees", _eRPDbContext.EmployeeDegrees, m => m.Id, m => m.Name);
- var employee = _eRPDbContext.Employees
- .FirstOrDefault(c => c.Id == id);
- var employeeModel = new EmployeeModel(employee);
- return View(employeeModel);
- }
- // POST: EmployeeController/Edit/5
- [HttpPost]
- [ValidateAntiForgeryToken]
- public ActionResult Edit(int id, EmployeeModel model)
- {
- if (!ModelState.IsValid)
- {
- ViewData.AddSelectList("AvailableDegrees", _eRPDbContext.EmployeeDegrees, m => m.Id, m => m.Name);
- return View(model);
- }
- var employee = _eRPDbContext.Employees
- .FirstOrDefault(u => u.Id == id);
- employee.Firstname = model.Firstname;
- employee.Lastname = model.Lastname;
- employee.Birthdate = model.Birthdate;
- employee.MailAddress = model.MailAddress;
- employee.EmployeeDegree = _eRPDbContext.EmployeeDegrees.Find(model.EmployeeDegree.Id);
- employee.ChangedBy = User.Identity.Name;
- employee.ChangedOn = DateTime.Now;
- _eRPDbContext.SaveChanges();
- return RedirectToAction(nameof(Index));
- }
- // POST: EmployeeController/Delete/5
- [HttpPost]
- [ValidateAntiForgeryToken]
- public ActionResult Delete(int id, IFormCollection collection)
- {
- var employee = _eRPDbContext.Employees
- .FirstOrDefault(c => c.Id == id);
- _eRPDbContext.Employees.Remove(employee);
- _eRPDbContext.SaveChanges();
- return RedirectToAction(nameof(Index));
- }
- #endregion
- #region Helper
- #endregion
- }
- }
|