public async Task <ActionResult> EditItem(Guid planGuid, string itemId) { var item = await PlanProvider.GetItem(planGuid, itemId); var viewModel = new PlanItemViewModel(planGuid, item); return(View(viewModel)); }
public ActionResult AddItem(Guid planGuid) { var viewModel = new PlanItemViewModel { PlanGuid = planGuid }; return(View(viewModel)); }
public async Task <ActionResult> EditItem(PlanItemViewModel viewModel) { if (!ModelState.IsValid) { return(View(viewModel)); } var draftPlanItemDTO = viewModel.ToDTO(); await PlanProvider.EditItem(viewModel.PlanGuid, draftPlanItemDTO); return(RedirectToAction("Items", new { planGuid = viewModel.PlanGuid })); }
public IActionResult Get([FromHeader] string yearString, [FromHeader] string monthString) { try { var yearMonthPair = new YearMonthPair(yearString, monthString); var planItems = repository.GetPlanItems(yearMonthPair.StartDate, yearMonthPair.EndDate).ToList(); var startDate = yearMonthPair.StartDate; var endDate = yearMonthPair.EndDate; var mappedResult = new List <PlanItemViewModel>(); while (startDate <= endDate) { var planItemViewModel = new PlanItemViewModel(startDate); foreach (var planItem in planItems.Where(p => p.Date == startDate && p.Engineer != null).ToList()) { planItemViewModel .SetEngineer( planItem.DayPart, planItem.EngineerId, planItem.Engineer.FirstName, planItem.Engineer.LastName); } mappedResult.Add(planItemViewModel); startDate = startDate.AddDays(1); } return(Ok(mappedResult)); } catch (Exception ex) { logger.LogError($"Failed to generate plan: {ex}"); return(BadRequest("Failed to generate plan!")); } }