private int AddInstruction(InstructionEditViewModel model) { Instruction instruction = CreateInstruction(model); _context.Instructions.Add(instruction); _context.SaveChanges(); return(instruction.Id); }
private InstructionEditViewModel Update(InstructionEditViewModel model) { if (model.ChangeStepsCount == -1) { model.Steps.RemoveAt(model.Steps.Count - 1); } if (model.ChangeStepsCount == 1) { model.Steps.Add(new StepEditViewModel()); } model.ChangeStepsCount = 0; return(model); }
private int UpdateInstruction(InstructionEditViewModel model) { Instruction instruction = _context.Instructions.Include(a => a.Steps).Include(a => a.Category).FirstOrDefault(x => x.Id == model.Id); if (instruction != null) { _context.Remove(instruction); _context.SaveChanges(); instruction = CreateInstruction(model); _context.Instructions.Add(instruction); _context.SaveChanges(); } return(instruction.Id); }
private InstructionEditViewModel CreateInstructionModel(Instruction instruction) { List <StepEditViewModel> stepList = new List <StepEditViewModel>(); instruction.Steps.ToList().ForEach(step => stepList.Add(CreateStepViewModel(step))); InstructionEditViewModel model = new InstructionEditViewModel() { Id = instruction.Id, AuthorId = instruction.ApplicationUserId, Name = instruction.Name, Category = instruction.Category, Description = instruction.Description, Image = instruction.Image, Steps = stepList }; return(model); }
private Instruction CreateInstruction(InstructionEditViewModel model) { List <Step> stepList = new List <Step>(); model.Steps.ForEach(step => stepList.Add(CreateStep(step))); Instruction instruction = new Instruction() { Name = model.Name, CategoryId = model.Category.Id, Description = model.Description, Image = model.Image, UpdateDate = DateTime.Now, ApplicationUserId = model.AuthorId, Steps = stepList }; return(instruction); }
public ActionResult Edit(string userId, int?id, InstructionEditViewModel model) { ViewBag.Categories = new SelectList(_context.Categories, "Id", "Name"); if (model.ChangeStepsCount != 0) { return(View(Update(model))); } if (ModelState.IsValid) { int temp_id; if (model.Id == 0) { temp_id = AddInstruction(model); } else { temp_id = UpdateInstruction(model); } return(RedirectToAction("Index", "Instruction", new { id = temp_id })); } return(View(model)); }
public ActionResult Edit(string userId, int?id) { InstructionEditViewModel model; if (id == null) { model = new InstructionEditViewModel() { AuthorId = userId, Steps = new List <StepEditViewModel> { new StepEditViewModel() } }; } else { Instruction instruction = _context.Instructions.Include(a => a.Steps).Include(a => a.Category).Single(i => i.Id == id); instruction.Steps.OrderBy(i => i.Index); model = CreateInstructionModel(instruction); } ViewBag.Categories = new SelectList(_context.Categories, "Id", "Name"); return(View(model)); }