Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        public ActionResult AddItem(Guid planGuid)
        {
            var viewModel = new PlanItemViewModel
            {
                PlanGuid = planGuid
            };

            return(View(viewModel));
        }
Ejemplo n.º 3
0
        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!"));
            }
        }