MealPlan почти готово

This commit is contained in:
Анна Забродина 2024-04-29 00:18:57 +04:00
parent b969347e3e
commit 642b92bd23
4 changed files with 59 additions and 33 deletions

View File

@ -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.BusinessLogicsContracts;
using HotelContracts.SearchModels;
using HotelContracts.ViewModels;
using HotelDataModels.Models;
using HotelOrganiserApp.Models;
using Microsoft.AspNetCore.Mvc;
using System.Diagnostics;
@ -11,7 +16,7 @@ namespace HotelOrganiserApp.Controllers
{
private readonly ILogger<HomeController> _logger;
public HomeController(ILogger<HomeController> logger)
public HomeController(ILogger<HomeController> logger)
{
_logger = logger;
}
@ -260,11 +265,12 @@ namespace HotelOrganiserApp.Controllers
{
return Redirect("~/Home/Enter");
}
ViewBag.Member = APIClient.GetRequest<List<MemberViewModel>>($"api/member/getmemberlist?organiserId={APIClient.Organiser.Id}");
return View();
}
[HttpPost]
public void CreateMealPlan(string mealPlanName, double mealPlanPrice)
public void CreateMealPlan(string mealPlanName, double mealPlanPrice, List<int> memberselect)
{
if (APIClient.Organiser == null)
{
@ -282,13 +288,20 @@ namespace HotelOrganiserApp.Controllers
{
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,
MealPlanPrice = mealPlanPrice,
OrganiserId = APIClient.Organiser.Id,
});
Response.Redirect("ListMealPlans");
MealPlanPrice = mealPlanPrice,
OrganiserId = APIClient.Organiser.Id,
MealPlanMembers = member
});
Response.Redirect("ListMealPlans");
}
public IActionResult UpdateMealPlan()
@ -298,11 +311,12 @@ namespace HotelOrganiserApp.Controllers
return Redirect("~/Home/Enter");
}
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();
}
[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)
{
@ -320,12 +334,18 @@ namespace HotelOrganiserApp.Controllers
{
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
{
Id = mealPlan,
MealPlanName = mealPlanName,
MealPlanPrice = mealPlanPrice,
OrganiserId = APIClient.Organiser.Id
OrganiserId = APIClient.Organiser.Id,
MealPlanMembers = member
});
Response.Redirect("ListMealPlans");
}

View File

@ -7,6 +7,9 @@ using HotelDataBaseImplement.Implemets;
using HotelOrganiserApp;
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<IMemberStorage, MemberStorage>();
builder.Services.AddTransient<IMealPlanStorage, MealPlanStorage>();

View File

@ -1,4 +1,7 @@
@{
@using HotelContracts.ViewModels;
@using HotelDataModels.Models;
@{
ViewData["Title"] = "CreateMealPlan";
}
@ -23,6 +26,18 @@
class="form-control"
step="1" />
<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">
<input type="submit" value="Сохранить" class="btn btn-outline-dark text-center d-flex justify-content-md-center" />
</div>

View File

@ -36,28 +36,16 @@
name="mealPlanPrice"
class="form-control" />
</div>
<div class="u-table u-table-responsive u-table-1">
<label class="u-label u-text-custom-color-1 u-label-1">Участники плана питания</label>
<table class="table">
<thead class="thead-dark">
<tr style="height: 44px">
<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>
<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 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>
<div class="u-align-right u-form-group u-form-submit u-label-top">
<div class="col-8"></div>