예제 #1
0
        //메인 응용프로그램
        static void Main(string[] args)
        {
            //유저 여러개라 리스트로 선언함
            List <BillingManager> managers = new List <BillingManager>();
            //인터페이스 선언 (usermanager, adminmanager에서 상속받아서 사용할거)
            BillingManager manager = null;
            //입력받는값선언
            string input = string.Empty;

            do
            {
                PrintLoginMenu(out input);

                try
                {
                    //입력받은 아이디를 통해 인터페이스(BillingManager)를 받는거긴 한데 인터페이스는 객체 생성을 할 수 없음
                    //따라서 BillingManager를 상속받고 있는 UserManger or AdminManager 선언을 한다
                    manager = BillingFactory.GetInstance(input);
                }
                catch (UserNotFoundException ex) {
                    Console.WriteLine(ex.Message);
                }
            } while(manager == null);
            managers.Add(manager);


            do
            {
                PrintMenu(out input);
                //10 : 로그인 변경 입력시에만 실행
                if (input.Equals(10))
                {
                    //새로운 아이디로 유저/어드민 객체 생성
                    do
                    {
                        PrintLoginMenu(out input);

                        try
                        {
                            manager = BillingFactory.GetInstance(input);
                        }
                        catch (UserNotFoundException ex)
                        {
                            Console.WriteLine(ex.Message);
                        }
                    } while (manager == null);
                    managers.Add(manager);
                }
                //입력받은 메뉴실행
                //managers는 그동안 모든 회원들의 정보가 담겨있음
                //manager 는 현재 로그인된 계정
                DoMenu(manager, input, managers);
            } while (!input.Equals("11"));
        }
 public WorkTicketController(
     ApplicationContext context,
     BillingAdaptor billingAdaptor,
     BillingFacade billingFacade,
     BillingFactory billingFactory
     )
 {
     _context        = context;
     _billingAdaptor = billingAdaptor;
     _billingFacade  = billingFacade;
     _billingFactory = billingFactory;
 }
예제 #3
0
        private void listBills_SelectedIndexChanged(object sender, EventArgs e)
        {
            var company = (Company)listCompanies.SelectedItem;

            if (listAgreements.SelectedItem == null)
            {
                return;
            }
            var lastAgreement  = uof.Agreements.Find(z => z.CompanyId == company.CompanyID).OrderBy(z => z.Date).Last();
            var currentBilling = BillingFactory.GetBillingType(lastAgreement.Billing);

            var bill = ((Bill)listBills.SelectedItem);

            result.Text = "Оплата с " + currentBilling.GetFirstDate(bill.Date).ToShortDateString() +
                          " по " + currentBilling.GetLastDate(bill.Date).ToShortDateString();
        }