Esempio n. 1
0
        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)));
        }
Esempio n. 2
0
        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));
        }
Esempio n. 3
0
        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);
        }