コード例 #1
0
        public static void Main(string[] args)
        {
            TaxCalculator lowIncomeTaxCalculator  = new LowIncomeTaxCalculator();
            TaxCalculator medIncomeTaxCalculator  = new MediumIncomeTaxCalculator();
            TaxCalculator highIncomeTaxCalculator = new HighIncomeTaxCalculator();

            lowIncomeTaxCalculator.SetSuccessor(medIncomeTaxCalculator);
            medIncomeTaxCalculator.SetSuccessor(highIncomeTaxCalculator);

            // Processed by the first calculator
            TaxPayer pesho = new TaxPayer("Pesho", 550M);

            lowIncomeTaxCalculator.CalculateTax(pesho);

            // Processed by the second calculator
            TaxPayer gosho = new TaxPayer("Gosho", 5500M);

            lowIncomeTaxCalculator.CalculateTax(gosho);

            // Processed by the third calculator
            TaxPayer tosho = new TaxPayer("Tosho", 55000M);

            lowIncomeTaxCalculator.CalculateTax(tosho);

            // Processed by none
            TaxPayer mimi = new TaxPayer("Mimi", 550000M);

            lowIncomeTaxCalculator.CalculateTax(mimi);
        }
コード例 #2
0
        public async Task <IActionResult> Edit(long id, [Bind("Id,Name,TinNumber,Address,Nrc,TaxType,TownshipId")] TaxPayer taxPayer)
        {
            if (id != taxPayer.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(taxPayer);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!TaxPayerExists(taxPayer.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["TownshipId"] = new SelectList(_context.Townships, "Id", "Id", taxPayer.TownshipId);
            return(View(taxPayer));
        }
コード例 #3
0
 public static TaxPayerInformation ToDomain(this TaxPayer databaseEntity)
 {
     return(new TaxPayerInformation
     {
         AccountRef = databaseEntity.AccountRef,
         FirstName = databaseEntity.FirstName,
         LastName = databaseEntity.LastName
     });
 }
コード例 #4
0
        public async Task <IActionResult> Create([Bind("Id,Name,TinNumber,Address,Nrc,TaxType,TownshipId")] TaxPayer taxPayer)
        {
            if (ModelState.IsValid)
            {
                _context.Add(taxPayer);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["TownshipId"] = new SelectList(_context.Townships, "Id", "Id", taxPayer.TownshipId);
            return(View(taxPayer));
        }
コード例 #5
0
ファイル: TaxPayerRepository.cs プロジェクト: ebrym/IPT
        public async Task <bool> UpdateTaxPayerInAsync(TaxPayer taxpayer)
        {
            if (taxpayer != null)
            {
                _context.Update(taxpayer);
                await _context.SaveChangesAsync();

                return(true);
            }

            return(false);
        }
コード例 #6
0
        public static TaxpayerJnfo TaxPayer2TaxpayerJnfo(TaxPayer taxPayer)
        {
            TaxpayerJnfo taxpayerJnfo = new TaxpayerJnfo
            {
                TaxpayerTin     = taxPayer.Tin,
                ShopName        = taxPayer.Name,
                TaxpayerAddress = taxPayer.Address,
                TaxpayerTel     = taxPayer.Telphone,
                TaxpayerAccount = taxPayer.BankAccount,
            };

            return(taxpayerJnfo);
        }
コード例 #7
0
        public static TaxPayer TaxpayerJnfo2TaxPayer(TaxpayerJnfo taxpayerJnfo)
        {
            TaxPayer taxPayer = new TaxPayer
            {
                Tin         = taxpayerJnfo.TaxpayerTin,
                Id          = taxpayerJnfo.TaxpayerId.ToString(),
                Name        = taxpayerJnfo.ShopName,
                Address     = taxpayerJnfo.TaxpayerAddress,
                Telphone    = taxpayerJnfo.TaxpayerTel,
                BankAccount = taxpayerJnfo.TaxpayerAccount,
            };

            return(taxPayer);
        }
コード例 #8
0
        private static TaxPayerInformation MapDetailsToTaxPayerInformation(TaxPayer taxPayer, CouncilProperty propertyInfo, List <string> emails, PhoneNumber phoneNumbers)
        {
            var person = taxPayer.ToDomain();

            person.Uprn            = propertyInfo?.Uprn;
            person.TaxPayerAddress = propertyInfo?.ToDomain();
            person.EmailList       = emails;
            person.PhoneNumberList = new List <string> {
                phoneNumbers?.Number1, phoneNumbers?.Number2, phoneNumbers?.Number3, phoneNumbers?.Number4
            };

            person.PhoneNumberList.RemoveAll(item => item == null);

            return(person);
        }
コード例 #9
0
    static void Main(string[] args)
    {
        TaxPayer[] tP = new TaxPayer[2];
        for (int i = 0; i < tP.Length; ++i)
        {
            tP[i] = GetData(i + 1);
        }

        Array.Sort(tP);                    // sort needs to be int
        for (int i = 0; i < tP.Length; ++i)
        {
            Display(i + 1, tP[i]);
        }

        Console.ReadKey();
    }
コード例 #10
0
 public static void TaxpayerJnfo2TaxPayer(TaxpayerJnfo source, TaxPayer target)
 {
     if (source == null)
     {
         throw new ArgumentNullException("source can not null.");
     }
     if (target == null)
     {
         throw new ArgumentNullException("target can not null.");
     }
     target.Tin         = source.TaxpayerTin;
     target.Id          = source.TaxpayerId.ToString();
     target.Name        = source.ShopName;
     target.Address     = source.TaxpayerAddress;
     target.Telphone    = source.TaxpayerTel;
     target.BankAccount = source.TaxpayerAccount;
 }
コード例 #11
0
    int IComparable.CompareTo(object o)
    {
        int      returnVal;
        TaxPayer t = (TaxPayer)o;

        if (this.SalaryAmount > t.SalaryAmount)
        {
            returnVal = 1;
        }
        else if (this.SalaryAmount < t.SalaryAmount)
        {
            returnVal = -1;
        }
        else
        {
            returnVal = 0;
        }

        return(returnVal);
    }
コード例 #12
0
    int IComparable.CompareTo(object o)
    {
        int      returnVal;
        TaxPayer t = (TaxPayer)o;

        if (this.Salary > t.Salary)  //(this.taxOwed > t.taxOwed) Salary for testing
        {
            returnVal = 1;
        }
        else if (this.Salary < t.Salary) //(this.taxOwed < t.taxOwed)
        {
            returnVal = -1;
        }
        else
        {
            returnVal = 0;
        }

        return(returnVal);
    }
コード例 #13
0
        public async Task <IActionResult> OnGetAsync(int id, int taxpay)
        {
            if (id == null)
            {
                return(NotFound());
            }

            TaxPayer = await _context.TaxPayers.FirstOrDefaultAsync(m => m.Id == taxpay);

            Product = await _context.Products.FirstOrDefaultAsync(m => m.Id == id);

            TaxPayer.Products.Add(Product);
            return(Redirect("/TaxPayer/Index"));

            /*
             *
             * if (Product == null)
             * {
             *   return NotFound();
             *
             * return Page();*/
        }
コード例 #14
0
    static void Main()
    {
        TaxPayer[] taxPayerArray = new TaxPayer[4];
        for (int x = 0; x < taxPayerArray.Length; ++x)
        {
            taxPayerArray[x] = GetData(x + 1);
        }
        WriteLine("-------------------------------------");

        for (int i = 0; i < taxPayerArray.Length; ++i)
        {
            Display(i + 1, taxPayerArray[i]);
        }

        WriteLine("-------------------------------------");


        Array.Sort(taxPayerArray);
        for (int i = 0; i < taxPayerArray.Length; ++i)
        {
            Display(i + 1, taxPayerArray[i]);
        }
    }
コード例 #15
0
        static void TestReflection()
        {
            var taxPayer = new TaxPayer();

            PropertiesReflectInfo <TaxPayer>(taxPayer);
        }
コード例 #16
0
 public abstract void CalculateTax(TaxPayer input);
コード例 #17
0
 public Task DeletePayer(TaxPayer payer)
 {
     _connection.Delete(payer);
     return(Task.CompletedTask);
 }
コード例 #18
0
 public Task AddPayer(TaxPayer payer)
 {
     _connection.Insert(payer);
     return(Task.CompletedTask);
 }
コード例 #19
0
    //   public double GetTaxOwed()
    //   {
    //       return new TaxPayer();
    //   }

    static void Display(int num, TaxPayer c)
    {
        WriteLine("Taxpayer {0} SSN: {1}, Salary:  {2:c} Tax Owed: ", num, c.Social, c.Salary, c.TaxOwed); //   Tax Owed: {3}   - took out for testing. Dont know how to refrnce
    }
コード例 #20
0
ファイル: BackgroundService.cs プロジェクト: ebrym/IPT
        public async Task ProcessNewOnBaording()
        {
            try
            {
                // get all new onbaording
                var newOnboard = await _context.MessageIns.Where(x => x.IsProcessed == false && x.msg.ToUpper() == "IPT").ToListAsync();

                for (int i = 0; i < newOnboard.Count(); i++)
                {
                    using (var transaction = await _context.Database.BeginTransactionAsync(System.Data.IsolationLevel.ReadUncommitted))
                    {
                        var retSms = "";
                        var iptID  = "";

                        var existingTaxpayer = await _context.TaxPayers.Where(x => x.PhoneNo == newOnboard[i].PhoneNo).ToListAsync();

                        if (existingTaxpayer.Count() == 0)
                        {
                            TaxPayer taxpayer = new TaxPayer
                            {
                                PhoneNo          = newOnboard[i].PhoneNo,
                                IPTaxId          = _taxPayerRepository.GuidToBigInteger(Guid.NewGuid()).ToString().Substring(0, 10),
                                SubscriptionType = "DAILY",
                                AmountToDeduct   = 6,
                                Balance          = 3500,
                                CreatedBy        = "SMS",
                                IsActive         = true,
                                DateCreated      = DateTime.Now,
                                LastPaymentDate  = DateTime.Now,
                                NextPaymentDate  = DateTime.Now
                            };
                            iptID = taxpayer.IPTaxId;


                            retSms = "Thank you for Subcribing to IPT. Your I pay tax Id is " + iptID + " with DAILY deduction of " + taxpayer.AmountToDeduct.ToString() + "NGN.";

                            _context.Add(taxpayer);
                        }
                        else
                        {
                            iptID  = existingTaxpayer.FirstOrDefault().IPTaxId;
                            retSms = "You have already registered for IPT. Your IPT ID is " + iptID;
                        }



                        MessageOut messageOut = new MessageOut {
                            MSGType       = "SMS:TEXT",
                            msg           = retSms,
                            PhoneNo       = newOnboard[i].PhoneNo,
                            ServiceType   = "ON-BOARDING",
                            Sender        = "I PAY TAX",
                            IsProcessed   = true,
                            Status        = "Send",
                            Receiver      = newOnboard[i].PhoneNo,
                            DateProcessed = DateTime.Now
                        };

                        _context.Add(messageOut);

                        newOnboard[i].IsProcessed = true;

                        _context.SaveChanges();

                        transaction.Commit();

                        // return;
                    }
                }
            }
            catch (Exception ex)
            {
                throw;
            }
        }
コード例 #21
0
 static void Display(int taxPayerNumber, TaxPayer currentTaxPayer)
 {
     WriteLine("Taxpayer {0} SSN: {1} Salary:  {2} Tax Owed: {3}", taxPayerNumber, currentTaxPayer.SSN, currentTaxPayer.SalaryAmount.ToString("C2"), currentTaxPayer.AmountOfTaxOwed.ToString("C2"));
 }