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);
        }
Exemple #2
0
        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);
                    }
                }
            }
        }
Exemple #3
0
        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);
                    }
                }
            }
        }