public IQueryable GetQueryable(ResourceSet set)
 {
     if (set.Name == "Customers") return Customers.AsQueryable();
     if (set.Name == "ResidentialCustomers") return ResidentialCustomers.AsQueryable();
     if (set.Name == "Users") return Users.AsQueryable();
     throw new NotSupportedException(string.Format("{0} not found", set.Name));
 }
 public void AddResource(ResourceType resourceType, object resource)
 {
     if (resourceType.InstanceType == typeof(Customer))
     {
         Customer i = resource as Customer;
         if (i != null)
         {
             Customers.Add(i);
             return;
         }
     }
     if (resourceType.InstanceType == typeof(ResidentialCustomer))
     {
         ResidentialCustomeri = resource as ResidentialCustomer;
         if (i != null)
         {
             ResidentialCustomers.Add(i);
             return;
         }
     }
     if (resourceType.InstanceType == typeof(User))
     {
         Useri = resource as User;
         if (i != null)
         {
             Users.Add(i);
             return;
         }
     }
     throw new NotSupportedException(string.Format("{0} not found for adding.", resourceType.FullName));
 }
 public void SaveChanges()
 {
     foreach (var item in Customers.Where(i => i.IsModified == true))
         item.Save();
     foreach (var item in ResidentialCustomers.Where(i => i.IsModified == true))
         item.Save();
     foreach (var item in Users.Where(i => i.IsModified == true))
         item.Save();
 }
 public void DeleteResource(object resource)
 {
     if (resource.GetType() == typeof(Customer))
     {
         Customers.Remove(resource as Customer);
         return;
     }
     if (resource.GetType() == typeof(ResidentialCustomer))
     {
         ResidentialCustomers.Remove(resource as ResidentialCustomer);
         return;
     }
     if (resource.GetType() == typeof(User))
     {
         Users.Remove(resource as User);
         return;
     }
     throw new NotSupportedException(string.Format("{0} not found for deletion.", resource.GetType().FullName));
 }
Esempio n. 5
0
        //Creating Customers
        private Customers CreateCustomer(int index, string kwhStr, string offPeakStr = "")
        {
            decimal offPeak;
            decimal kwh;

            if (index == 0) // Residential
            {
                bool succeeded = decimal.TryParse(kwhStr, out kwh);
                if (succeeded)
                {
                    Customers c = new ResidentialCustomers(txtAccountNumber.Text, txtCustomerName.Text);
                    c.CalculateCharge(kwh);
                    return(c);
                }
            }
            else if (index == 1) // Commercial
            {
                bool succeeded = decimal.TryParse(kwhStr, out kwh);
                if (succeeded)
                {
                    Customers c = new CommercialCustomers(txtAccountNumber.Text, txtCustomerName.Text);
                    c.CalculateCharge(kwh);
                    return(c);
                }
            }
            else // Industrial
            {
                bool succeeded  = decimal.TryParse(kwhStr, out kwh);
                bool succeeded2 = decimal.TryParse(offPeakStr, out offPeak);
                if (succeeded && succeeded2)
                {
                    Customers c = new IndustrialCustomers(txtAccountNumber.Text, txtCustomerName.Text);
                    c.CalculateCharge(kwh, offPeak);
                    return(c);
                }
            }

            return(null);
        }