public SettlementResponse Post(SettlementRequest req) { SettlementResponse response; string defaultProtocol = FondyConfig.Protocol; string defaultContentType = FondyConfig.ContentType; FondyConfig.ContentType = "json"; FondyConfig.Protocol = "2.0"; req.merchant_id = FondyConfig.MerchantId; req.order_type = "settlement"; try { response = Client.Invoke <SettlementRequest, SettlementResponse>(req, req.ActionUrl); } catch (ClientException c) { response = new SettlementResponse { Error = c }; } if (response.data != null && FondyConfig.Protocol == "2.0") { FondyConfig.Protocol = defaultProtocol; FondyConfig.ContentType = defaultContentType; return(JsonFormatter.ConvertFromJson <SettlementResponse>(response.data, true, "order")); } return(response); }
public async Task<SettlementResponse> GetSettlement(String accessToken, Guid estateId, Guid? merchantId, Guid settlementId, CancellationToken cancellationToken) { SettlementResponse response = null; String requestUri = this.BuildRequestUrl($"/api/estates/{estateId}/settlements/{settlementId}?merchantId={merchantId}"); try { // Add the access token to the client headers this.HttpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken); // Make the Http Call here HttpResponseMessage httpResponse = await this.HttpClient.GetAsync(requestUri, cancellationToken); // Process the response String content = await this.HandleResponse(httpResponse, cancellationToken); // call was successful so now deserialise the body to the response object response = JsonConvert.DeserializeObject<SettlementResponse>(content); } catch(Exception ex) { // An exception has occurred, add some additional information to the message Exception exception = new Exception($"Error getting settlement id {settlementId} for estate [{estateId}]"); throw exception; } return response; }
public async Task <SettlementResponse> GetSettlementAsync(int id) { SettlementResponse settlement = new SettlementResponse(); var sData = await _Context.Settlement.SingleOrDefaultAsync(c => c.SettlementId == id); settlement.Id = sData.SettlementId; var Pname = await _Context.User.SingleOrDefaultAsync(c => c.UserId == sData.PayerId); settlement.Payer = Pname.UserName; var Rname = await _Context.User.SingleOrDefaultAsync(c => c.UserId == sData.SharedMemberId); settlement.Receiver = Rname.UserName; if (sData.GroupId != null) { var Gname = await _Context.Group.SingleOrDefaultAsync(c => c.GroupId == sData.GroupId); settlement.GroupName = Gname.GroupName; } settlement.Amount = sData.TotalAmount; return(settlement); }
private int InsertDummySettlement() { JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer(); SettlementResponse settlementResponse = new SettlementResponse(); //Test insert Settlement settlement = new Settlement(); settlement.CicleId = 1; //Assume we have a cicle with ID 1 settlement.ProducerId = 1; //Assume we have a producer with ID 1 settlement.CashAdvancesTotal = 1000; settlement.Date = DateTime.Now; settlement.CreditsTotal = 2000; settlement.Paid = false; settlement.WeightTicketsTotal = 2500; settlement.Total = 5000; settlement.User = "******"; //Assume we have a user with this ID settlement.WeightTicketsIds = new System.Collections.ObjectModel.Collection <int>() { 1 }; string jsonSettlement = javaScriptSerializer.Serialize(settlement); HttpClient client = new HttpClient(); client.BaseAddress = new Uri(baseUrl); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.access_token); HttpResponseMessage response = client.PostAsJsonAsync(insertAction, settlement).Result; Assert.IsTrue(response.IsSuccessStatusCode); settlementResponse = response.Content.ReadAsAsync <SettlementResponse>().Result; Assert.IsTrue(settlementResponse.Success); return(settlementResponse.Settlement.Id); }
public IHttpActionResult Add(Settlement settlement) { SettlementResponse response = new SettlementResponse(); try { settlement.User = CurrentUserId; Settlement settlementSaved = settlementBL.InsertSettlement(settlement); response.Settlement = settlementSaved; response.Success = true; } catch (SettlementException ex) { response.ErrorCode = ex.Error; response.ErrorMessage = "Error. " + ex.Error.ToString(); response.Settlement = null; response.Success = false; } catch (Exception ex) { response.ErrorMessage = "Error. " + ex.Message; response.Settlement = null; response.Success = false; } return(Ok(response)); }
public void Create_Instant_Wallet_Settlement() { var request = new CreateInstantWalletSettlementRequest(); SettlementResponse response = _craftgateClient.Settlement().CreateInstantWalletSettlement(request); Assert.NotNull(response.SettlementResultStatus); }
public void ModelFactory_ConvertFrom_SettlementModel_ModelIsNull_ModelConverted() { ModelFactory factory = new ModelFactory(); SettlementModel model = null; SettlementResponse response = factory.ConvertFrom(model); response.ShouldBeNull(); }
public void TestAddAndRemovePayment() { JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer(); SettlementPayment payment = new SettlementPayment(); int settlementId = InsertDummySettlement(); payment.SettlementId = settlementId; payment.Description = "Test description"; payment.CheckOrVoucher = "101"; payment.Date = DateTime.Now; payment.PaymentType = PaymentType.Cash; payment.Total = 100; payment.User = "******"; //Assume we have a user with this ID string jsonSettlement = javaScriptSerializer.Serialize(payment); HttpClient client = new HttpClient(); client.BaseAddress = new Uri(baseUrl); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.access_token); SettlementPaymentResponse settlementPaymentResponse = new SettlementPaymentResponse(); //Add payment HttpResponseMessage response = client.PostAsJsonAsync(insertPaymentAction, payment).Result; Assert.IsTrue(response.IsSuccessStatusCode); settlementPaymentResponse = response.Content.ReadAsAsync <SettlementPaymentResponse>().Result; Assert.IsTrue(settlementPaymentResponse.Success); Assert.IsTrue(settlementPaymentResponse.Payment.Id > 0); //Get payments for settlement GetSettlementPaymentResponse getSettlementPaymentResponse = new GetSettlementPaymentResponse(); string getAction = string.Format("{0}?settlementId={1}", getPaymentsAction, settlementId); response = client.GetAsync(getAction).Result; Assert.IsTrue(response.IsSuccessStatusCode); getSettlementPaymentResponse = response.Content.ReadAsAsync <GetSettlementPaymentResponse>().Result; Assert.IsTrue(getSettlementPaymentResponse.Success); Assert.IsTrue(getSettlementPaymentResponse.Payments.Count > 0); //Remove all payments //Test delete response = client.PostAsJsonAsync(removePaymentsAction, new IdModel(settlementId)).Result; Assert.IsTrue(response.IsSuccessStatusCode); settlementPaymentResponse = response.Content.ReadAsAsync <SettlementPaymentResponse>().Result; Assert.IsTrue(settlementPaymentResponse.Success); //Get payments, expecting 0 getSettlementPaymentResponse = new GetSettlementPaymentResponse(); response = client.GetAsync(getAction).Result; Assert.IsTrue(response.IsSuccessStatusCode); getSettlementPaymentResponse = response.Content.ReadAsAsync <GetSettlementPaymentResponse>().Result; Assert.IsTrue(getSettlementPaymentResponse.Success); Assert.IsTrue(getSettlementPaymentResponse.Payments.Count == 0); //delete the dummy settlement response = client.PostAsJsonAsync(deleteAction, new IdModel(settlementId)).Result; Assert.IsTrue(response.IsSuccessStatusCode); SettlementResponse settlementResponse = response.Content.ReadAsAsync <SettlementResponse>().Result; Assert.IsTrue(response.IsSuccessStatusCode); }
public void ModelFactory_ConvertFrom_SettlementModel_ModelConverted() { ModelFactory factory = new ModelFactory(); SettlementResponse response = factory.ConvertFrom(TestData.SettlementModel); response.ShouldSatisfyAllConditions(r => r.SettlementDate.ShouldBe(TestData.SettlementModel.SettlementDate), r => r.SettlementId.ShouldBe(TestData.SettlementModel.SettlementId), r => r.NumberOfFeesSettled.ShouldBe(TestData.SettlementModel.NumberOfFeesSettled), r => r.ValueOfFeesSettled.ShouldBe(TestData.SettlementModel.ValueOfFeesSettled), r => r.IsCompleted.ShouldBe(TestData.SettlementModel.IsCompleted), r => r.SettlementFees.Count.ShouldBe(TestData.SettlementModel.SettlementFees.Count)); }
private void DoRequest(SettlementRequest req) { var resp = new Settlement().Post(req); if (resp.Error != null) { DataError = resp.Error.ErrorMessage; RequestId = resp.Error.RequestId; } else { Data = resp; } }
public async Task <List <SettlementResponse> > GetGroupSettlementAsync(int Groupid) { List <SettlementResponse> settlements = new List <SettlementResponse>(); var sData = await _Context.Settlement.Where(c => c.GroupId == Groupid).ToListAsync(); for (var i = 0; i < sData.Count; i++) { var settle = new SettlementResponse(); settle = await GetSettlementAsync(sData[i].SettlementId); settlements.Add(settle); } return(settlements); }
public async Task <List <SettlementResponse> > GetAllSettlementAsync(int id) { List <SettlementResponse> settlements = new List <SettlementResponse>(); var sData = await _Context.Settlement.Where(c => c.PayerId == id || c.SharedMemberId == id).ToListAsync(); for (var i = 0; i < sData.Count; i++) { var settle = new SettlementResponse(); settle = await GetSettlementAsync(sData[i].SettlementId); settlements.Add(settle); } return(settlements); }
public void TestClient() { SettlementResponse newResponse = new SettlementResponse(); newResponse.SettlementId = "ABCD1234"; newResponse.OrderId = "DEFG5678"; newResponse.CreatedAt = "2038-01-19T03:14:07.000Z"; newResponse.ExpiresAt = "2038-01-27T03:14:07.000Z"; VirtualCardSettlement casted = newResponse; Assert.True(casted.SettlementId.Equals("ABCD1234")); Assert.True(casted.OrderId.Equals("DEFG5678")); Assert.True(casted.CreatedAt.Equals("2038-01-19T03:14:07.000Z")); Assert.True(casted.ExpiresAt.Equals("2038-01-27T03:14:07.000Z")); }
public async Task <List <SettlementResponse> > GetSettlementAsync(int Userid, int Friendid) { //return await _Context.Settlement.Where(c => (c.PayerId == Userid && c.SharedMemberId == Friendid)||(c.PayerId == Friendid && c.SharedMemberId == Userid)).ToListAsync(); List <SettlementResponse> settlements = new List <SettlementResponse>(); var sData = await _Context.Settlement.Where(c => (c.PayerId == Userid && c.SharedMemberId == Friendid) || (c.PayerId == Friendid && c.SharedMemberId == Userid)).ToListAsync(); for (var i = 0; i < sData.Count; i++) { var settle = new SettlementResponse(); settle = await GetSettlementAsync(sData[i].SettlementId); settlements.Add(settle); } return(settlements); }
public SettlementResponse ConvertFrom(SettlementModel model) { if (model == null) { return(null); } SettlementResponse response = new SettlementResponse { SettlementDate = model.SettlementDate, IsCompleted = model.IsCompleted, NumberOfFeesSettled = model.NumberOfFeesSettled, SettlementId = model.SettlementId, ValueOfFeesSettled = model.ValueOfFeesSettled, }; model.SettlementFees.ForEach(f => response.SettlementFees.Add(this.ConvertFrom(f))); return(response); }
public IHttpActionResult Delete(IdModel id) { SettlementResponse response = new SettlementResponse(); try { bool success = settlementBL.DeleteSettlement(id.Id); response.Success = success; } catch (SettlementException ex) { response.ErrorCode = ex.Error; response.ErrorMessage = "Error. " + ex.Error.ToString(); response.Settlement = null; response.Success = false; } catch (Exception ex) { response.ErrorMessage = "Error. " + ex.Message; response.Settlement = null; response.Success = false; } return(Ok(response)); }
public void TestInsertUpdateGetAndDeleteSettlement() { JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer(); SettlementResponse settlementResponse = new SettlementResponse(); //Test insert Settlement settlement = new Settlement(); settlement.CicleId = 1; //Assume we have a cicle with ID 1 settlement.ProducerId = 1; //Assume we have a producer with ID 1 settlement.CashAdvancesTotal = 1000; settlement.Date = DateTime.Now; settlement.CreditsTotal = 2000; settlement.Paid = false; settlement.WeightTicketsTotal = 2500; settlement.Total = 5000; settlement.User = "******"; //Assume we have a user with this ID settlement.WeightTicketsIds = new System.Collections.ObjectModel.Collection <int>() { 1 }; string jsonSettlement = javaScriptSerializer.Serialize(settlement); HttpClient client = new HttpClient(); client.BaseAddress = new Uri(baseUrl); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.access_token); HttpResponseMessage response = client.PostAsJsonAsync(insertAction, settlement).Result; Assert.IsTrue(response.IsSuccessStatusCode); settlementResponse = response.Content.ReadAsAsync <SettlementResponse>().Result; Assert.IsTrue(settlementResponse.Success); //Test update settlement = settlementResponse.Settlement; settlement.Paid = true; response = client.PostAsJsonAsync(updateAction, settlement).Result; Assert.IsTrue(response.IsSuccessStatusCode); settlementResponse = response.Content.ReadAsAsync <SettlementResponse>().Result; Assert.IsTrue(settlementResponse.Success); //TODO VERIFY TICKETS CHANGED PAID STATUS //Test get all GetSettlementResponse getSettlementResponse = new GetSettlementResponse(); response = client.GetAsync(getAllAction).Result; Assert.IsTrue(response.IsSuccessStatusCode); getSettlementResponse = response.Content.ReadAsAsync <GetSettlementResponse>().Result; Assert.IsTrue(getSettlementResponse.Success); Assert.IsTrue(getSettlementResponse.Settlements.Count > 0); //Test get by Id string getByIdUrl = string.Format("{0}?id={1}", getByIdAction, settlement.Id.ToString()); response = client.GetAsync(getByIdUrl).Result; Assert.IsTrue(response.IsSuccessStatusCode); getSettlementResponse = response.Content.ReadAsAsync <GetSettlementResponse>().Result; Assert.IsTrue(getSettlementResponse.Success); Assert.IsTrue(getSettlementResponse.Settlements.Count > 0); //Test delete response = client.PostAsJsonAsync(deleteAction, new IdModel(settlementResponse.Settlement.Id)).Result; Assert.IsTrue(response.IsSuccessStatusCode); settlementResponse = response.Content.ReadAsAsync <SettlementResponse>().Result; Assert.IsTrue(response.IsSuccessStatusCode); }