MealPlan почти готово
This commit is contained in:
parent
b969347e3e
commit
642b92bd23
@ -1,6 +1,11 @@
|
|||||||
using DocumentFormat.OpenXml.Wordprocessing;
|
using DocumentFormat.OpenXml.Drawing.Diagrams;
|
||||||
|
using DocumentFormat.OpenXml.Wordprocessing;
|
||||||
|
using HotelBusinessLogic.BusinessLogics;
|
||||||
using HotelContracts.BindingModels;
|
using HotelContracts.BindingModels;
|
||||||
|
using HotelContracts.BusinessLogicsContracts;
|
||||||
|
using HotelContracts.SearchModels;
|
||||||
using HotelContracts.ViewModels;
|
using HotelContracts.ViewModels;
|
||||||
|
using HotelDataModels.Models;
|
||||||
using HotelOrganiserApp.Models;
|
using HotelOrganiserApp.Models;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
@ -11,7 +16,7 @@ namespace HotelOrganiserApp.Controllers
|
|||||||
{
|
{
|
||||||
private readonly ILogger<HomeController> _logger;
|
private readonly ILogger<HomeController> _logger;
|
||||||
|
|
||||||
public HomeController(ILogger<HomeController> logger)
|
public HomeController(ILogger<HomeController> logger)
|
||||||
{
|
{
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
}
|
}
|
||||||
@ -260,11 +265,12 @@ namespace HotelOrganiserApp.Controllers
|
|||||||
{
|
{
|
||||||
return Redirect("~/Home/Enter");
|
return Redirect("~/Home/Enter");
|
||||||
}
|
}
|
||||||
|
ViewBag.Member = APIClient.GetRequest<List<MemberViewModel>>($"api/member/getmemberlist?organiserId={APIClient.Organiser.Id}");
|
||||||
return View();
|
return View();
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public void CreateMealPlan(string mealPlanName, double mealPlanPrice)
|
public void CreateMealPlan(string mealPlanName, double mealPlanPrice, List<int> memberselect)
|
||||||
{
|
{
|
||||||
if (APIClient.Organiser == null)
|
if (APIClient.Organiser == null)
|
||||||
{
|
{
|
||||||
@ -282,13 +288,20 @@ namespace HotelOrganiserApp.Controllers
|
|||||||
{
|
{
|
||||||
throw new Exception("Стоимость не может быть отрицательной");
|
throw new Exception("Стоимость не может быть отрицательной");
|
||||||
}
|
}
|
||||||
APIClient.PostRequest("api/mealplan/createmealplan", new MealPlanBindingModel
|
|
||||||
|
Dictionary<int, IMemberModel> member = new Dictionary<int, IMemberModel>();
|
||||||
|
foreach (int members in memberselect)
|
||||||
|
{
|
||||||
|
member.Add(members, new MemberSearchModel { Id = members } as IMemberModel);
|
||||||
|
}
|
||||||
|
APIClient.PostRequest("api/mealplan/createmealplan", new MealPlanBindingModel
|
||||||
{
|
{
|
||||||
MealPlanName = mealPlanName,
|
MealPlanName = mealPlanName,
|
||||||
MealPlanPrice = mealPlanPrice,
|
MealPlanPrice = mealPlanPrice,
|
||||||
OrganiserId = APIClient.Organiser.Id,
|
OrganiserId = APIClient.Organiser.Id,
|
||||||
});
|
MealPlanMembers = member
|
||||||
Response.Redirect("ListMealPlans");
|
});
|
||||||
|
Response.Redirect("ListMealPlans");
|
||||||
}
|
}
|
||||||
|
|
||||||
public IActionResult UpdateMealPlan()
|
public IActionResult UpdateMealPlan()
|
||||||
@ -298,11 +311,12 @@ namespace HotelOrganiserApp.Controllers
|
|||||||
return Redirect("~/Home/Enter");
|
return Redirect("~/Home/Enter");
|
||||||
}
|
}
|
||||||
ViewBag.MealPlans = APIClient.GetRequest<List<MealPlanViewModel>>($"api/mealplan/getmealplanlist?organiserId={APIClient.Organiser.Id}");
|
ViewBag.MealPlans = APIClient.GetRequest<List<MealPlanViewModel>>($"api/mealplan/getmealplanlist?organiserId={APIClient.Organiser.Id}");
|
||||||
|
ViewBag.Member = APIClient.GetRequest<List<MemberViewModel>>($"api/member/getmemberlist?organiserId={APIClient.Organiser.Id}");
|
||||||
return View();
|
return View();
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public void UpdateMealPlan(int mealPlan, string mealPlanName, double mealPlanPrice)
|
public void UpdateMealPlan(int mealPlan, string mealPlanName, double mealPlanPrice, List<int> memberselect)
|
||||||
{
|
{
|
||||||
if (APIClient.Organiser == null)
|
if (APIClient.Organiser == null)
|
||||||
{
|
{
|
||||||
@ -320,12 +334,18 @@ namespace HotelOrganiserApp.Controllers
|
|||||||
{
|
{
|
||||||
throw new Exception("Стоимость не может быть отрицательной");
|
throw new Exception("Стоимость не может быть отрицательной");
|
||||||
}
|
}
|
||||||
|
Dictionary<int, IMemberModel> member = new Dictionary<int, IMemberModel>();
|
||||||
|
foreach (int members in memberselect)
|
||||||
|
{
|
||||||
|
member.Add(members, new MemberSearchModel { Id = members } as IMemberModel);
|
||||||
|
}
|
||||||
APIClient.PostRequest("api/mealplan/updatemealplan", new MealPlanBindingModel
|
APIClient.PostRequest("api/mealplan/updatemealplan", new MealPlanBindingModel
|
||||||
{
|
{
|
||||||
Id = mealPlan,
|
Id = mealPlan,
|
||||||
MealPlanName = mealPlanName,
|
MealPlanName = mealPlanName,
|
||||||
MealPlanPrice = mealPlanPrice,
|
MealPlanPrice = mealPlanPrice,
|
||||||
OrganiserId = APIClient.Organiser.Id
|
OrganiserId = APIClient.Organiser.Id,
|
||||||
|
MealPlanMembers = member
|
||||||
});
|
});
|
||||||
Response.Redirect("ListMealPlans");
|
Response.Redirect("ListMealPlans");
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,9 @@ using HotelDataBaseImplement.Implemets;
|
|||||||
using HotelOrganiserApp;
|
using HotelOrganiserApp;
|
||||||
|
|
||||||
var builder = WebApplication.CreateBuilder(args);
|
var builder = WebApplication.CreateBuilder(args);
|
||||||
|
builder.Services.AddTransient<IMemberLogic, MemberLogic>();
|
||||||
|
builder.Services.AddTransient<IMealPlanLogic, MealPlanLogic>();
|
||||||
|
builder.Services.AddTransient<IConferenceLogic, ConferenceLogic>();
|
||||||
builder.Services.AddTransient<IReportOrganiserLogic, ReportLogicOrganiser>();
|
builder.Services.AddTransient<IReportOrganiserLogic, ReportLogicOrganiser>();
|
||||||
builder.Services.AddTransient<IMemberStorage, MemberStorage>();
|
builder.Services.AddTransient<IMemberStorage, MemberStorage>();
|
||||||
builder.Services.AddTransient<IMealPlanStorage, MealPlanStorage>();
|
builder.Services.AddTransient<IMealPlanStorage, MealPlanStorage>();
|
||||||
|
@ -1,4 +1,7 @@
|
|||||||
@{
|
@using HotelContracts.ViewModels;
|
||||||
|
@using HotelDataModels.Models;
|
||||||
|
|
||||||
|
@{
|
||||||
ViewData["Title"] = "CreateMealPlan";
|
ViewData["Title"] = "CreateMealPlan";
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -23,6 +26,18 @@
|
|||||||
class="form-control"
|
class="form-control"
|
||||||
step="1" />
|
step="1" />
|
||||||
<br>
|
<br>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-4">Участники:</div>
|
||||||
|
<div class="col-8">
|
||||||
|
<select name="memberselect" class="form-control" multiple size="6" id="memberselect">
|
||||||
|
@foreach (var member in ViewBag.Member)
|
||||||
|
{
|
||||||
|
<option value="@member.Id">@($"{member.MemberSurname} {member.MemberName} {member.MemberPatronymic}")</option>
|
||||||
|
}
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<br>
|
||||||
<div class="u-container-layout u-container-layout-2">
|
<div class="u-container-layout u-container-layout-2">
|
||||||
<input type="submit" value="Сохранить" class="btn btn-outline-dark text-center d-flex justify-content-md-center" />
|
<input type="submit" value="Сохранить" class="btn btn-outline-dark text-center d-flex justify-content-md-center" />
|
||||||
</div>
|
</div>
|
||||||
|
@ -36,28 +36,16 @@
|
|||||||
name="mealPlanPrice"
|
name="mealPlanPrice"
|
||||||
class="form-control" />
|
class="form-control" />
|
||||||
</div>
|
</div>
|
||||||
<div class="u-table u-table-responsive u-table-1">
|
<div class="row">
|
||||||
<label class="u-label u-text-custom-color-1 u-label-1">Участники плана питания</label>
|
<div class="col-4">Участники:</div>
|
||||||
<table class="table">
|
<div class="col-8">
|
||||||
<thead class="thead-dark">
|
<select name="memberselect" class="form-control" multiple size="6" id="memberselect">
|
||||||
<tr style="height: 44px">
|
@foreach (var member in ViewBag.Member)
|
||||||
<th class="u-border-1 u-border-grey-50 u-table-cell">
|
{
|
||||||
Фамилия
|
<option value="@member.Id">@($"{member.MemberSurname} {member.MemberName} {member.MemberPatronymic}")</option>
|
||||||
</th>
|
}
|
||||||
<th class="u-border-1 u-border-grey-50 u-table-cell">
|
</select>
|
||||||
Имя
|
</div>
|
||||||
</th>
|
|
||||||
<th class="u-border-1 u-border-grey-50 u-table-cell">
|
|
||||||
Отчество
|
|
||||||
</th>
|
|
||||||
<th class="u-border-1 u-border-grey-50 u-table-cell">
|
|
||||||
Номер телефона
|
|
||||||
</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody class="u-table-body" id="table-elements">
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="u-align-right u-form-group u-form-submit u-label-top">
|
<div class="u-align-right u-form-group u-form-submit u-label-top">
|
||||||
<div class="col-8"></div>
|
<div class="col-8"></div>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user