using CaseAccountingContracts.BindingModels; using CaseAccountingContracts.ViewModels; using CaseAccountingDataModels.Models; using Microsoft.AspNetCore.Mvc; namespace CaseAccountingProviderView.Controllers { public class DealController : Controller { public IActionResult Create() { if (APIUser.User == null) { return Redirect("~/Home/Enter"); } return View(); } [HttpPost] public void Create([FromBody] DealBindingModel dealModel) { if (APIUser.User == null) { throw new Exception("403"); } dealModel.UserId = APIUser.User.Id; var dict = new Dictionary(); foreach (var element in dealModel.CaseViewModels) { var caseModel = APIUser.GetRequest($"api/case/get?id={element.Id}"); dict.Add(element.Id, caseModel); } dealModel.Cases = dict; APIUser.PostRequest("api/deal/create", dealModel); Response.Redirect("/Home/Deals"); } public IActionResult Update(int id) { if (APIUser.User == null) { return Redirect("~/Home/Enter"); } ViewBag.Deal = APIUser.GetRequest($"api/deal/get?id={id}"); return View(); } [HttpPost] public void Update([FromBody] DealBindingModel dealModel) { if (APIUser.User == null) { throw new Exception("403"); } dealModel.UserId = APIUser.User.Id; var contractdict = new Dictionary(); foreach (var element in dealModel.ContractViewModels) { var contractModel = APIUser.GetRequest($"api/contract/get?id={element.Id}"); contractdict.Add(element.Id, contractModel); } dealModel.Contracts = contractdict; APIUser.PostRequest("api/deal/update", dealModel); Response.Redirect("/Home/Deals"); } public IActionResult AddDeal(int id) { if (APIUser.User == null) { return Redirect("~/Home/Enter"); } ViewBag.DealId = id; return View(); } [HttpPost] public void AddDeal([FromBody] DealBindingModel dealModel) { if (APIUser.User == null) { throw new Exception("403"); } APIUser.PostRequest("api/deal/update", dealModel); } public IActionResult Bind(int id) { if (APIUser.User == null) { return Redirect("~/Home/Enter"); } ViewBag.Deal = APIUser.GetRequest($"api/deal/get?id={id}"); return View(); } [HttpPost] public void Bind([FromBody] DealBindingModel dealModel) { if (APIUser.User == null) { throw new Exception("403"); } APIUser.PostRequest("api/deal/update", dealModel); } [HttpPost] public void Delete(int id) { if (APIUser.User == null) { throw new Exception("403"); } APIUser.PostRequest($"api/deal/delete", new DealBindingModel() { Id = id }); Response.Redirect("/Home/Deals"); } public List GetAllByUser() { if (APIUser.User == null) { return new(); } List? dealModel = APIUser.GetRequest>($"api/deal/getallbyuser?userId={APIUser.User.Id}"); return dealModel ?? new(); } public DealViewModel? Get(int id) { if (APIUser.User == null) { return new(); } DealViewModel? dealModel = APIUser.GetRequest($"api/deal/get?id={id}"); return dealModel; } public List GetAllContracts() { if (APIUser.User == null) { return new(); } List? contractModel = APIUser.GetRequest>($"api/deal/getallcontracts"); return contractModel ?? new(); } } }