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)); } }
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)); }
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)); } }
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); }