public async Task <IActionResult> OnPostAsync(int?id, string name = "") { if (id == null) { return(NotFound()); } AddPointViewModel.ClientCardName = name; if (ModelState.IsValid) { var user = await _db.AplicationUsers.FirstOrDefaultAsync(u => u.Cpf == AddPointViewModel.Cpf); if (user != null) { AddPointViewModel.ClientCard = await _db.ClientCards .Include(u => u.LoyaltyCard) .AsNoTracking() .FirstOrDefaultAsync(u => u.AplicationUserId == user.Id && u.LoyaltyCardId == id.Value); if (AddPointViewModel.ClientCard != null) { AddPointViewModel.ClientCard.AplicationUser = user; } else { //Subscribe user to card and give point ClientCards clientCards = new ClientCards { AplicationUserId = user.Id, LoyaltyCardId = id.Value, Points = 1 }; await _db.ClientCards.AddAsync(clientCards); await _db.SaveChangesAsync(); AddPointViewModel.Message = new Message { MessageType = Message.Type.Successful, Text = "User has been subcribed to this Loyalty Card and has been given a point" }; } } else { AddPointViewModel.Message = new Message { MessageType = Message.Type.Error, Text = "Could not Find the user with the Cpf: " + AddPointViewModel.Cpf }; } } return(Page()); }
public void DeleteCard() //Удаление карточки { int choise = ConsoleWriteAndRead.ChoiseCard(this); //Вывод списка карт и выбор необходимой if (choise == 0) { return; } else if (ClientCards[choise - 1].CardBalance < 0) //Если отрицательный баланс { ConsoleWriteAndRead.NegativeBalance(this); } else { ClientCards.RemoveAt(choise - 1); } }
public async Task <IActionResult> OnGetAsync(string userid, int?cardid) { if (userid == null || !cardid.HasValue) { return(NotFound("Error, userid or cardid not found!")); } ClientCard = new ClientCards(); var card = await _db.ClientCards .Include(c => c.LoyaltyCard) .FirstOrDefaultAsync(c => c.AplicationUserId == userid && c.LoyaltyCardId == cardid.Value); //Generate a voucher code if the points has reached the total points required if (card.Points == card.LoyaltyCard.TotalPoints && card.VoucherCode == null) { card.VoucherCode = new VoucherCode().Generate(); await _db.SaveChangesAsync(); } ClientCard = card; return(Page()); }
public void AddCardToList(Card card) //Добавление новой карты { ClientCards.Add(card); ConsoleWriteAndRead.SuccessAddCard(); //Вывод сообщения успешности }