Ejemplo n.º 1
0
 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>();
     }
 }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
        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}");
            }
        }
Ejemplo n.º 4
0
        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;
        }
Ejemplo n.º 5
0
 public void BeginToDisplayCredits()
 {
     if (currentCredit < credits.credit.Count)
     {
         CreditData credit = credits.credit[currentCredit];
         StartCoroutine(DoDisplayCredit(credit));
     }
 }
Ejemplo n.º 6
0
    public void InstantDisplay()
    {
        CreditData credit = credits.credit[currentCredit];

        DisplayFirstCredit(credit.IsCredit, credit);

        currentCredit++;
    }
Ejemplo n.º 7
0
        public async Task <CreditData> GetCompanyCreditDataByIdAsync(string id)
        {
            Company company = await this.GetCompanyByIdAsync(id, RequestType.Extended);

            CreditData companyCreditData = this.GetCompanyCreditData(company);

            return(companyCreditData);
        }
Ejemplo n.º 8
0
        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());
            }
        }
Ejemplo n.º 10
0
        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");
            }
        }
Ejemplo n.º 11
0
        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");
        }
Ejemplo n.º 12
0
        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);
        }
Ejemplo n.º 13
0
    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");
    }
Ejemplo n.º 14
0
        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);
        }
Ejemplo n.º 15
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();
    }
Ejemplo n.º 16
0
    // 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;
        }
    }
Ejemplo n.º 17
0
    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");
    }
Ejemplo n.º 18
0
        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));
 }
Ejemplo n.º 20
0
 public IActionResult Credit(CreditData data)
 {
     Calculate.Credit(data);
     return(View(data));
 }