public void Read(Stream input, OWLib.STUD stud) { using (BinaryReader reader = new BinaryReader(input, System.Text.Encoding.Default, true)) { header = reader.Read <InventoryItemHeader>(); data = reader.Read <CreditData>(); } }
/// <summary> /// Method to generate the credit utilisation report /// </summary> /// <param name="rootEntityData">Collection of parent and it's related entities</param> /// <param name="parentEntity">Parent entity data</param> /// <param name="creditUtilised">Initial credit utilisation</param> /// <returns></returns> public Report GenerateReport(CreditData parentEntity, int creditUtilised, List <CreditData> realtedGroupEntities = null) { Report report = new Report(); List <string> entityNames = new List <string>(); if (realtedGroupEntities != null) { foreach (var entity in realtedGroupEntities) { creditUtilised += entity.Utilisation; entityNames.Add(entity.Entity); report.GroupEntityCreditUtilised = creditUtilised; } entityNames.Sort(); report.Entities = string.Join("/", entityNames); } if (parentEntity.Limit >= creditUtilised) { report.Result = $"No Limit Breaches"; } else { report.Result = $"Limit Breaches at {parentEntity.Entity} (limit = {parentEntity.Limit}, direct utilisation = {parentEntity.Utilisation}, combined utilisation = {creditUtilised})."; } return(report); }
public void CreditTest1() { CreditData data = new CreditData { Amount = 1200, MontlyCommission = 10, Percent = 10, Period = 12 }; Calculate.Credit(data); Assert.NotNull(data.Result); Assert.True(data.Result.Count == 12, "Count of rows should be 12"); int payment = 0; foreach (CreditResultRow row in data.Result) { payment++; decimal amount = data.Amount - (payment - 1) * 100; decimal percent = amount / 120; Assert.True(row.Payment == payment && row.LoanBalance == amount && row.Commission == 10 && row.Percent == percent && row.PayAmount == 110 + percent, $"Test failed: Payment {row.Payment}"); } }
public static void Credit(CreditData creditData) { if (creditData.Amount < 0.01m || creditData.MontlyCommission < 0 || creditData.Percent < 0 || creditData.Period <= 0) { return; } List <CreditResultRow> rows = new List <CreditResultRow>(); decimal bodyLoan = creditData.Amount / creditData.Period; decimal beginAmount = creditData.Amount; for (int i = 1; i <= creditData.Period; i++) { decimal percentAmount = beginAmount * creditData.Percent / 1200; CreditResultRow row = new CreditResultRow { Payment = i, LoanBalance = beginAmount, Commission = creditData.MontlyCommission, PayAmount = bodyLoan + percentAmount + creditData.MontlyCommission, Percent = percentAmount }; rows.Add(row); beginAmount -= bodyLoan; } creditData.Result = rows; }
public void BeginToDisplayCredits() { if (currentCredit < credits.credit.Count) { CreditData credit = credits.credit[currentCredit]; StartCoroutine(DoDisplayCredit(credit)); } }
public void InstantDisplay() { CreditData credit = credits.credit[currentCredit]; DisplayFirstCredit(credit.IsCredit, credit); currentCredit++; }
public async Task <CreditData> GetCompanyCreditDataByIdAsync(string id) { Company company = await this.GetCompanyByIdAsync(id, RequestType.Extended); CreditData companyCreditData = this.GetCompanyCreditData(company); return(companyCreditData); }
public CreditDataDTO(CreditData completed, CreditData possible) { CompletedCreditBased = completed.CreditBased; PossibleCreditBased = possible.CreditBased; PossibleTimeBased = possible.TimeBased; CompletedTimeBased = completed.TimeBased; }
static void Main(string[] args) { SalesOrder salesOrder = new SalesOrder(); salesOrder.DeliveryDate = DateTime.Now; Customer customer = new Customer(); customer.Name = "Oscar Blancarte"; customer.Rfc = "XXX0000000X0"; customer.Status = Status.ACTIVO; Telephone phone = new Telephone(); phone.Ext = "123"; phone.Lada = "999"; phone.Number = "1234567"; customer.Telephone = phone; Address address = new Address(); address.Address1 = "Address 1"; address.Address2 = "Address 2"; address.CP = "1234"; address.Country = "Mexico"; customer.Address = address; CreditData creditData = new CreditData(); creditData.Balance = 1000; creditData.CreditLimit = 13000; customer.CreditData = creditData; salesOrder.Contributor = customer; List <OrderItem> orderItems = new List <OrderItem>(); for (int c = 0; c < 10; c++) { OrderItem item = new OrderItem(); item.Price = (c + 1) * 30; Product product = new Product(); product.ListPrice = (c + 1) * 32; product.Name = "Product " + (c + 1); item.Product = product; item.Quantity = 1; orderItems.Add(item); } salesOrder.OrderItems = orderItems; Console.WriteLine("Total orden > " + salesOrder.getTotal()); try { AbstractOrderValidator validator = OrderValidatorBuilder.BuildSalesOrderValidator(); validator.Validate(salesOrder); Console.WriteLine("Successful validation"); } catch (Exception e) { Console.WriteLine(e.ToString()); } }
public override void Validate(AbstractOrder order) { double total = order.getTotal(); CreditData creditData = order.Contributor.CreditData; double newBalance = creditData.Balance + total; if (newBalance > creditData.CreditLimit) { throw new ValidationException("The amount of the order " + "exceeds the available credit limit"); } }
public void Test_GenerateReport_With_Limit_Breach() { CreditTree.Services.CreditDataService testCreditDataService = new CreditTree.Services.CreditDataService(); List <CreditData> csvData = testCreditDataService.ReadCSVFile(testCreditDataService.filePath); List <CreditData> parentEntities = testCreditDataService.GetRootEntities(csvData); CreditData parentEntity = parentEntities[1]; var relatedGroupEntities = testCreditDataService.GetRootAndItsRelatedEntities(csvData, parentEntity.Entity); Report report = testCreditDataService.GenerateReport(parentEntity, 0, relatedGroupEntities); Assert.AreNotEqual(report.Result, "No Limit Breaches"); }
private CreditData GetCompanyCreditData(Company company) { Rating rating = this.scoreService.GetCompanyRating(company); var result = new CreditData { Registration = company.VAT, RatingData = rating, CompanyData = company, Recommendation = this.scoreService.MakeGeneralRecommendation(rating.SummaryRating, company.CompanyActive), DebtCollectionRecommendation = this.scoreService.MakeDebtCollectionRecommendation(rating.SummaryRating, company.Type, company.CompanyActive) }; return(result); }
private void DisplayFirstCredit(bool isCredit, CreditData newCredit) { Vector2 pos; SMSBubble newBubble; float bubbleHeight; float bubbleWidth; if (isCredit) { //Create newbubble newBubble = CreateCreditBubble(); newBubble.SetUp(newCredit.CreditText, credits.creditColour); //get dimension bubbleHeight = newBubble.GetComponent <RectTransform>().rect.height; bubbleWidth = newBubble.GetComponent <RectTransform>().rect.width; //calculate position at the top of the screen in the client case pos = (Vector2)creditsStartPos.position + (creditBubbleOffSet * EssoUtility.GetAspectRatio()); //update postion and display text newBubble.transform.position = pos + new Vector2(bubbleWidth / 2, -(bubbleHeight / 2) * EssoUtility.GetAspectRatio()); previousBubble = newBubble; smsBubbles.Add(previousBubble.transform); } else { newBubble = CreateCreditBubble(); newBubble.SetUp(newCredit.CreditText, credits.authorColour); //get dimension bubbleHeight = newBubble.GetComponent <RectTransform>().rect.height; bubbleWidth = newBubble.GetComponent <RectTransform>().rect.width; //calculate position at the top of the screen in the client case pos = (Vector2)authorStartPos.position + (authorBubbleOffset * EssoUtility.GetAspectRatio()); //update postion and display text newBubble.transform.position = pos + new Vector2(-bubbleWidth / 2, -(bubbleHeight / 2) * EssoUtility.GetAspectRatio()); previousBubble = newBubble; smsBubbles.Add(previousBubble.transform); } vibrationController.BeginViewBob(); //AudioManager.instance.PlayAtRandomPitch("PhoneVibrateSFX"); }
public void Test_Parent_And_Its_Related_Entities() { CreditTree.Services.CreditDataService testCreditDataService = new CreditTree.Services.CreditDataService(); List <CreditData> csvData = testCreditDataService.ReadCSVFile(testCreditDataService.filePath); List <CreditData> parentEntities = testCreditDataService.GetRootEntities(csvData); CreditData parentEntity = parentEntities[0]; // Parent entity validation test Assert.IsNotNull(parentEntity); Assert.IsTrue(parentEntity.Limit > 0); Assert.IsTrue(string.IsNullOrEmpty(parentEntity.Parent)); var relatedGroupEntities = testCreditDataService.GetRootAndItsRelatedEntities(csvData, parentEntity.Entity); Assert.IsNotNull(relatedGroupEntities); Assert.IsTrue(relatedGroupEntities.Count > 0); }
private IEnumerator DoDisplayCredit(CreditData newCredit) { printState = DialogueState.Busy; DisplayTypingBubble(newCredit.IsCredit); AudioManager.instance.Play("TypingSFX"); //wait time should probably create a small texting bubble yield return(new WaitForSeconds(newCredit.TypeTime)); typingBubble.SetActive(false); DisplayCredit(newCredit.IsCredit, newCredit); AudioManager.instance.Stop("TypingSFX"); printState = DialogueState.Idle; currentCredit++; BeginToDisplayCredits(); }
// Use for pre-initialization private void Awake() { string path = System.IO.Path.Combine(Application.dataPath, "Scripts/credits.xml"); FileStream stream = new FileStream(path, FileMode.Open); XmlSerializer serializer = new XmlSerializer(typeof(CreditData)); credit_data = serializer.Deserialize(stream) as CreditData; stream.Close(); float y = 0; foreach (CreditDataLine line in credit_data.content) { GameObject text_obj = Instantiate(text_prefab, this.gameObject.transform); Text text = text_obj.GetComponent <Text>(); text.text = line.text; float x_offset = 0.0f; //32.0f; float y_increment = 24.0f; int font_size = 22; Color outline_color = new Color(0.0f, 0.5f, 1.0f, 0.25f); if (line.heading == 1) { //x_offset = 0.0f; font_size = 30; y_increment = 32.0f; outline_color = new Color(1.0f, 1.0f, 0.0f, 0.5f); } else if (line.heading == 2) { //x_offset = 16.0f; font_size = 26; y_increment = 28.0f; outline_color = new Color(1.0f, 0.0f, 0.5f, 0.35f); } text.fontSize = font_size; text.rectTransform.sizeDelta = new Vector2(text.rectTransform.sizeDelta.x, y_increment); text.rectTransform.position = new Vector3(text.rectTransform.position.x + x_offset, y, 0.0f); text.GetComponent <Outline>().effectColor = outline_color; y -= y_increment; } }
public void DisplayCredit(bool isCredit, CreditData newCredit) { Vector2 pos; SMSBubble newBubble; float bubbleHeight = previousBubble.GetComponent <RectTransform>().rect.height;; float newBubbleHeight; float newBubbleWidth; if (isCredit) { //set up sms bubbles newBubble = CreateCreditBubble(); newBubble.SetUp(newCredit.CreditText, credits.creditColour); //get bubble dimensions newBubbleHeight = newBubble.GetComponent <RectTransform>().rect.height; newBubbleWidth = newBubble.GetComponent <RectTransform>().rect.width; //Spawn new bubble with an offset of its previous position + the offset of it's height from its centre pos = new Vector2(creditsStartPos.position.x + newBubbleWidth / 2, previousBubble.transform.position.y - bubbleHeight / 2 - newBubbleHeight / 2) + (creditBubbleOffSet + bubbleOffset) * EssoUtility.GetAspectRatio(); //Update position newBubble.transform.position = pos; previousBubble = newBubble; smsBubbles.Add(previousBubble.transform); if (pos.y < screenEndPoint.position.y) { float vertDistance = screenEndPoint.position.y - pos.y; ScrollUnitsUp(vertDistance + newBubbleHeight / 2); } } else { //set up sms bubbles newBubble = CreateCreditBubble(); newBubble.SetUp(newCredit.CreditText, credits.authorColour); //get bubble dimensions newBubbleHeight = newBubble.GetComponent <RectTransform>().rect.height; newBubbleWidth = newBubble.GetComponent <RectTransform>().rect.width; //Spawn new bubble with an offset of its previous position + the offset of it's height from its centre pos = new Vector2(authorStartPos.position.x - newBubbleWidth / 2, previousBubble.transform.position.y - bubbleHeight / 2 - newBubbleHeight / 2) + (authorBubbleOffset + bubbleOffset) * EssoUtility.GetAspectRatio(); //Update position newBubble.transform.position = pos; previousBubble = newBubble; smsBubbles.Add(previousBubble.transform); if (pos.y < screenEndPoint.position.y) { float vertDistance = screenEndPoint.position.y - pos.y; ScrollUnitsUp(vertDistance + newBubbleHeight / 2); } } vibrationController.BeginViewBob(); AudioManager.instance.PlayAtRandomPitch("PhoneVibrateSFX"); }
public IActionResult Credit() { CreditData data = new CreditData(); return(View(data)); }
public RouletteController(RouletteData rouletteData, RouletteGamesData rouletteGamesData, CreditData creditData) { this._dataroulette = rouletteData ?? throw new ArgumentNullException(nameof(rouletteData)); this._datarouletteGames = rouletteGamesData ?? throw new ArgumentNullException(nameof(rouletteGamesData)); this._dataCredit = creditData ?? throw new ArgumentNullException(nameof(creditData)); }
public IActionResult Credit(CreditData data) { Calculate.Credit(data); return(View(data)); }