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)); }
//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); }