public IActionResult Create(CreateLineInputModel model) { if (!ModelState.IsValid) { return(RedirectToAction(nameof(Create))); } var result = this.LineService.CreateLine(model); if (!result.HasError) { this.TempData.Put(MessageConstants.Name, new MessageModel { Type = MessageType.Success, Message = result.Message }); } else { this.TempData.Put(MessageConstants.Name, new MessageModel { Type = MessageType.Danger, Message = result.Message }); return(this.RedirectToAction(nameof(Create))); } return(this.RedirectToAction(nameof(Index))); }
public IActionResult Create() { var transportTypes = Enum.GetValues(typeof(TypeTransport)).Cast <TypeTransport>() .Select(x => new SelectListItem { Text = Enum.GetName(typeof(TypeTransport), x), Value = x.ToString() }).ToList(); var model = new CreateLineInputModel { TransportTypes = transportTypes }; return(this.View(model)); }
public BaseModel CreateLine(CreateLineInputModel model) { var hasLineName = this.Db.Lines.Any(x => x.LineName == model.LineName); if (hasLineName) { this.BaseModel.HasError = true; this.BaseModel.Message = string.Format(MessageConstants.HaveLineName, model.LineName); return(this.BaseModel); } if (!Enum.TryParse(model.TypeTransport, out TypeTransport typeTransport)) { this.BaseModel.HasError = true; this.BaseModel.Message = MessageConstants.InvalidTypeTransport; return(this.BaseModel); } var line = new Line { LineName = model.LineName, Type = typeTransport }; try { this.Db.Lines.Add(line); this.Db.SaveChanges(); this.BaseModel.HasError = false; this.BaseModel.Message = MessageConstants.CreateLine; } catch (Exception) { this.BaseModel.HasError = true; this.BaseModel.Message = MessageConstants.NoCreateLine; } return(this.BaseModel); }