コード例 #1
0
        public HttpResponseMessage GetCreditCustomerId([FromUri] int CustomerId)
        {
            try
            {
                var models   = new List <CreditResponseModel>();
                var customer = _CustomerService.GetCustomer(CustomerId);
                if (customer == null)
                {
                    return(Request.CreateResponse(HttpStatusCode.OK, CommonCls.CreateMessage("error", "Customer not found."), Configuration.Formatters.JsonFormatter));
                }
                var Credits = _CreditService.GetCredits().Where(l => l.CustomerId == CustomerId).ToList();
                if (Credits.Count() > 0)
                {
                    foreach (var Credit in Credits)
                    {
                        Mapper.CreateMap <Friendlier.Entity.Credit, Friendlier.Models.CreditResponseModel>();
                        CreditResponseModel CreditResponseModel = Mapper.Map <Friendlier.Entity.Credit, Friendlier.Models.CreditResponseModel>(Credit);

                        models.Add(CreditResponseModel);
                    }
                    return(Request.CreateResponse(HttpStatusCode.OK, CommonCls.CreateMessage("success", models), Configuration.Formatters.JsonFormatter));
                }
                else
                {
                    return(Request.CreateResponse(HttpStatusCode.OK, CommonCls.CreateMessage("error", "Credit not found."), Configuration.Formatters.JsonFormatter));
                }
            }
            catch (Exception ex)
            {
                string ErrorMsg = ex.Message.ToString();
                ErrorLogging.LogError(ex);
                return(Request.CreateResponse(HttpStatusCode.OK, CommonCls.CreateMessage("error", "User not found."), Configuration.Formatters.JsonFormatter));
            }
        }
コード例 #2
0
        public async Task <ActionResult <MessageModel> > GetPayOffInfo(ClaimsPrincipal currentUser, string username)
        {
            if (currentUser.HasClaim(c => c.Type == "Roles"))
            {
                var userAuthenticate = await dbContext.Users.FirstOrDefaultAsync(x => x.Username == username);

                CreditResponseModel  creditResponseModel = new CreditResponseModel();
                UserAccResponseModel userCredits         = new UserAccResponseModel();

                if (userAuthenticate == null)
                {
                    responseMessage.Message = "User not found!";
                    return(StatusCode(404, responseMessage));
                }
                else
                {
                    ChargeAccount chargeAcc = await dbContext.ChargeAccounts.FirstOrDefaultAsync(x => x.UserId == userAuthenticate.Id);

                    bool hasDeleted = false;
                    foreach (var creditRef in dbContext.Credits.Where(x => x.UserId == userAuthenticate.Id))
                    {
                        var credit = creditRef;
                        if (credit == null)
                        {
                            responseMessage.Message = "You don't have a Credit";
                            return(StatusCode(400, responseMessage));
                        }


                        await GetCreditPayOff(credit, username);

                        if (credit.CreditAmountLeft == 0 && credit.CreditAmount > 0)
                        {
                            CreditRequestModel requestModel = new CreditRequestModel();
                            requestModel.Credit     = credit;
                            requestModel.Username   = username;
                            responseMessage.Message = "You have payed your Credit!";
                            await DeleteCreditFromPayOff(credit, chargeAcc);

                            hasDeleted = true;
                        }
                    }
                    await dbContext.SaveChangesAsync();

                    if (hasDeleted)
                    {
                        responseMessage.Message = ($"Successfully payed montly pay off! Credit payed successfully! The left amount from the  credit is transfered to Bank Account with Iban: {chargeAcc.Iban}");
                        return(StatusCode(200, responseMessage));
                    }
                    responseMessage.Message = "Successfully payed montly pay off!";
                    return(StatusCode(200, responseMessage));
                }
            }

            responseMessage.Message = "You are not autorized to do such actions!";
            return(StatusCode(403, responseMessage));
        }
