public ChargesData(Building b) { ObservableCollection <BuildingChargeBasisCategory> CategoriesNames; ObservableCollection <BuildingChargeGroupName> GroupNames; using (var db = new DB.DomenaDBContext()) { GroupBankAccounts = b != null ? new ObservableCollection <BuildingChargeGroupBankAccount>(db.BuildingChargeGroupBankAccounts.Where(x => !x.IsDeleted && x.Building.BuildingId == b.BuildingId).ToList()) : new ObservableCollection <BuildingChargeGroupBankAccount>(); CategoriesNames = new ObservableCollection <BuildingChargeBasisCategory>(db.CostCategories.Where(x => !x.IsDeleted).ToList()); GroupNames = new ObservableCollection <BuildingChargeGroupName>(db.GroupName.Where(x => !x.IsDeleted).ToList()); } var values = (CostDistribution[])Enum.GetValues(typeof(CostDistribution)); var UnitsNames = new ObservableCollection <Helpers.CostDistributionCollectionItem>(); foreach (var v in values) { var cdci = new Helpers.CostDistributionCollectionItem(v); UnitsNames.Add(cdci); } CostCollection = new ObservableCollection <CostListView>(); if (b != null) { foreach (var c in b.CostCollection) { var clv = new Helpers.CostListView { BegginingDate = c.BegginingDate.Date, EndingDate = c.EndingDate.Date, Cost = c.CostPerUnit, CostUnit = UnitsNames.Where(x => x.EnumValue == c.BuildingChargeBasisDistribution).FirstOrDefault(), CategoryName = CategoriesNames.Where(x => x.BuildingChargeBasisCategoryId.Equals(c.BuildingChargeBasisCategoryId)).FirstOrDefault().CategoryName, CostGroup = GroupNames.Where(x => x.BuildingChargeGroupNameId == c.BuildingChargeGroupNameId).FirstOrDefault() }; CostCollection.Add(clv); } } }
private void AddNewCost(object param) { if (SelectedCategoryName == null) { LabelError = "Wybierz kategorię"; return; } if (SelectedUnitName == null) { LabelError = "Wybierz jednostkę"; return; } decimal uc; if (!decimal.TryParse(UnitCost, out uc) && uc <= 0) { LabelError = "Podaj poprawny koszt"; return; } if (CostBeggining == null) { LabelError = "Podaj poprawną datę początku obowiązywania"; return; } if (SelectedGroupName == null) { LabelError = "Wybierz grupę"; return; } var q = CostCollection.Where(x => x.BegginingDate.Date.CompareTo(CostBeggining.Date) == 0 && x.CategoryName == SelectedCategoryValue && x.CostGroup == SelectedGroupName).Count(); if (q > 0) { LabelError = "Istnieje już rekord z taką samą kategorią i datą"; return; } LabelError = null; var endingDate = new DateTime(1900, 01, 01); var c = new Helpers.CostListView() { BegginingDate = CostBeggining, CategoryName = SelectedCategoryValue, Cost = uc, CostUnit = SelectedUnitName, EndingDate = endingDate, CostGroup = SelectedGroupName }; CostCollection.Add(c); CalculateCostsDates(); }
public EditLegacyBuildingWizard(Building SelectedBuilding = null) { InitializeComponent(); DataContext = this; MetersCollection = new ObservableCollection <MeterType>(); InitializeCategoriesList(); InitializeUnitsList(); InitializeCostCollection(); CostBeggining = DateTime.Today; if (SelectedBuilding != null) { _buildingLocalCopy = new Building(SelectedBuilding); BuildingName = SelectedBuilding.Name; BuildingCity = SelectedBuilding.City; BuildingZipCode = SelectedBuilding.ZipCode; BuildingRoadName = SelectedBuilding.RoadName; BuildingRoadNumber = SelectedBuilding.BuildingNumber; foreach (var c in SelectedBuilding.CostCollection) { var clv = new Helpers.CostListView { BegginingDate = c.BegginingDate.Date, EndingDate = c.EndingDate.Date, Cost = c.CostPerUnit, CostUnit = UnitsNames.Where(x => x.EnumValue == c.BuildingChargeBasisDistribution).FirstOrDefault(), CategoryName = CategoriesNames.Where(x => x.BuildingChargeBasisCategoryId.Equals(c.BuildingChargeBasisCategoryId)).FirstOrDefault().CategoryName, CostGroup = GroupNames.Where(x => x.BuildingChargeGroupNameId == c.BuildingChargeGroupNameId).FirstOrDefault() }; CostCollection.Add(clv); } MetersCollection = new ObservableCollection <MeterType>(SelectedBuilding.MeterCollection); } if (_buildingLocalCopy != null) { GroupBankAccounts = new ObservableCollection <BuildingChargeGroupBankAccount>(GroupBankAccountsTotal.Where(x => !x.IsDeleted && x.Building.BuildingId == _buildingLocalCopy.BuildingId).ToList()); } else { GroupBankAccounts = new ObservableCollection <BuildingChargeGroupBankAccount>(); } }