private void InitializeGridViewExpensesPerIndex(DataTable dt, int esexId) { var apartments = ApartmentsManager.GetForIndividual(Association.Id, esexId); AssociationExpenses ee = AssociationExpensesManager.GetById(esexId); foreach (var apartment in apartments) { ApartmentExpensesManager.ConfigureIndividual(ee, apartment); string query = @" Select TE.Id as Id, A.Number as Apartament, TE.Value as 'Valoare' from ApartmentExpenses TE Inner join Apartments A ON TE.Id_Tenant = A.Id where Id_EstateExpense = " + esexId + " and Id_Tenant = " + apartment.Id + " and A.Id_Estate = " + Association.Id; SqlConnection cnn = new SqlConnection("data source=HOME\\SQLEXPRESS;initial catalog=Administratoro;integrated security=True;MultipleActiveResultSets=True;"); SqlCommand cmd = new SqlCommand(query, cnn); SqlDataAdapter adp = new SqlDataAdapter(cmd); adp.Fill(dt); } ViewState["dtIndividual"] = dt; gvExpensesPerIndex.DataSource = dt; gvExpensesPerIndex.DataBind(); }
protected void Page_Init(object sender, EventArgs e) { AssociationExpensesManager.ConfigurePerIndex(Association, year(), month()); mainHeader.InnerText = "Facturi pentru luna " + CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(month()) + " " + year(); InitializeInvoice(); }
protected void GridView1_DataBinding(object sender, EventArgs e) { GridViewRow headerGridRow = new GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Insert); //creating new Header Type TableCell headerCell = new TableCell(); //creating HeaderCell headerCell.ColumnSpan = 4; headerGridRow.Cells.Add(headerCell);//Adding HeaderCell to header. var expenses = AssociationExpensesManager.GetByMonthAndYearNotDisabled(Association.Id, Year, Month).GroupBy(ee => ee.Id_ExpenseType).OrderBy(er => er.Key).ToList(); foreach (var expense in expenses) { var headerCell2 = new TableCell(); headerCell2.Text = expense.FirstOrDefault().ExpenseTypes.Name; headerCell2.ColumnSpan = expense.ToList().Count; headerGridRow.Cells.Add(headerCell2);//Adding HeaderCell to header. } TableCell HeaderCell3 = new TableCell(); //creating HeaderCell HeaderCell3.ColumnSpan = GridView1.Rows[0].Cells.Count - 4 - expenses.Select(c => c.ToList()).Count(); headerGridRow.Cells.Add(HeaderCell3);//Adding HeaderCell to header. GridView1.Controls[0].Controls.AddAt(0, headerGridRow); }
private void ConfigureRedistributeMessages(int associationExpenseId) { string redistributeValue = RedistributionManager.CalculateRedistributeValueAsString(associationExpenseId); invoiceRedistributeMessage.Text = "<br>Cheltuială de redistribuit:" + redistributeValue + "<br>"; decimal redistributeVal; if (decimal.TryParse(redistributeValue, out redistributeVal)) { IEnumerable <Apartments> apartmentsForRedistribute = AssociationExpensesManager.GetApartmentsNrThatShouldRedistributeTo(associationExpenseId); txtInvoiceRedistributeEqualApartment.Text = apartmentsForRedistribute.Count() + " apartamente, alocă <b>" + Math.Round(redistributeVal / apartmentsForRedistribute.Count(), 2) + "</b> la fiecare apartament"; var allApartmentDependents = apartmentsForRedistribute.Sum(t => t.Dependents); var valuePerApartment = "0"; if (allApartmentDependents != 0) { valuePerApartment = Math.Round(redistributeVal / allApartmentDependents, 2).ToString(); } txtInvoiceRedistributeEqualTenants.Text = allApartmentDependents + " persoane în bloc, alocă <b>" + valuePerApartment + "</b> per fiecare locatar"; invoiceRedistributeEqualApartment.CommandArgument = associationExpenseId.ToString(); invoiceRedistributeEqualTenants.CommandArgument = associationExpenseId.ToString(); invoiceRedistributeConsumption.CommandArgument = associationExpenseId.ToString(); } }
protected void btnCloseMonth_Click(object sender, EventArgs e) { var expenses = AssociationExpensesManager.CheckCloseMonth(Association.Id, year(), month()); if (expenses.Any()) { pnlMessage.Visible = true; StringBuilder sb = new StringBuilder(); sb.Append("Luna nu poate fi închisă. <br> Cheltuielile care nu sunt complete: "); foreach (var expense in expenses) { sb.Append(expense.ToString() + ", "); } string result = sb.ToString().Substring(0, sb.ToString().Length - 2); Label lbMessage = new Label(); lbMessage.Attributes.CssStyle.Add("color", "red"); lbMessage.Text = result; pnlMessage.Controls.Add(lbMessage); } else { var shouldMonthClose = btnCloseMonth.CommandArgument != "0"; AssociationExpensesManager.ConfigureOpenCloseMonth(Association.Id, year(), month(), shouldMonthClose); Response.Redirect(Request.RawUrl); } }
protected void lblExpenseMeessageDownload_Click(object sender, EventArgs e) { DataTable dt; int stairCase; if (int.TryParse(drpDisplayMode.SelectedValue, out stairCase)) { dt = ApartmentExpensesManager.GetMonthlyRaportAsDataTable(Association.Id, Year, Month, stairCase); dt.Rows.Add(new TableCell()); } else { dt = ApartmentExpensesManager.GetMonthlyRaportAsDataTable(Association.Id, Year, Month, null); } MemoryStream stream; using (XLWorkbook wb = new XLWorkbook()) { var ws = wb.Worksheets.Add(dt, "Cheltuieli"); ws.Row(1).InsertRowsAbove(1); ws.Cells("A1").Value = ws.Cell(2, 1).Value; ws.Range("A1:A2").Merge(); ws.Cells("B1").Value = ws.Cell(2, 2).Value; ws.Range("B1:B2").Merge(); ws.Cells("C1").Value = ws.Cell(3, 2).Value; ws.Range("C1:C2").Merge(); ws.Cells("D1").Value = ws.Cell(4, 2).Value; ws.Range("D1:D2").Merge(); var expenses = AssociationExpensesManager.GetByMonthAndYearNotDisabled(Association.Id, Year, Month).GroupBy(ee => ee.Id_ExpenseType).OrderBy(er => er.Key); char position = 'E'; foreach (var expense in expenses) { var tempPosition = position; position = (char)(position + expense.ToList().Count - 1); var range = string.Format("{0}1:{1}1", tempPosition.ToString(), position.ToString()); ws.Cells(tempPosition + "1").Value = expense.FirstOrDefault().ExpenseTypes.Name; ws.Range(range).Merge(); position = (char)(position + 1); } stream = GetStream(wb); } string myName = Server.UrlEncode("Cheltuieli" + "_" + DateTime.Now.ToShortDateString() + ".xlsx"); Response.Clear(); Response.Buffer = true; Response.AddHeader("content-disposition", "attachment; filename=" + myName); Response.ContentType = "application/vnd.ms-excel"; Response.BinaryWrite(stream.ToArray()); Response.Flush(); Response.SuppressContent = true; }
protected void Page_Load(object sender, EventArgs e) { var defaultEe = AssociationExpensesManager.GetFromLastestOpenedMonth(Association.Id); if (!Page.IsPostBack) { InitializeYearsAndMonths(defaultEe); } InitializeExpenses(); }
protected void invoiceRedistributeEqualApartment_Click(object sender, EventArgs e) { Button btn = (Button)sender; int associationExpenseId; if (int.TryParse(btn.CommandArgument, out associationExpenseId)) { AssociationExpensesManager.UpdateRedistributeMethod(associationExpenseId, 1); Response.Redirect(Request.RawUrl); } }
protected void btnSave2_Click(object sender, EventArgs e) { var association = Session[SessionConstants.SelectedAssociation] as Administratoro.DAL.Associations; Dictionary <int, int> dictionary = GetSelectdExpenses(); AssociationExpensesManager.AddAssociationExpensesByApartmentAndMonth(association.Id, dictionary); association = AssociationsManager.GetById(association.Id); Session[SessionConstants.SelectedAssociation] = association; ConfigureStep3(); }
private void AddBodyPanels(int associationId, int yearNr, int monthNr) { string mainRowCssFormat = "col-md-12 col-sm-12 xs-12 cashBokItemsRow {0}"; bool even = false; IEnumerable <Administratoro.DAL.Expenses> allExpenses = ExpensesManager.GetAllExpenses(); var associationExpenses = AssociationExpensesManager.GetByMonthAndYearNotDisabled(associationId, yearNr, monthNr).OrderBy(ee => ee.Id_ExpenseType); // add expense panels foreach (Expenses expense in allExpenses) { var associationExpense = associationExpenses.FirstOrDefault(ea => ea.Id_Expense == expense.Id); if (associationExpense != null) { var mainCol = new Panel(); if (even) { even = false; mainCol.CssClass = string.Format(mainRowCssFormat, "evenRow"); } else { even = true; mainCol.CssClass = string.Format(mainRowCssFormat, "oddRow"); } bool isExpensePerIndex = associationExpense.ExpenseTypes.Id == (int)ExpenseType.PerIndex; var col0 = AddBodyPanelCol0(associationExpense, isExpensePerIndex); var col1 = AddBodyPanelCol1(expense, associationExpense); TextBox tb2; var col2 = AddBodyPanelCol2(associationExpense, out tb2); TextBox tb3; var col3 = AddBodyPanelCol3(associationExpense, tb2, out tb3); var col6 = AddBodyPanelCol6(associationExpense); var col4 = AddBodyPanelCol4(associationExpense, tb2); var col5 = AddBodyPanelCol5(associationExpense, isExpensePerIndex); mainCol.Controls.Add(col0); mainCol.Controls.Add(col1); mainCol.Controls.Add(col2); mainCol.Controls.Add(col3); mainCol.Controls.Add(col6); mainCol.Controls.Add(col4); mainCol.Controls.Add(col5); invoiceMain.Controls.Add(mainCol); } } }
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); }
protected void Page_Load(object sender, EventArgs e) { InitializeStairCases(); var idExes = Request.QueryString["id_exes"]; int idExpenseEstate; if (int.TryParse(idExes, out idExpenseEstate)) { AssociationExpenses ee = AssociationExpensesManager.GetById(idExpenseEstate); if (ee != null) { btnRedirect.PostBackUrl = "Invoices.aspx?year=" + ee.Year + "&month=" + ee.Month; btnRedirect.Visible = true; lblExpenseMeessage.Text = "Modifică <b>" + ee.Expenses.Name + "</b> pe luna <b>" + CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(ee.Month) + "</b> (cheltuială " + ee.ExpenseTypes.Name + ")"; if (ee.ExpenseTypes.Id == (int)ExpenseType.PerIndex) { DataTable dt = new DataTable(); if (!Page.IsPostBack) { //todo1 - work around counters and staircase //txtExpensesPerIndexValue.Text = ee.AssociationExpensesUnitPrices.FirstOrDefault().PricePerExpenseUnit.ToString(); } if (ViewState["dtPerIndex"] == null) { InitializeGridViewExpensesPerIndex(dt, ee.Id); } else { dt = (DataTable)ViewState["dtPerIndex"]; ViewState["dtPerIndex"] = dt; gvExpensesPerIndex.DataSource = dt; } } else { throw new ArgumentException("Expense type not per index"); } } else { throw new ArgumentException("AddEditExpenseRequest parameter does not exist"); } } else { throw new ArgumentException("AddEditExpenseRequest parameter not correct"); } }
private static Panel AddBodyPanelCol0(AssociationExpenses associationExpense, bool isExpensePerIndex) { // column 0 var col0 = new Panel(); Literal literal0 = new Literal { Text = AssociationExpensesManager.StatusOfInvoices(associationExpense, isExpensePerIndex) }; col0.Controls.Add(literal0); col0.CssClass = "col-md-1 col-sm-2 col-xs-6"; return(col0); }
private void InitializeYearMonth() { drpAvailableMonths.Items.Clear(); var yearMonths = AssociationExpensesManager.GetAllMonthsAndYearsAvailableByAssociationId(Association.Id); for (int i = 0; i < yearMonths.Count; i++) { var yearMonth = yearMonths[i]; drpAvailableMonths.Items.Add(new System.Web.UI.WebControls.ListItem { Value = yearMonth.Year + "-" + yearMonth.Month, Text = "Anul:" + yearMonth.Year + " Luna:" + yearMonth.Month, }); } }
public void ClickablePanel1_Click(object sender, EventArgs e) { Button btn = (Button)sender; int associationExpenseId; if (int.TryParse(btn.CommandArgument, out associationExpenseId)) { var associationExpense = AssociationExpensesManager.GetById(associationExpenseId); if (associationExpense == null) { return; } Response.Redirect("~/Invoices/Add.aspx?year=" + year() + "&month=" + month() + "&expense=" + associationExpense.Id_Expense); } }
private void InitializeGridViewExpensesPerIndex(DataTable dt, int esexId) { AssociationExpenses ee = AssociationExpensesManager.GetById(esexId); int stairCase; List <Administratoro.DAL.Apartments> apartments; if (Association.HasStaircase && !string.IsNullOrEmpty(drpStairCases.SelectedValue) && int.TryParse(drpStairCases.SelectedValue, out stairCase)) { apartments = ApartmentsManager.GetAllThatAreRegisteredWithSpecificCounters(Association.Id, esexId, stairCase); } else { apartments = ApartmentsManager.GetAllThatAreRegisteredWithSpecificCounters(Association.Id, esexId); } ApartmentExpensesManager.ConfigurePerIndex(ee, apartments); foreach (var apartment in apartments) { string query = @" Select AE.Id as Id, A.Number as Apartament, cast(AE.IndexOld as float) as 'Index vechi', cast(AE.IndexNew as float) as 'Index nou', (AE.IndexNew - AE.IndexOld ) as 'Consum', AE.Value as 'Valoare' from ApartmentExpenses AE Inner join Apartments A ON AE.Id_Tenant = A.Id where Id_EstateExpense = " + esexId + " and Id_Tenant = " + apartment.Id + " and A.Id_Estate = " + Association.Id; SqlConnection cnn = new SqlConnection("data source=HOME\\SQLEXPRESS;initial catalog=Administratoro;integrated security=True;MultipleActiveResultSets=True;"); SqlCommand cmd = new SqlCommand(query, cnn); SqlDataAdapter adp = new SqlDataAdapter(cmd); adp.Fill(dt); } ViewState["dtPerIndex"] = dt; gvExpensesPerIndex.DataSource = dt; gvExpensesPerIndex.DataBind(); }
private void InitializeMonths(int?year, int?month) { drpExpenseMonth.Items.Clear(); var estate = (Associations)Session[SessionConstants.SelectedAssociation]; if (estate != null) { var yearMonths = AssociationExpensesManager.GetAllMonthsAndYearsAvailableByAssociationId(estate.Id); foreach (var ym in yearMonths) { drpExpenseMonth.Items.Add(new ListItem { Text = CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(ym.Month) + " " + ym.Year, Value = ym.Month.ToString(), Selected = (year != null && ym.Month == month.Value) }); } } }
private void InitializeMonths(int month) { var availableYearMonths = AssociationExpensesManager.GetAllMonthsAndYearsAvailableByAssociationId(Association.Id); drpOpeningMonth.Items.Clear(); drpOpeningMonth.Items.Add(new ListItem { Value = "1", Text = "Ianuarie", Selected = IsMonthSelected(1, month), Enabled = IsMonthEnabled(1, availableYearMonths) }); drpOpeningMonth.Items.Add(new ListItem { Value = "2", Text = "Februarie", Selected = IsMonthSelected(2, month), Enabled = IsMonthEnabled(2, availableYearMonths) }); drpOpeningMonth.Items.Add(new ListItem { Value = "3", Text = "Martie", Selected = IsMonthSelected(3, month), Enabled = IsMonthEnabled(3, availableYearMonths) }); drpOpeningMonth.Items.Add(new ListItem { Value = "4", Text = "Aprilie", Selected = IsMonthSelected(4, month), Enabled = IsMonthEnabled(4, availableYearMonths) }); drpOpeningMonth.Items.Add(new ListItem { Value = "5", Text = "Mai", Selected = IsMonthSelected(5, month), Enabled = IsMonthEnabled(5, availableYearMonths) }); drpOpeningMonth.Items.Add(new ListItem { Value = "6", Text = "Iunie", Selected = IsMonthSelected(6, month), Enabled = IsMonthEnabled(6, availableYearMonths) }); drpOpeningMonth.Items.Add(new ListItem { Value = "7", Text = "Iulie", Selected = IsMonthSelected(7, month), Enabled = IsMonthEnabled(7, availableYearMonths) }); drpOpeningMonth.Items.Add(new ListItem { Value = "8", Text = "August", Selected = IsMonthSelected(8, month), Enabled = IsMonthEnabled(8, availableYearMonths) }); drpOpeningMonth.Items.Add(new ListItem { Value = "9", Text = "Septembrie", Selected = IsMonthSelected(9, month), Enabled = IsMonthEnabled(9, availableYearMonths) }); drpOpeningMonth.Items.Add(new ListItem { Value = "10", Text = "Octombrie", Selected = IsMonthSelected(10, month), Enabled = IsMonthEnabled(10, availableYearMonths) }); drpOpeningMonth.Items.Add(new ListItem { Value = "11", Text = "Noiembrie", Selected = IsMonthSelected(11, month), Enabled = IsMonthEnabled(11, availableYearMonths) }); drpOpeningMonth.Items.Add(new ListItem { Value = "12", Text = "Decembrie", Selected = IsMonthSelected(12, month), Enabled = IsMonthEnabled(12, availableYearMonths) }); }
private static Panel AddBodyPanelCol5(AssociationExpenses associationExpense, bool isExpensePerIndex) { // column 5 var col5 = new Panel { CssClass = "col-md-3 col-sm-2 col-xs-6" }; if (associationExpense.Id_ExpenseType != (int)ExpenseType.Individual) { if (isExpensePerIndex && associationExpense.Associations.Apartments.Count() > 0) { var message = AssociationExpensesManager.ExpensePercentageFilledInMessage(associationExpense); var col5Literal = new Literal { Text = message }; col5.Controls.Add(col5Literal); if (!message.Contains("<b>0</b> citiri adăugate din <b>0</b")) { Button btnAddExpense = new Button { PostBackUrl = "AddEditExpense.aspx?id_exes=" + associationExpense.Id, Text = "Adaugă/Modifică", Visible = isExpensePerIndex }; col5.Controls.Add(btnAddExpense); } } } else { Button btnAddHeatHelp = new Button { PostBackUrl = "AddEditIndividual.aspx?id_exes=" + associationExpense.Id, Text = "Adaugă/Modifică" }; col5.Controls.Add(btnAddHeatHelp); } return(col5); }
protected void Page_Load(object sender, EventArgs e) { var estate = (Associations)Session[SessionConstants.SelectedAssociation]; var defaultCssClass = "col-md-2 col-sm-3 col-xs-12"; List <YearMonth> yearMonths = AssociationExpensesManager.GetAllMonthsAndYearsAvailableByAssociationId(estate.Id); if (yearMonths.Count != 0) { foreach (var yearMonth in yearMonths) { var month = new Panel { CssClass = defaultCssClass }; var link = new LinkButton { Text = CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(yearMonth.Month) + " " + yearMonth.Year.ToString() }; link.Click += link_Click; link.CommandArgument = yearMonth.Year.ToString() + yearMonth.Month.ToString(); link.CssClass = "monthsMainItem"; month.Controls.Add(link); monthsMain.Controls.Add(month); } var month0 = new Panel { CssClass = defaultCssClass }; monthsMain.Controls.Add(month0); } else { var lblMessage = new Label { Text = @"<h4>Nici o lună deschisă.</h4> <br> Pentru a vedea rapoarte, mai întâi trebuie să ai cel puțin o lună deschisă. <a href='/Expenses/Dashboard.aspx'>Click aici pentru a începe<a/>" }; monthsMain.Controls.Add(lblMessage); } }
private void InitializeInvoice(int associationId, int yearNr, int monthNr) { bool isMonthClosed = AssociationExpensesManager.IsMonthClosed(associationId, yearNr, monthNr); if (!isMonthClosed) { AddHeaderPanels(); AddBodyPanels(associationId, yearNr, monthNr); btnCloseMonth.CommandArgument = "1"; } else { Label lbMessage = new Label(); lbMessage.Attributes.CssStyle.Add("color", "red"); lbMessage.Text = "Luna este închisă, nu se mai pot face modificări. Pentru a redeschide luna contactează administratorul asociației"; pnlMessage.Controls.Add(lbMessage); pnlMessage.Visible = true; btnCloseMonth.Text = "Deschide Luna"; btnCloseMonth.CommandArgument = "0"; lblExpenseMeessageConfigure.Visible = false; } }
protected void Page_Load(object sender, EventArgs e) { var estate = (Administratoro.DAL.Associations)Session[SessionConstants.SelectedAssociation]; var defaultCssClass = "col-md-2 col-sm-3 col-xs-12"; var yearMonths = AssociationExpensesManager.GetAllMonthsAndYearsAvailableByAssociationId(estate.Id); foreach (var yearMonth in yearMonths) { var month = new Panel { CssClass = defaultCssClass }; var link = new LinkButton { Text = CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(yearMonth.Month) + " " + yearMonth.Year.ToString() }; link.Click += link_Click; link.CommandArgument = yearMonth.Year.ToString() + yearMonth.Month.ToString(); link.CssClass = "monthsMainItem"; month.Controls.Add(link); monthsMain.Controls.Add(month); } var month0 = new Panel { CssClass = defaultCssClass }; var lnkNewMonthOprning = new LinkButton { Text = "Deschide o nouă lună" }; lnkNewMonthOprning.Click += lnkNewMonthOprning_Click; lnkNewMonthOprning.CommandArgument = "-1"; lnkNewMonthOprning.CssClass = "monthsMainItem fa fa-plus"; month0.Controls.Add(lnkNewMonthOprning); monthsMain.Controls.Add(month0); }
private Panel AddBodyPanelCol6(AssociationExpenses associationExpense) { // column 6 var col6 = new Panel { CssClass = "col-md-2 col-sm-2 col-xs-6" }; if (associationExpense.ExpenseTypes.Id == (int)ExpenseType.PerIndex) { string percentage = AssociationExpensesManager.GetPercentageAsString(associationExpense); Button btnRedistibuteRemainingExpense = new Button { CssClass = "btnRedistibuteRemainingExpense", Visible = (percentage == "100" || percentage == string.Empty) ? true : false, Text = (!associationExpense.RedistributeType.HasValue) ? "Redistribuie" : "Redistibuit " + associationExpense.AssociationExpensesRedistributionTypes.Value + ", MODIFICĂ", CommandArgument = associationExpense.Id.ToString() }; btnRedistibuteRemainingExpense.Click += btnRedistibuteRemainingExpense_Click; col6.Controls.Add(btnRedistibuteRemainingExpense); } return(col6); }
protected void btnDownload_Click(object sender, EventArgs e) { BaseFont bfTimes = BaseFont.CreateFont(BaseFont.TIMES_ROMAN, BaseFont.CP1250, false); Font times = new Font(bfTimes, 12, Font.ITALIC, BaseColor.BLACK); //server folder path which is stored your PDF documents string path = Server.MapPath(""); string filename = path + "\\Doc1.pdf"; var apartments = ApartmentsManager.Get(Association.Id); Font boldFont = new Font(null, 12, Font.BOLD); //Create new PDF document Document document = new Document(PageSize.A4, 80f, 80f, 20f, 20f); using (Document doc = new Document()) { MemoryStream msPDFData = new MemoryStream(); doc.Open(); doc.Add(new Paragraph("I'm a pdf!")); byte[] pdfData = msPDFData.ToArray(); } var association = Association; try { PdfWriter.GetInstance(document, new FileStream(filename, FileMode.Create)); document.Open(); foreach (var apartment in apartments) { decimal? sumToPay = 0; PdfPTable tblHeader = new PdfPTable(2) { WidthPercentage = 100 }; tblHeader.AddCell(GetCell("ASOCIATIA DE PROPRIETARI " + association.Name + ", CF " + association.FiscalCode, PdfPCell.ALIGN_LEFT)); tblHeader.AddCell(GetCell("CONTUL BANCAR " + association.BanckAccont, PdfPCell.ALIGN_RIGHT)); document.Add(tblHeader); document.Add(new Phrase("\n")); PdfPTable tbAp = new PdfPTable(4); tbAp.WidthPercentage = 100; tbAp.AddCell(GetCell("Ap.: " + apartment.Number, PdfPCell.ALIGN_CENTER)); tbAp.AddCell(GetCell("Nume: " + apartment.Name, PdfPCell.ALIGN_CENTER)); tbAp.AddCell(GetCell("Cota: " + (apartment.CotaIndiviza.HasValue ? apartment.CotaIndiviza.Value.ToString(CultureInfo.InvariantCulture) : string.Empty), PdfPCell.ALIGN_CENTER)); tbAp.AddCell(GetCell("Nr. Pers: " + apartment.Dependents, PdfPCell.ALIGN_CENTER)); document.Add(tbAp); document.Add(new Phrase("\n")); var associationExpensesGrouped = AssociationExpensesManager.GetByMonthAndYearNotDisabled(association.Id, GetYear(), GetMonth()) .GroupBy(ee => ee.Id_ExpenseType).OrderBy(er => er.Key); foreach (var assocExpenses in associationExpensesGrouped) { // add header document.Add(new Paragraph("Cheltuielile de tipulîățșț " + assocExpenses.FirstOrDefault().ExpenseTypes.Name, times)); if (assocExpenses.FirstOrDefault().Id_ExpenseType == (int)ExpenseType.PerIndex) { foreach (var assocExpense in assocExpenses) { var apExpenses = assocExpense.ApartmentExpenses.Where(w => w.Id_Tenant == apartment.Id).ToList(); if (apExpenses.Any()) { sumToPay = sumToPay + AddIndexTable(document, apExpenses, apartment, assocExpense.Id); } } } else if (assocExpenses.FirstOrDefault().Id_ExpenseType == (int)ExpenseType.PerCotaIndiviza) { sumToPay = sumToPay + AddCotaTable(document, assocExpenses.ToList(), apartment.Id); } else if (assocExpenses.FirstOrDefault().Id_ExpenseType == (int)ExpenseType.PerNrTenants) { sumToPay = sumToPay + AddTenantsTable(document, assocExpenses.ToList(), apartment.Id); } // add rows // add subtotal } document.Add(new Paragraph("TOTAL DE PLATA: " + sumToPay, boldFont)); document.NewPage(); } } catch (Exception) { } finally { document.Close(); ShowPdf(filename); } }
public ActionResult Index() { var months = AssociationExpensesManager.GetAllMonthsAndYearsAvailableByAssociationId(AssociationId); return(View(months)); }
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 static Panel AddBodyPanelCol3(AssociationExpenses associationExpense, TextBox tb1, out TextBox tb3) { // column 3 var col3 = new Panel { CssClass = "col-md-1 col-sm-4 col-xs-6" }; tb3 = new TextBox { Enabled = false, CssClass = "invoiceItemTextbox" }; if (associationExpense.Id_ExpenseType == (int)ExpenseType.PerIndex) { if (!associationExpense.RedistributeType.HasValue) { var percentage = AssociationExpensesManager.GetPercentageAsString(associationExpense); if (percentage == "100") { var redistributeResult = RedistributionManager.GetRedistributeValuePerIndex(associationExpense); tb3.Text = redistributeResult.HasValue ? redistributeResult.Value.ToString() : string.Empty; } if (tb3.Text == "0,0000000") { tb3.Text = string.Empty; } if (!string.IsNullOrEmpty(tb3.Text)) { var col3Literal = new Literal { Text = "<b>" + tb1.Text + " - " + associationExpense.ApartmentExpenses.Sum(ee => ee.Value) + "</b>" }; col3.Controls.Add(col3Literal); } col3.Controls.Add(tb3); } else { tb3.Text = ""; col3.Controls.Add(tb3); } } //else if (apartmentExpense.Id_ExpenseType == (int)ExpenseType.PerCotaIndiviza) //{ // //if (!string.IsNullOrEmpty(tb1.Text)) // //{ // // var col3Literal = new Literal { Text = "0" }; // // col3.Controls.Add(col3Literal); // //} //} //else if (apartmentExpense.Id_ExpenseType == (int)ExpenseType.PerTenants && estateapartmentExpenseExpense.TenantExpenses.Count > 0) //{ // //var col3Literal = new Literal { Text = "0" }; // //var col3Literal = new Literal { Text = Estate.Tenants.Sum(s => s.Dependents) + " persoane, <b>" + ApartmentExpensesManager.CalculatePertenantPrice(apartmentExpense) + "</b> alocat fiecăruia " }; // //col3.Controls.Add(col3Literal); //} return(col3); }
private void InitializeInvoices() { var ee = AssociationExpensesManager.GetByMonthAndYearwithDiverse(Association.Id, year(), month()); Panel pnHeader = new Panel(); pnHeader.CssClass = "col-md-12 invoicesListHeader"; Label lbHeaderName = new Label { Text = "Cheltuială", CssClass = "col-md-6" }; pnHeader.Controls.Add(lbHeaderName); Label lbHeaderValue = new Label { Text = "Valoare", CssClass = "col-md-6" }; pnHeader.Controls.Add(lbHeaderValue); invoiceMain.Controls.Add(pnHeader); foreach (var associationExpense in ee) { if (associationExpense.Invoices.Count != 0) { foreach (var invoice in associationExpense.Invoices) { Panel pn = new Panel(); pn.CssClass = "col-md-12"; Label lbName = new Label(); lbName.Text = invoice.Description; lbName.CssClass = "col-md-6"; pn.Controls.Add(lbName); Label lbValue = new Label(); lbValue.Text = invoice.Value.HasValue ? invoice.Value.Value.ToString() : string.Empty; lbValue.CssClass = "col-md-6"; pn.Controls.Add(lbValue); invoiceMain.Controls.Add(pn); } } else { Panel pn = new Panel(); pn.CssClass = "col-md-12"; Label lbName = new Label(); lbName.Text = associationExpense.Expenses.Name; lbName.CssClass = "col-md-6"; pn.Controls.Add(lbName); Label lbValue = new Label(); lbValue.Text = string.Empty; lbValue.CssClass = "col-md-6"; pn.Controls.Add(lbValue); invoiceMain.Controls.Add(pn); } } }
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); } } } }