public PlannedSpendingForm(TenderYear year) { spendingRecord = new PlannedSpending(); InitializeFormControls(year); LoadKekvsList(); }
public PlannedSpendingForm(TenderYear year, PlannedSpending spending) { spendingRecord = spending; InitializeFormControls(year); if (!UserSession.IsAuthorized) { this.Text = "Перегляд даних витрати"; } else { this.Text = "Редагування даних витрати"; } using (TenderContext tc = new TenderContext()) { tc.PlannedSpending.Attach(spendingRecord); controlValueWasChangedByUser = false; estimateCBList.DataSource = new List <Estimate> { spendingRecord.Estimate }; mainKekvCBList.DataSource = new List <KekvCode> { spendingRecord.PrimaryKekv }; altKekvCBList.DataSource = new List <KekvCode> { spendingRecord.SecondaryKekv }; estimateCBList.Enabled = mainKekvCBList.Enabled = altKekvCBList.Enabled = false; controlValueWasChangedByUser = true; foreach (var file in spendingRecord.RelatedFiles) { relatedFiles.Add(file); } var lst = tc.BalanceChanges .Where(p => (p.EstimateId == spendingRecord.EstimateId) && (p.PrimaryKekvId == spendingRecord.PrimaryKekvId) && ((p.PrimaryKekvSum > 0) || (p.PlannedSpendingId != null))) .Select(p => p.PrimaryKekvSum) .ToList(); decimal notPlannedMoneyOnKekv = tc.BalanceChanges .Where(p => (p.EstimateId == spendingRecord.EstimateId) && (p.PrimaryKekvId == spendingRecord.PrimaryKekvId) && ((p.PrimaryKekvSum > 0) || (p.PlannedSpendingId != null))) .Select(p => p.PrimaryKekvSum) .ToList() .DefaultIfEmpty(0) .Sum(); decimal plannedMoneyOnKekv = tc.TenderPlanRecords.ToList() .Where(p => (p.EstimateId == spendingRecord.EstimateId) && (p.PrimaryKekvId == spendingRecord.PrimaryKekvId)) .Select(p => p.UsedByRecordSum) .ToList() .DefaultIfEmpty(0) .Sum(); decimal moneyRemainAtMainKekv = notPlannedMoneyOnKekv - plannedMoneyOnKekv; label6.Text = string.Format("Доступно: {0:N2} грн.", moneyRemainAtMainKekv); if (moneyRemainAtMainKekv > 0) { spendingFullSum.Maximum = spendingRecord.Sum + moneyRemainAtMainKekv; } else { spendingFullSum.Maximum = spendingRecord.Sum; } LoadMoneysTable(); // Заполняем затраты счёта по источникам финансирования if (spendingRecord.Changes.Count > 0) { for (int i = 0; i < sourcesList.Count; i++) { foreach (var rec in spendingRecord.Changes) { if (rec.MoneySourceId == sourcesList[i].Id) { controlValueWasChangedByUser = false; balanceChangesTable.Rows[i].Cells[0].Value = -rec.PrimaryKekvSum; controlValueWasChangedByUser = true; } } } } } }