コード例 #1
0
        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());
        }
コード例 #2
0
ファイル: Client.cs プロジェクト: PaShkadun/BankSystem
        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);
            }
        }
コード例 #3
0
        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());
        }
コード例 #4
0
ファイル: Client.cs プロジェクト: PaShkadun/BankSystem
 public void AddCardToList(Card card) //Добавление новой карты
 {
     ClientCards.Add(card);
     ConsoleWriteAndRead.SuccessAddCard(); //Вывод сообщения успешности
 }