Exemple #1
0
        public void GetBillsToShow()
        {
            using (var context = new TownUtilityBillSystemV2Entities())
            {
                List <BILL> rndBillsDB = GetSomeRandomBillsDB(context);

                foreach (var b in rndBillsDB)
                {
                    Customer customer = new Customer();

                    var accountDB  = context.ACCOUNTs.Where(c => c.ID == b.ACCOUNT_ID).FirstOrDefault();
                    var customerDB = context.CUSTOMERs.Where(c => c.ACCOUNT_ID == accountDB.ID).FirstOrDefault();

                    CustomerType customerType;
                    Address      address;

                    GetAddressAndCustomerTypeForCustomer(context, customerDB, out customerType, out address);

                    customer.Id      = customerDB.ID;
                    customer.Surname = customerDB.SURNAME;
                    customer.Name    = customerDB.NAME;
                    customer.Address = address;

                    Bills.Add(new Bill()
                    {
                        Id = b.ID, Number = b.NUMBER, Period = HelperMethod.GetFullMonthName(b.PERIOD), Date = b.DATE, Sum = b.SUM, Paid = b.PAID, Customer = customer
                    });
                }
            }
        }
 public static Bill Get(BILL bill)
 {
     return(new Bill
     {
         Id = bill.ID,
         Number = bill.NUMBER,
         Date = bill.DATE,
         Period = HelperMethod.GetFullMonthName(bill.PERIOD),
         Sum = bill.SUM,
         Paid = bill.PAID
     });
 }
Exemple #3
0
        public void FindBills(string searchString)
        {
            using (var context = new TownUtilityBillSystemV2Entities())
            {
                DateTime billPeriodDate;
                string   billPeriod = null;

                if (DateTime.TryParse(searchString, out billPeriodDate))
                {
                    billPeriod = billPeriodDate.ToString("yyyy-MM");
                }


                List <int> accountIds = (from c in context.CUSTOMERs
                                         where
                                         c.SURNAME.Contains(searchString) ||
                                         c.NAME.Contains(searchString) ||
                                         (c.SURNAME + " " + c.NAME).Contains(searchString) ||
                                         c.ADDRESS.TOWN.NAME.Contains(searchString) ||
                                         c.ADDRESS.STREET.NAME.Contains(searchString) ||
                                         c.ADDRESS.BUILDING.NUMBER.Contains(searchString) ||
                                         c.ADDRESS.FLAT_PART.NAME.Contains(searchString) ||
                                         c.CUSTOMER_TYPE.NAME.Contains(searchString) ||
                                         c.ADDRESS.INDEX.VALUE.ToString().Contains(searchString)
                                         select c)
                                        .Select(c => c.ACCOUNT_ID).ToList();

                var billsDBFoundByCustomerData = context.BILLs.Where(b => accountIds.Any(i => b.ACCOUNT_ID == i)).Distinct().ToList();


                var billsDBFoundByBillData = (from b in context.BILLs
                                              where
                                              b.NUMBER.Contains(searchString) ||
                                              b.PERIOD.Contains(billPeriod)
                                              select b)
                                             .ToList();

                var allBills = billsDBFoundByCustomerData.Concat(billsDBFoundByBillData).OrderBy(b => b.NUMBER).ToList();

                foreach (var b in allBills)
                {
                    Customer customer = new Customer();

                    var accountDB  = context.ACCOUNTs.Where(c => c.ID == b.ACCOUNT_ID).FirstOrDefault();
                    var customerDB = context.CUSTOMERs.Where(c => c.ACCOUNT_ID == accountDB.ID).FirstOrDefault();

                    CustomerType customerType;
                    Address      address;

                    GetAddressAndCustomerTypeForCustomer(context, customerDB, out customerType, out address);

                    customer.Id      = customerDB.ID;
                    customer.Surname = customerDB.SURNAME;
                    customer.Name    = customerDB.NAME;
                    customer.Address = address;

                    Bills.Add(new Bill()
                    {
                        Id = b.ID, Number = b.NUMBER, Period = HelperMethod.GetFullMonthName(b.PERIOD), Date = b.DATE, Sum = b.SUM, Paid = b.PAID, Customer = customer
                    });
                }
            }
        }