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); // выполняем перевод } }
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) { } }