예제 #1
0
        public async Task <ActionResult <DepositResponseModel> > GetDividentsInfo(ClaimsPrincipal currentUser, string username)
        {
            if (currentUser.HasClaim(c => c.Type == "Roles"))
            {
                var userAuthenticate = await dbContext.Users.FirstOrDefaultAsync(x => x.Username == username);

                DepositResponseModel depositResponseModel = new DepositResponseModel();
                UserAccResponseModel userDeposits         = new UserAccResponseModel();
                DividentValidation   dividentService      = new DividentValidation();

                if (userAuthenticate == null)
                {
                    responseMessage.Message = "User not found";
                    return(StatusCode(404, responseMessage));
                }
                else
                {
                    bool isChecked = false;
                    foreach (var depositRef in dbContext.Deposits.Where(x => x.UserId == userAuthenticate.Id))
                    {
                        await dividentService.GetDividentPayment(depositRef);

                        isChecked = true;
                    }
                    if (isChecked)
                    {
                        responseMessage.Message = "Check susscessfull";
                        return(StatusCode(200, depositResponseModel));
                    }
                    else
                    {
                        responseMessage.Message = "You don't have a Deposit!";
                        return(StatusCode(400, responseMessage));
                    }
                }
            }
            else
            {
                responseMessage.Message = "You are not authorized to do such actions";
                return(StatusCode(403, responseMessage));
            }
        }
예제 #2
0
        public async Task <ActionResult <ICollection <DepositResponseModel> > > GetDepositsInfo(ClaimsPrincipal currentUser, string username)
        {
            if (currentUser.HasClaim(c => c.Type == "Roles"))
            {
                var userAuthenticate = await dbContext.Users.FirstOrDefaultAsync(x => x.Username == username);

                List <DepositResponseModel> userDeposits = new List <DepositResponseModel>();


                if (userAuthenticate == null)
                {
                    responseMessage.Message = "User not found";
                    return(StatusCode(404, responseMessage));
                }
                else
                {
                    foreach (var depositRef in dbContext.Deposits.Where(x => x.UserId == userAuthenticate.Id))
                    {
                        var deposit = depositRef;
                        DepositResponseModel depositResponseModel = new DepositResponseModel();
                        depositResponseModel.IBAN        = deposit.Iban;
                        depositResponseModel.Amount      = deposit.Amount;
                        depositResponseModel.Divident    = deposit.Divident;
                        depositResponseModel.PaymentDate = deposit.PaymentDate;
                        userDeposits.Add(depositResponseModel);
                    }
                    if (userDeposits.Count > 0)
                    {
                        return(StatusCode(200, userDeposits.OrderBy(x => x.IBAN)));
                    }
                    responseMessage.Message = "You don't have a Deposit!";
                    return(StatusCode(400, responseMessage));
                }
            }
            else
            {
                responseMessage.Message = "You are not authorized to do such actions";
                return(StatusCode(403, responseMessage));
            }
        }