コード例 #1
0
ファイル: Index.aspx.cs プロジェクト: adrian10nagy/adro
        protected void Page_Init(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                InitializeCounters();
            }
            else
            {
                gvCounters.DataBind();
            }

            var assoc = Association;

            txtAssociationName.Text                   = assoc.Name;
            txtAssociationAddress.Text                = assoc.Address;
            txtAssociationFiscalCode.Text             = assoc.FiscalCode;
            txtAssociationBanckAccount.Text           = assoc.BanckAccont;
            txtPenaltyRate.Text                       = assoc.penaltyRate.HasValue ? (assoc.penaltyRate.Value * 100).ToString(new CultureInfo("ro-RO")) : string.Empty;
            drpAssociationEqualIndiviza.SelectedValue = (assoc.CotaIndivizaAparments.HasValue) ? "1" : "0";
            if (assoc.CotaIndivizaAparments.HasValue)
            {
                txtAssociationCotaIndivizaApartments.Text    = assoc.CotaIndivizaAparments.Value.ToString(CultureInfo.InvariantCulture);
                btnAssociationEqualIndiviza.Visible          = true;
                txtAssociationCotaIndivizaApartments.Visible = true;
            }

            //todo refactor, use SP
            var apartments = ApartmentsManager.Get(assoc.Id);

            tbFondReparatii.Text = apartments.Sum(a => a.FondReparatii).ToString();
            tbFondRulment.Text   = apartments.Sum(a => a.FondRulment).ToString();

            InitializeStairs();
        }
コード例 #2
0
        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();
        }
コード例 #3
0
ファイル: Manage.aspx.cs プロジェクト: adrian10nagy/adro
        private void InitializeUsersTable()
        {
            var apartments = ApartmentsManager.Get(Association.Id);

            foreach (Administratoro.DAL.Apartments ap in apartments)
            {
                TableRow row = new TableRow();

                HyperLink linkEditUser = new HyperLink
                {
                    NavigateUrl = "~/Apartments/Add.aspx?apartmentid=" + ap.Id,
                    CssClass    = "toClickOn",
                    Text        = "Editează"
                };
                TableCell userEditCell = new TableCell();
                userEditCell.Controls.Add(linkEditUser);
                row.Cells.Add(userEditCell);

                TableCell tentantNr = new TableCell
                {
                    Text = ap.Number.ToString()
                };
                row.Cells.Add(tentantNr);

                TableCell tentantName = new TableCell
                {
                    Text = ap.Name
                };
                row.Cells.Add(tentantName);

                TableCell userPhone = new TableCell
                {
                    Text = ap.Telephone
                };
                row.Cells.Add(userPhone);

                TableCell userEmail = new TableCell
                {
                    Text = ap.Email
                };
                row.Cells.Add(userEmail);

                TableCell userDependents = new TableCell
                {
                    Text = ap.Dependents.ToString()
                };
                row.Cells.Add(userDependents);

                TableCell userSurface = new TableCell
                {
                    Text = ap.CotaIndiviza.ToString()
                };
                row.Cells.Add(userSurface);

                datatableResponsive.Rows.Add(row);
            }
        }
コード例 #4
0
ファイル: FilesManager.cs プロジェクト: adrian10nagy/adro
        public static string GetMonthlyExpensefilePath(int year, int month, int apartmentId)
        {
            const string filePath = "C:\\adminRo\\fluturasi\\{0}\\{1}-{2}\\p{3}.pdf";
            string       result   = null;

            var apartment = ApartmentsManager.GetById(apartmentId);

            if (apartment != null)
            {
                result = string.Format(filePath, apartmentId, year, month, apartment.Number);
            }

            return(result);
        }
コード例 #5
0
        protected void btnSave_Click(object sender, EventArgs e)
        {
            if (!this.ValidateInputs())
            {
                return;
            }

            var cota      = apartmentCota.Value.ToNullableDecimal();
            var apartment = new Administratoro.DAL.Apartments
            {
                Name          = userName.Value,
                Dependents    = userDependents.Value.ToNullableInt().Value,
                ExtraInfo     = userExtraInfo.Value,
                CotaIndiviza  = cota ?? 0,
                Number        = userNr.Value.ToNullableInt().Value,
                Telephone     = userPhone.Value,
                Email         = userEmail.Value,
                CreatedDate   = DateTime.Now,
                id_Estate     = Association.Id,
                Password      = "******",
                Id_StairCase  = userStairCase.SelectedValue.ToNullableInt(),
                HasHeatHelp   = userHeatHelp.SelectedIndex == 1,
                FondReparatii = txtFondRepairs.Value.ToNullableDecimal(),
                FondRulment   = txtfondRulment.Value.ToNullableDecimal()
            };

            if (!string.IsNullOrEmpty(lblUserId.Text) && lblUserId.Text.ToNullableInt() != 0)
            {
                apartment.Id = lblUserId.Text.ToNullableInt().Value;
                ApartmentsManager.Update(apartment);
            }
            else
            {
                apartment          = ApartmentsManager.Add(apartment);
                lblStatus.Text     = FlowMessages.ApartmentAddSuccess;
                lblStatus.CssClass = "SuccessBox";
            }

            ProcessSaveCounters(apartment);

            var association = AssociationsManager.GetById(Association.Id);

            Session[SessionConstants.SelectedAssociation] = association;

            Response.Redirect("~/Apartments/Manage.aspx?Message=UserUpdatedSuccess");
        }
