public async Task <IActionResult> Create(ProductsPlansViewModel productsPlansViewModel) { DayPlan dayPlans = _context.DayPlans.Where(d => d.Date.Equals(productsPlansViewModel.Date)).FirstOrDefault(); if (dayPlans == null) { _context.DayPlans.Add(new DayPlan { Date = productsPlansViewModel.Date }); await _context.SaveChangesAsync(); dayPlans = _context.DayPlans.Where(d => d.Date.Equals(productsPlansViewModel.Date)).FirstOrDefault(); } ProductsPlan productsPlan = productsPlansViewModel.ProductsPlan; productsPlan.DayPlanId = dayPlans.DayPlanId; if (ModelState.IsValid) { _context.Add(productsPlan); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["DayPlanId"] = new SelectList(_context.DayPlans, "DayPlanId", "Date"); ViewData["ProductId"] = new SelectList(_context.Products, "ProductId", "ProductName"); return(View(productsPlan)); }
public async Task <IActionResult> Edit(int id, ProductsPlansViewModel productsPlansViewModel) { if (id != productsPlansViewModel.ProductsPlan.ProductPlan) { return(NotFound()); } DayPlan dayPlans = _context.DayPlans.Where(d => d.Date.Equals(productsPlansViewModel.Date)).FirstOrDefault(); if (dayPlans == null) { _context.DayPlans.Add(new DayPlan { Date = productsPlansViewModel.Date }); await _context.SaveChangesAsync(); dayPlans = _context.DayPlans.Where(d => d.Date.Equals(productsPlansViewModel.Date)).FirstOrDefault(); } ProductsPlan productsPlan = productsPlansViewModel.ProductsPlan; productsPlan.DayPlanId = dayPlans.DayPlanId; if (ModelState.IsValid) { try { _context.Update(productsPlan); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ProductsPlanExists(productsPlan.ProductPlan)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["DayPlanId"] = new SelectList(_context.DayPlans, "DayPlanId", "Date"); ViewData["ProductId"] = new SelectList(_context.Products, "ProductId", "ProductName"); return(View(productsPlan)); }