protected void btnOpening_Click(object sender, EventArgs e) { lblMessage.Attributes.Add("style", ""); var year = drpOpeningYear.SelectedValue.ToNullableInt().Value; var month = drpOpeningMonth.SelectedValue.ToNullableInt().Value; var ee = AssociationExpensesManager.GetAllAssociationExpensesByMonthAndYearIncludingDisabled(Association.Id, year, month); if (ee.Count() != 0) { lblMessage.Text = "Luna deschisa deja, selecteaza alta luna-an"; lblMessage.Attributes.Add("style", "color: red"); return; } IEnumerable <AssociationExpenses> oldEe = AssociationExpensesManager.GetFromLastestOpenedMonth(Association.Id); foreach (TableRow row in tblMonthlyExpenses.Rows) { if (row.Cells.Count > 2) { TableCell cellIsSelected = row.Cells[0]; TableCell cellExpenseType = row.Cells[2]; if (cellIsSelected.Controls.Count == 1 && cellIsSelected.Controls[0] is CheckBox && cellExpenseType.Controls.Count == 1 && cellExpenseType.Controls[0] is DropDownList) { CheckBox cbIsSelected = (CheckBox)cellIsSelected.Controls[0]; DropDownList drpExpenseType = (DropDownList)cellExpenseType.Controls[0]; bool cbIsStairCaseSplitSelected = false; if (row.Cells.Count > 3) { TableCell cellIsStairCaseSplit = row.Cells[3]; cbIsStairCaseSplitSelected = ((CheckBox)cellIsStairCaseSplit.Controls[0]).Checked; } if (cbIsSelected.Checked) { string cbId = cbIsSelected.ID.Replace("expense", ""); int expenseId; if (int.TryParse(cbId, out expenseId)) { AssociationExpenses newEe = AssociationExpensesManager.Add(Association.Id, expenseId, month, year, drpExpenseType.SelectedValue, cbIsStairCaseSplitSelected); AssociationExpensesManager.UpdatePricePerUnitDefaultPreviousMonth(newEe, oldEe); } } } } } Response.Redirect("~/Expenses/Invoices.aspx?year=" + year + "&month=" + month); }
private void InitializeExpenses() { //tblMonthlyExpenses.Rows.Clear(); int month; int _year = Year().HasValue ? Year().Value : 2017; if (int.TryParse(drpExpenseMonth.SelectedValue, out month)) { var estate = (Associations)Session[SessionConstants.SelectedAssociation]; if (estate != null) { var ee = AssociationExpensesManager.GetByMonthAndYearNotDisabled(estate.Id, _year, month); var eeAlsoDisabled = AssociationExpensesManager.GetAllAssociationExpensesByMonthAndYearIncludingDisabled(estate.Id, _year, month); IEnumerable <Expenses> expenses = ExpensesManager.GetAllExpenses(); foreach (var expense in expenses) { TableRow row = new TableRow(); // add expense that were added TableCell expenseExists = new TableCell(); CheckBox esexExists = new CheckBox(); esexExists.AutoPostBack = false; esexExists.ID = String.Format("esateExpense{0}", expense.Id); esexExists.Checked = IsExpenseSelected(expense, ee, _year, month); expenseExists.Controls.Add(esexExists); row.Cells.Add(expenseExists); // add expense name TableCell expenseName = new TableCell { Text = expense.Name }; row.Cells.Add(expenseName); // add expense type TableCell expenseType = new TableCell(); AssociationExpenses esex = eeAlsoDisabled.FirstOrDefault(s => s.Id_Expense == expense.Id && s.Month == month && s.Year == _year && s.Id_Estate == estate.Id); DropDownList dp = new DropDownList(); if (expense.Id != (int)Expense.AjutorÎncălzire) { var selected1 = IsDplExpenseTypesSelected(esex, ExpenseType.PerIndex); dp.Items.Add(new ListItem { Value = "1", Text = "Individuală prin indecși", Selected = selected1 }); var selected2 = IsDplExpenseTypesSelected(esex, ExpenseType.PerCotaIndiviza); dp.Items.Add(new ListItem { Value = "2", Text = "Cotă indiviză de proprietate", Selected = selected2 }); var selected3 = IsDplExpenseTypesSelected(esex, ExpenseType.PerNrTenants); dp.Items.Add(new ListItem { Value = "3", Text = "Per număr persoane imobil", Selected = selected3 }); var selected4 = IsDplExpenseTypesSelected(esex, ExpenseType.PerApartament); dp.Items.Add(new ListItem { Value = ((int)ExpenseType.PerApartament).ToString(), Text = ExpenseType.PerApartament.ToDescription(), Selected = selected4 }); } dp.Items.Add(new ListItem { Value = "6", Text = "Individual", }); expenseType.Controls.Add(dp); row.Cells.Add(expenseType); if (estate.HasStaircase) { TableCell tcStairCase = new TableCell(); CheckBox stairCaseSplit = new CheckBox(); stairCaseSplit.AutoPostBack = false; stairCaseSplit.Checked = IsStairCaseSplitSelected(expense, ee, _year, month); tcStairCase.Controls.Add(stairCaseSplit); row.Cells.Add(tcStairCase); } else { tblMonthlyExpensesStairCaseSplit.Visible = false; } tblMonthlyExpenses.Rows.Add(row); } } } }
protected void btnStep2_Click(object sender, EventArgs e) { step11.Visible = false; step22.Visible = false; step33.Visible = true; expenseListHref1.Attributes["class"] = "done"; expenseListHref1.Attributes["isdone"] = "1"; expenseListHref2.Attributes["class"] = "done"; expenseListHref3.Attributes["class"] = "selected"; int _month; int _year = Year().HasValue ? Year().Value : 2017; if (int.TryParse(drpExpenseMonth.SelectedValue, out _month)) { var estate = (Associations)Session[SessionConstants.SelectedAssociation]; if (estate != null) { var existingAssociationExpenses = AssociationExpensesManager.GetByMonthAndYearNotDisabled(estate.Id, _year, _month); var existingAssociationExpensesIncludingDisabled = AssociationExpensesManager.GetAllAssociationExpensesByMonthAndYearIncludingDisabled(estate.Id, _year, _month); foreach (TableRow row in tblMonthlyExpenses.Rows) { if (row != null && row.Cells.Count > 2 && row.Cells[0] != null && row.Cells[0].Controls.Count > 0 && row.Cells[0].Controls[0] != null) { if (row.Cells[0].Controls[0] is CheckBox && row.Cells[2].Controls[0] is DropDownList) { bool?cbExpensePerStaircase = null; if (row.Cells.Count > 3 && row.Cells[3].Controls[0] is CheckBox) { CheckBox cbStairCase = (CheckBox)row.Cells[3].Controls[0]; cbExpensePerStaircase = cbStairCase.Checked; } CheckBox cbExpenseSelect = (CheckBox)row.Cells[0].Controls[0]; DropDownList dpExpenseType = (DropDownList)row.Cells[2].Controls[0]; int expenseId = 0; if (int.TryParse(cbExpenseSelect.ID.Replace("esateExpense", ""), out expenseId)) { bool existingAssociationExpensesContainsItem = existingAssociationExpenses.Select(esex => esex.Id_Expense).Contains(expenseId); bool existingAssociationExpensesContainsItemAsDisabled = existingAssociationExpensesIncludingDisabled .Where(es => es.WasDisabled).Select(esex => esex.Id_Expense).Contains(expenseId); AssociationExpenses ee = null; // if selected and non existing in the prev. config if (cbExpenseSelect.Checked && existingAssociationExpensesContainsItemAsDisabled) { // enables it ee = AssociationExpensesManager.GetAssociationExpensesByMonthAndYearAndDisabled(estate.Id, expenseId, _year, _month); AssociationExpensesManager.MarkAssociationExpensesDisableProperty(ee, false, cbExpensePerStaircase); } else if (!cbExpenseSelect.Checked && existingAssociationExpensesContainsItem) { // disables it ee = AssociationExpensesManager.GetAssociationExpensesByMonthAndYearAndDisabled(estate.Id, expenseId, _year, _month, false); AssociationExpensesManager.MarkAssociationExpensesDisableProperty(ee, true, cbExpensePerStaircase); } else if (cbExpenseSelect.Checked && !existingAssociationExpensesContainsItem) { ee = AssociationExpensesManager.GetAssociationExpensesByMonthAndYearAndDisabled(expenseId, estate.Id, _year, _month); if (ee != null) { // disables it AssociationExpensesManager.MarkAssociationExpensesDisableProperty(ee, true, cbExpensePerStaircase); } else { // adds it AssociationExpensesManager.Add(estate.Id, expenseId, _month, _year, dpExpenseType.SelectedValue, false); } } ExpenseType selectedExpenseType; if (Enum.TryParse <ExpenseType>(dpExpenseType.SelectedValue, out selectedExpenseType)) { if (ee == null) { ee = AssociationExpensesManager.GetAssociationExpense(estate.Id, expenseId, _year, _month); } if (ee == null) { continue; } if ((ExpenseType)ee.ExpenseTypes.Id != selectedExpenseType) { AssociationExpensesManager.UpdateAssociationExpenseType(ee, selectedExpenseType); } if (!ee.SplitPerStairCase.HasValue || ee.SplitPerStairCase.Value != cbExpensePerStaircase) { AssociationExpensesManager.MarkAssociationExpensesDisableProperty(ee, !cbExpenseSelect.Checked, cbExpensePerStaircase); } } } } } } } } if (Year() != null && Month() != null && step33.Visible) { Response.Redirect("~/Expenses/Invoices.aspx?year=" + Year() + "&month=" + Month()); } }
private void InitializeExpenses() { tblMonthlyExpenses.Rows.Clear(); int month = 0; int year = 0; if (int.TryParse(drpOpeningMonth.SelectedValue, out month) && int.TryParse(drpOpeningYear.SelectedValue, out year)) { var estate = (Associations)Session[SessionConstants.SelectedAssociation]; if (estate != null) { int defaultYear = 2017; int defaultMonth = 1; var defaultEe = AssociationExpensesManager.GetFromLastestOpenedMonth(estate.Id); if (defaultEe.Any()) { defaultYear = defaultEe.FirstOrDefault().Year; defaultMonth = defaultEe.FirstOrDefault().Month; } var eeAlsoDisabled = AssociationExpensesManager.GetAllAssociationExpensesByMonthAndYearIncludingDisabled(estate.Id, defaultYear, defaultMonth); IEnumerable <Expenses> expenses = ExpensesManager.GetAllExpenses(); var ee = AssociationExpensesManager.GetByMonthAndYearNotDisabled(estate.Id, defaultYear, defaultMonth); TableRow defaultRow = new TableRow(); // add expense exists TableCell defaultExpenseSelected = new TableCell { Text = "Activează pentru noua lună" }; defaultRow.Cells.Add(defaultExpenseSelected); // add expense name TableCell defaultExpenseName = new TableCell { Text = "Cheltuială" }; defaultRow.Cells.Add(defaultExpenseName); // add expense type TableCell defaultExpenseType = new TableCell() { Text = "Tip calcul cheltuială" }; defaultRow.Cells.Add(defaultExpenseType); if (estate.HasStaircase) { TableCell tcStairCaseDefaule = new TableCell() { Text = "Contor individual per scară" }; defaultRow.Cells.Add(tcStairCaseDefaule); } tblMonthlyExpenses.Rows.Add(defaultRow); foreach (var expense in expenses) { TableRow row = new TableRow(); // add expense exists TableCell expenseExists = new TableCell(); CheckBox esexExists = new CheckBox(); esexExists.AutoPostBack = false; esexExists.ID = String.Format("expense{0}", expense.Id); esexExists.Checked = IsExpenseSelected(expense, defaultEe); expenseExists.Controls.Add(esexExists); row.Cells.Add(expenseExists); // add expense name TableCell expenseName = new TableCell { Text = expense.Name }; row.Cells.Add(expenseName); // add expense type TableCell expenseType = new TableCell(); DropDownList dp = new DropDownList(); if (expense.Id != (int)Expense.AjutorÎncălzire) { AssociationExpenses esex = eeAlsoDisabled.FirstOrDefault(s => s.Id_Expense == expense.Id); var selected1 = IsDplExpenseTypesSelected(esex, ExpenseType.PerIndex, expense.LegalType); dp.Items.Add(new ListItem { Value = ((int)ExpenseType.PerIndex).ToString(), Text = "Individuală prin indecși", Selected = selected1 }); var selected2 = IsDplExpenseTypesSelected(esex, ExpenseType.PerCotaIndiviza, expense.LegalType); dp.Items.Add(new ListItem { Value = ((int)ExpenseType.PerCotaIndiviza).ToString(), Text = "Cotă indiviză de proprietate", Selected = selected2 }); var selected3 = IsDplExpenseTypesSelected(esex, ExpenseType.PerNrTenants, expense.LegalType); dp.Items.Add(new ListItem { Value = ((int)ExpenseType.PerNrTenants).ToString(), Text = "Per număr persoane imobil", Selected = selected3 }); var selected4 = IsDplExpenseTypesSelected(esex, ExpenseType.PerApartament, expense.LegalType); dp.Items.Add(new ListItem { Value = ((int)ExpenseType.PerApartament).ToString(), Text = ExpenseType.PerApartament.ToDescription(), Selected = selected4 }); } else { dp.Items.Add(new ListItem { Value = ((int)ExpenseType.Individual).ToString(), Text = "Individual", Selected = expense.LegalType == (int)ExpenseType.Individual }); } expenseType.Controls.Add(dp); row.Cells.Add(expenseType); if (estate.HasStaircase) { TableCell tcStairCase = new TableCell(); CheckBox stairCaseSplit = new CheckBox(); stairCaseSplit.AutoPostBack = false; stairCaseSplit.Checked = IsStairCaseSplitSelected(expense, ee, defaultYear, defaultMonth); tcStairCase.Controls.Add(stairCaseSplit); row.Cells.Add(tcStairCase); } tblMonthlyExpenses.Rows.Add(row); } } } }