コード例 #6
0
        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();
        }
コード例 #7
0
        private void PopulateCounters(Administratoro.DAL.Associations association, int?apartmentId)
        {
            estateCounters.Visible = false;

            //if (association.HasStaircase)
            if (true)
            {
                Administratoro.DAL.Apartments apartment = null;
                if (apartmentId.HasValue)
                {
                    apartment = ApartmentsManager.GetById(apartmentId.Value);
                }

                Panel headerPanel = new Panel();
                Label lbExpense   = new Label
                {
                    Text     = "Cheltuială",
                    CssClass = "col-md-4 col-xs-4 countersTableHeader"
                };

                Label lbName = new Label
                {
                    Text     = "Contor alocat",
                    CssClass = "col-md-4 col-xs-4 countersTableHeader"
                };

                Label lbNrCountersPerApartment = new Label
                {
                    Text     = "Numărul de contoare în apartament ",
                    CssClass = "col-md-4 col-xs-4 countersTableHeader"
                };

                headerPanel.Controls.Add(lbExpense);
                headerPanel.Controls.Add(lbName);
                headerPanel.Controls.Add(lbNrCountersPerApartment);

                estateCounters.Controls.Add(headerPanel);

                IEnumerable <Administratoro.DAL.Expenses> expenses = ExpensesManager.GetAllExpenses();
                foreach (var expense in expenses)
                {
                    PopulateCountersData(association, expense, apartment);
                }
            }
        }
コード例 #8
0
        private void InitializeApartments()
        {
            var ap = ApartmentsManager.Get(Association.Id);

            drpApartments.Items.Add(new ListItem
            {
                Text  = string.Empty,
                Value = "-1"
            });

            foreach (var apartment in ap)
            {
                drpApartments.Items.Add(new ListItem
                {
                    Value = apartment.Id.ToString(),
                    Text  = apartment.Number + ": " + apartment.Name
                });
            }
        }
コード例 #9
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!Page.IsPostBack)
     {
         PopulateStairCase(Association);
         if (!string.IsNullOrEmpty(Request["apartmentid"]))
         {
             var apartmentid = Request["apartmentid"].ToNullableInt();
             if (apartmentid != null && apartmentid != 0)
             {
                 var apartment = ApartmentsManager.GetById(apartmentid.Value);
                 if (apartment != null)
                 {
                     userName.Value              = apartment.Name;
                     userExtraInfo.Value         = apartment.ExtraInfo;
                     userPhone.Value             = apartment.Telephone;
                     userEmail.Value             = apartment.Email;
                     userDependents.Value        = apartment.Dependents.ToString();
                     apartmentCota.Value         = apartment.CotaIndiviza.ToString();
                     userNr.Value                = apartment.Number.ToString();
                     btnSave.Text                = "Actualizează datele";
                     lblUserId.Text              = Request["apartmentid"];
                     userStairCase.SelectedValue = (apartment.Id_StairCase != null) ? apartment.Id_StairCase.ToString() : null;
                     userHeatHelp.SelectedValue  = (apartment.HasHeatHelp.HasValue && apartment.HasHeatHelp.Value ? "1" : "0");
                     txtfondRulment.Value        = (apartment.FondRulment.HasValue ? apartment.FondRulment.Value.ToString() : "0");
                     txtFondRepairs.Value        = (apartment.FondReparatii.HasValue ? apartment.FondReparatii.Value.ToString() : "0");
                 }
                 else
                 {
                     Response.Redirect("~/Error.aspx?errorId=" + ErrorMessages.UserInvalid);
                 }
             }
             else
             {
                 Response.Redirect("~/Error.aspx?errorId=" + ErrorMessages.UserInvalid);
             }
         }
         else
         {
             PopulateApartmentLogic(Association);
         }
     }
 }
コード例 #10
0
ファイル: Add.aspx.cs プロジェクト: adrian10nagy/adro
        private void InitializeYearMonth()
        {
            drpApartaments.Items.Clear();

            drpApartaments.Items.Add(new ListItem
            {
                Value = string.Empty,
                Text  = string.Empty
            });

            var apartments = ApartmentsManager.Get(Association.Id);

            foreach (var apartment in apartments)
            {
                drpApartaments.Items.Add(new ListItem
                {
                    Value = apartment.Id.ToString(),
                    Text  = "Ap. " + apartment.Number + " : " + apartment.Name
                });
            }
        }
コード例 #11
0
        public ActionResult AsyncUserLogin(string userId, string userPass)
        {
            int userIdValue;

            if (!int.TryParse(userId, out userIdValue))
            {
                return(Json(new { response = JSONResponse.Success }));
            }

            var user = ApartmentsManager.GetByIdAndPassword(userIdValue, userPass);

            if (user == null || user.Id == 0)
            {
                return(Json(new { response = JSONResponse.IncorrectAuthentication }));
            }

            Session["userId"]   = user.Id;
            Session["userName"] = user.Name;
            Session["assId"]    = user.id_Estate;

            return(Json(new { response = JSONResponse.Success }));
        }
コード例 #12
0
ファイル: Flyers.aspx.cs プロジェクト: adrian10nagy/adro
        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);
            }
        }