示例#1
0
        public void MakeTransfer(EnterPackage needTransfer)
        {
            UpdateCourses();

            if (needTransfer.Sender.Surname == "Муниципалитет")
            {
                Resident sender    = GetResidentByFIO(needTransfer.Sender);    // отправитель денег муниципалитет
                Resident recipient = GetResidentByFIO(needTransfer.Recipient); // получатель денег

                MakeTransferForGetPackageByMunitsupalitet(sender, recipient, needTransfer.Summa);

                return;
            }
            if (needTransfer.Recipient.Surname == "ЖКХ")// если получатель денег ЖКХ (значит необходимо перечислить деньги за ком. услуги)
            {
                int             numberOfHouse  = needTransfer.Sender.Home;
                List <Resident> ResidentForPay = new List <Resident>();
                var             allResident    = _context.Residents;
                Resident        jhk            = new Resident();

                foreach (var person in allResident)// среди всех зарегистрированных клиентов ищем жителей необходимого дома
                {
                    if (person.Home == numberOfHouse)
                    {
                        ResidentForPay.Add(person);
                    }
                    if (person.Surname == "ЖКХ")
                    {
                        jhk = person;
                    }
                }

                int    countOfResidentForPay = ResidentForPay.Count;                       // находим количество жителей данного дома
                double summaForPay           = needTransfer.Summa / countOfResidentForPay; // сумма платежа ЖКХ делится на  всех жителей дома

                foreach (var person in ResidentForPay)                                     // с каждого жителя списываем необходимую сумму
                {
                    MakeTransferForGetPackage(person, jhk, summaForPay, CourseBuy);
                }

                return;
            }
            else   // если этот пакет не для перечисления з/п и уплаты ком. услуг
            {
                Resident sender = new Resident();
                sender = GetResidentByFIO(needTransfer.Sender);                              // определяем отправителя денег
                Resident recipient = new Resident();
                recipient = GetResidentByFIO(needTransfer.Recipient);                        // определяетм получателя денег

                MakeTransferForGetPackage(sender, recipient, needTransfer.Summa, CourseBuy); // выполняем перевод
            }
        }
示例#2
0
        public override void ProcessPackage(Package package)
        {
            if (package.Method == Houses.SendMetricsMethod)
            {
                List <HouseMeter> housesMeters = JsonConvert.DeserializeObject <List <HouseMeter> >(package.Params);

                foreach (var houseMeters in housesMeters)
                {
                    EnterPackage enterPackage = new EnterPackage
                    {
                        Recipient = new Resident
                        {
                            Home = houseMeters.IdHome,
                        },
                        Sender = new Resident
                        {
                            Surname    = "ЖКХ",
                            Name       = "-",
                            Patronymic = "-",
                        },
                        Summa = houseMeters.Summa
                    };
                    MakeTransfer(enterPackage);
                }
            }
            else if (package.Method == Airport.CanFlyMethod)
            {
            }
            else if (package.Method == Airport.AirportInvoiceMethod)
            {
            }
            // если деньги идут от муниципалитета (значит перечисляют зарплату)
            else if (package.Method == Municipality.PaySalaryMethod)
            {
            }
        }