public ICollection <string> ValidateCardCreation(CreateCardViewModel model) { var errors = new List <string>(); if (model.Name.Length < 5 || model.Name.Length > 15) { errors.Add($"Card name '{model.Name}' must be between 5 and 15 characters long."); } if (string.IsNullOrWhiteSpace(model.Image)) { errors.Add($"Invalid card image url."); } if (string.IsNullOrWhiteSpace(model.Keyword)) { errors.Add($"Invalid keyword."); } if (model.Attack < 0) { errors.Add($"Attack cannot be negative."); } if (model.Health < 0) { errors.Add($"Health cannot be negative."); } return(errors); }
public List <string> CreateCard(CreateCardViewModel model, string userId) { ICollection <string> errorsModel = this.Validator.ValidateModel(model); if (errorsModel.ToList().Count != 0) { return(errorsModel.ToList()); } if (this.CardAlreadyExist(model.Name)) { errorsModel.Add("Card with That Name Already Exists"); return(errorsModel.ToList()); } var card = new Card { Name = model.Name, Attack = model.Attack, Health = model.Health, ImageUrl = model.Image, Description = model.Description, Keyword = model.Keyword, }; this.Data.Cards.Add(card); this.Data.SaveChanges(); return(errorsModel.ToList()); }
public HttpResponse Add(CreateCardViewModel model) { var modelErrors = this.validator.ValidateCardCreation(model); if (modelErrors.Any()) { return(Error(modelErrors)); } var card = new Card { Name = model.Name, ImageUrl = model.Image, Keyword = model.Keyword, Attack = model.Attack, Health = model.Health, Description = model.Description }; this.data.Cards.Add(card); var userCard = new UserCard { UserId = User.Id, CardId = card.Id }; this.data.UserCards.Add(userCard); this.data.SaveChanges(); return(Redirect("/Cards/All")); }
public HttpResponse Add(CreateCardViewModel model) { var errorsModel = this.validator.ValidateCard(model); if (errorsModel.Any()) { return(Redirect("/Cards/Add")); } var card = new Card { Name = model.Name, ImageUrl = "f",//model.ImageUrl, Keyword = model.Keyword, Attack = model.Attack, Health = model.Health, Description = model.Description }; this.context.Cards.Add(card); this.context.SaveChanges(); return(Redirect("/Cards/All")); }
public HttpResponse Add(CreateCardViewModel model) { if (!User.IsAuthenticated) { return(Redirect("/Users/Login")); } var checkForErrors = CardsService.CreateCard(model, this.User.Id); if (checkForErrors.Count != 0) { return(Error(checkForErrors)); } return(Redirect("/Cards/All")); }
public IHttpActionResult CreateNewCard(CreateCardViewModel vm) { if (!ModelState.IsValid) { return(BadRequest("Invalid View Model")); } try { var dbCardEntity = Mapper.Map <Card>(vm); int id = _cardRepository.Add(dbCardEntity); var createdDbCard = _cardRepository.GetById(id); return(Ok(createdDbCard)); } catch (Exception e) { _logger.Error("Could not create card. Exception Message: " + e.Message); return(BadRequest("Could not update card's status")); } }
public ICollection <string> ValidateCard(CreateCardViewModel model) { var errors = new List <string>(); if (model.Name.Length < MinLengthCardName || model.Name.Length > MaxLengthCardName) { errors.Add($"Card name have to be between {MinLengthCardName} and {MaxLengthCardName} characters."); } if (model.Description.Length > MaxLengthCardDescription) { errors.Add($"Card name cannot be longer than {MaxLengthCardDescription} characters."); } if (string.IsNullOrWhiteSpace(model.Name) || string.IsNullOrWhiteSpace(model.Description) || string.IsNullOrWhiteSpace(model.Attack.ToString()) || string.IsNullOrWhiteSpace(model.Health.ToString()) ) { errors.Add("Some field from form is empty;"); } //if (!Uri.IsWellFormedUriString(model.ImageUrl, UriKind.Absolute)) //{ // errors.Add($"Image {model.ImageUrl} is not a valid URL."); //} return(errors); }
public ActionResult Create(CreateCardViewModel createCard) { return(View(createCard)); }