public List <SelectListItem> GetAccountTypes(bool includeAll = false, int?selected = null) { var accountTypes = AccountTypeRepository.GetAccountTypes().OrderBy(o => o.Description); List <SelectListItem> lookup = accountTypes.Select(l => new SelectListItem() { Value = l.Id.ToString(), Text = l.Description }).ToList(); if (includeAll) { lookup.Add(new SelectListItem() { Value = All.ToString(), Text = "ALL" }); } if (selected.HasValue) { var selectedItem = lookup.Where(l => l.Value == selected.Value.ToString()).FirstOrDefault(); if (selectedItem != null) { selectedItem.Selected = true; } } return(lookup); }
public List <AccountTypeModel> GetServicesAndLabor() { var accountTypes = AccountTypeRepository.GetAccountTypes().OrderBy(o => o.Description); List <AccountTypeModel> tree = new List <AccountTypeModel>(); foreach (var accountType in accountTypes) { AccountTypeModel anode = new AccountTypeModel(); anode.Id = accountType.Id; anode.Description = accountType.Description; anode.TaxRate = (decimal)accountType.TaxRate; foreach (var service in accountType.ServiceTypeList.OrderBy(o => o.ServiceType.Description)) { AccountTypeServiceModel snode = new AccountTypeServiceModel(); snode.Parent = anode; snode.Id = service.Id; snode.ServiceTypeId = service.ServiceType.Id; snode.ServiceTypeDescription = service.ServiceType.Description; anode.Services.Add(snode); foreach (var labor in service.LaborTypeList.OrderBy(o => o.LaborType.Description)) { AccountTypeLaborModel lnode = new AccountTypeLaborModel(); lnode.Parent = snode; lnode.Id = labor.Id; lnode.LaborTypeId = labor.LaborType.Id; lnode.LaborTypeDescription = labor.LaborType.Description; snode.Labor.Add(lnode); } } tree.Add(anode); } return(tree); }