コード例 #3
0
        public HttpResponseMessage SaveCredit([FromBody] CreditModel CreditModel)
        {
            try
            {
                if (CreditModel.CustomerId == 0)
                {
                    return(Request.CreateResponse(HttpStatusCode.OK, CommonCls.CreateMessage("error", "Customer Id is blank"), Configuration.Formatters.JsonFormatter));
                }
                if (CreditModel.Credits == null || CreditModel.Credits == "")
                {
                    return(Request.CreateResponse(HttpStatusCode.OK, CommonCls.CreateMessage("error", "Credit is blank"), Configuration.Formatters.JsonFormatter));
                }

                var customer = _CustomerService.GetCustomers().Where(c => c.CustomerId == CreditModel.CustomerId).FirstOrDefault();
                if (customer != null)
                {
                    var credits = _CreditService.GetCredits().Where(c => c.CustomerId == CreditModel.CustomerId).FirstOrDefault();
                    if (credits == null)
                    {
                        Mapper.CreateMap <CreditModel, Credit>();
                        var credit = Mapper.Map <CreditModel, Credit>(CreditModel);
                        _CreditService.InsertCredit(credit);
                        Mapper.CreateMap <Credit, CreditResponseModel>();
                        CreditResponseModel CreditResponseModel = Mapper.Map <Credit, CreditResponseModel>(credit);

                        return(Request.CreateResponse(HttpStatusCode.OK, CommonCls.CreateMessage("success", CreditResponseModel), Configuration.Formatters.JsonFormatter));
                    }
                    else
                    {
                        credits.Credits = (CreditModel.Credits != null || CreditModel.Credits != "")?CreditModel.Credits:credits.Credits;
                        _CreditService.UpdateCredit(credits);
                        Mapper.CreateMap <Credit, CreditResponseModel>();
                        CreditResponseModel CreditResponseModel = Mapper.Map <Credit, CreditResponseModel>(credits);

                        return(Request.CreateResponse(HttpStatusCode.OK, CommonCls.CreateMessage("success", CreditResponseModel), Configuration.Formatters.JsonFormatter));
                    }
                }
                else
                {
                    return(Request.CreateResponse(HttpStatusCode.OK, CommonCls.CreateMessage("error", "Customer id is wrong."), Configuration.Formatters.JsonFormatter));
                }
            }
            catch (Exception ex)
            {
                string ErrorMsg = ex.Message.ToString();
                ErrorLogging.LogError(ex);
                return(Request.CreateResponse(HttpStatusCode.OK, CommonCls.CreateMessage("error", "Please try again."), Configuration.Formatters.JsonFormatter));
            }
        }
コード例 #4
0
        public async Task <ActionResult <ICollection <CreditResponseModel> > > GetCreditInfo(ClaimsPrincipal currentUser, string username)
        {
            if (currentUser.HasClaim(c => c.Type == "Roles"))
            {
                var userAuthenticate = await dbContext.Users.FirstOrDefaultAsync(x => x.Username == username);

                var userCredits = dbContext.Credits.Where(x => x.UserId == userAuthenticate.Id).ToList();

                if (userAuthenticate == null)
                {
                    responseMessage.Message = "User not found!";
                    return(StatusCode(404, responseMessage));
                }
                else
                {
                    List <CreditResponseModel> responseModels = new List <CreditResponseModel>();
                    foreach (var creditRef in userCredits)
                    {
                        CreditResponseModel creditResponseModel = new CreditResponseModel();
                        creditResponseModel.IBAN         = creditRef.Iban;
                        creditResponseModel.Amount       = Math.Round(creditRef.Amount, 2);
                        creditResponseModel.Instalment   = creditRef.Instalment;
                        creditResponseModel.CreditAmount = creditRef.CreditAmountLeft;

                        responseModels.Add(creditResponseModel);
                    }

                    if (responseModels.Count > 0)
                    {
                        return(StatusCode(200, responseModels.OrderBy(x => x.IBAN)));
                    }

                    responseMessage.Message = "You don't have a Credit!";
                    return(StatusCode(400, responseMessage));
                }
            }
            return(null);
        }