using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Threading.Tasks;
using GreenTree.Strohrmann.ERP.Core.Domain.Business;
using GreenTree.Strohrmann.ERP.Core.Helper;
using GreenTree.Strohrmann.ERP.Domain.Model;
using GreenTree.Strohrmann.ERP.Services.Geolocator;
using GreenTree.Strohrmann.ERP.Web.Extension;
using GreenTree.Strohrmann.ERP.Web.Models.Business;
using GreenTree.Strohrmann.ERP.Web.Models.Rights.User;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
namespace GreenTree.Strohrmann.ERP.Web.Controllers
{
public class CraftController : Controller
{
#region DI fields
// The global DbContext
private readonly ERPDbContext _eRPDbContext;
#endregion
#region Ctor
///
/// Initializes a new instance of the CraftController class
///
/// Global DbContext.
public CraftController(ERPDbContext eRPDbContext)
{
_eRPDbContext = eRPDbContext;
}
#endregion
#region Actions
// GET: CraftController
public ActionResult Index()
{
var crafts = _eRPDbContext.Crafts
.ToList()
.Select(c => new CraftModel(c));
return View(crafts);
}
// GET: CraftController/Details/5
public ActionResult Details(int id)
{
var craft = _eRPDbContext.Crafts
.FirstOrDefault(c => c.Id == id);
var craftModel = new CraftModel(craft);
return View(craftModel);
}
// GET: CraftController/Create
public ActionResult Create()
{
return View();
}
// POST: CraftController/Create
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(CraftModel model)
{
if (!ModelState.IsValid)
{
return View(model);
}
//var craft = new Craft
//{
// CreatedBy = User.Identity.Name,
// CreatedOn = DateTime.Now
//};
//_eRPDbContext.Crafts.Add(craft);
//_eRPDbContext.SaveChanges();
return RedirectToAction(nameof(Index));
}
// GET: CraftController/AddCraftEmployeePartial
public ActionResult AddCraftEmployeePartial(CraftModel craftModel)
{
return PartialView("~/Views/Craft/_CraftEmployeePartial.cshtml", craftModel);
}
// GET: CraftController/Edit/5
public ActionResult Edit(int id)
{
var craft = _eRPDbContext.Crafts
.FirstOrDefault(c => c.Id == id);
var craftModel = new CraftModel(craft);
return View(craftModel);
}
// POST: CraftController/Edit/5
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit(int id, CraftModel model)
{
if (!ModelState.IsValid)
{
return View(model);
}
var craft = _eRPDbContext.Crafts
.FirstOrDefault(u => u.Id == id);
craft.ChangedBy = User.Identity.Name;
craft.ChangedOn = DateTime.Now;
_eRPDbContext.SaveChanges();
return RedirectToAction(nameof(Index));
}
// POST: CraftController/Delete/5
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Delete(int id, IFormCollection collection)
{
var craft = _eRPDbContext.Crafts
.FirstOrDefault(c => c.Id == id);
_eRPDbContext.Crafts.Remove(craft);
_eRPDbContext.SaveChanges();
return RedirectToAction(nameof(Index));
}
#endregion
}
}