private void InitializeFormControls()
        {
            InitializeComponent();
            button1.Visible   = UserSession.IsAuthorized;
            wasDbUpdated      = false;
            deletingFilesList = new List <UploadedFile>();
            relatedFiles      = new BindingList <UploadedFile>();
            contactsList      = new BindingList <ContactPerson>();
            deletingContacts  = new List <ContactPerson>();

            contactsTable.RowsAdded += (sender, e) => DataGridViewHelper.CalculateNewRowNumber(contactsTable, 0, e.RowIndex, e.RowCount);
            DataGridViewHelper.ConfigureFileTable(filesTable, relatedFiles, deletingFilesList, linkLabel5, linkLabel4, linkLabel3);

            contactsTable.AutoGenerateColumns = false;
            contactsTable.DataSource          = contactsList;
            filesTable.DataSource             = relatedFiles;
        }
        private void InitializeControls()
        {
            InitializeComponent();
            filesTable.AutoGenerateColumns = false;
            dbWasChanged          = false;
            moneyRemainLabel.Text = string.Empty;
            LoadProcedureTypesCBList();

            button1.Visible = UserSession.IsAuthorized;

            tenderBeginDate.Value = protocolDate.Value =
                new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 0, 0, 0).AddYears(Convert.ToInt32(year.Year) - DateTime.Now.Year);
            tenderBeginDate.MinDate = new DateTime(Convert.ToInt32(year.Year), 1, 1, 0, 0, 0);
            protocolDate.MinDate    = new DateTime(Convert.ToInt32(year.Year - 1), 1, 1, 0, 0, 0);
            tenderBeginDate.MaxDate = protocolDate.MaxDate = new DateTime(Convert.ToInt32(year.Year), 12, 31, 0, 0, 0);

            deletingFiles         = new List <UploadedFile>();
            relatedFiles          = new BindingList <UploadedFile>();
            filesTable.DataSource = relatedFiles;
            DataGridViewHelper.ConfigureFileTable(filesTable, relatedFiles, deletingFiles, linkLabel1, linkLabel2, linkLabel3);

            using (TenderContext tc = new TenderContext())
            {
                estimateList                  = tc.Estimates.Where(p => p.TenderYearId == this.year.Id).ToList();
                controlWasChangedByUser       = false;
                estimatesCBList.DataSource    = estimateList;
                controlWasChangedByUser       = true;
                estimatesCBList.DisplayMember = "Name";
                estimatesCBList.ValueMember   = "Id";

                altKekvList = tc.KekvCodes.OrderBy(p => p.Code).Select(p => new KekvRemain {
                    Kekv = p
                }).ToList();
                altKekv.DataSource = altKekvList;

                mainKekv.DisplayMember = altKekv.DisplayMember = "Kekv";
                mainKekv.ValueMember   = altKekv.ValueMember = "Id";
            }

            LoadKekvsOnEstimate();
        }
Beispiel #3
0
        public ContractsOnDkCodeForm(TenderPlanRecord record, bool isNewSystemSelected)
        {
            InitializeComponent();
            contractsTable.AutoGenerateColumns = false;
            contractsTable.RowsAdded          += (sender, e) => DataGridViewHelper.CalculateNewRowNumber(contractsTable, 0, e.RowIndex, e.RowCount);

            using (TenderContext tc = new TenderContext())
            {
                tc.TenderPlanRecords.Attach(record);
                estimateNameLabel.Text = record.Estimate.Name;
                dkCodeLabel.Text       = record.Dk.FullName;

                List <ContractsTableEntry> tableEntries = new List <ContractsTableEntry>();

                if (isNewSystemSelected)
                {
                    kekvLabel.Text = record.PrimaryKekv.Code;
                }
                else
                {
                    kekvLabel.Text = record.SecondaryKekv.Code + "(по старой системе)";
                }

                tableEntries = (from rec in tc.Contracts.ToList()
                                where (rec.TenderPlanRecordId == record.Id)
                                orderby rec.SignDate descending
                                select new ContractsTableEntry
                {
                    ContractDate = rec.SignDate,
                    ContractNum = rec.Number,
                    Contractor = rec.Contractor,
                    Description = rec.Description,
                    FullSum = rec.Sum,
                    RelatedContract = rec,
                    UsedSum = rec.UsedMoney
                }).ToList();

                contractsTable.DataSource = tableEntries;
            }
        }
Beispiel #4
0
        private void estimateTotalsTable_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {
            DataGridView changedTable = sender as DataGridView;

            DataGridViewHelper.RecalculateMoneyTotals(changedTable, e.RowIndex, e.ColumnIndex);

            // Если изменения не в итоговой таблице ...
            if ((changedTable.Name != "estimateTotalsTable") && (e.RowIndex < kekvsList.Count && e.ColumnIndex < monthes.Length))
            {
                // ... вычисляем новую сумму и записываем в итоговую таблицу
                decimal cellSum = 0;
                for (int i = 1; i < tabControl1.TabCount; i++)
                {
                    DataGridView dgv = tabControl1.TabPages[i].Controls.OfType <DataGridView>().First();
                    cellSum += (dgv.Rows[e.RowIndex].Cells[e.ColumnIndex].Value == null)
                        ? 0
                        : decimal.Parse(dgv.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString());
                }
                estimateTotalsTable.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = cellSum;

                // ... и сохраняем их
                if (tableDataWasChangedByUser)
                {
                    if (newSystemRButton.Checked)
                    {
                        estimateMoneyList[tabControl1.SelectedIndex - 1].PrimarySumValues[e.RowIndex, e.ColumnIndex]
                            = decimal.Parse(changedTable.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString());
                    }
                    else
                    {
                        estimateMoneyList[tabControl1.SelectedIndex - 1].SecondarySumValues[e.RowIndex, e.ColumnIndex]
                            = decimal.Parse(changedTable.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString());
                    }
                }
            }
        }
Beispiel #5
0
        private DataGridView CopyDataGridView(DataGridView dgv_orn)
        {
            DataGridView dgv_copy = new DataGridView();

            dgv_copy.Dock                          = dgv_orn.Dock;
            dgv_copy.RowHeadersWidth               = dgv_orn.RowHeadersWidth;
            dgv_copy.AllowUserToAddRows            = dgv_orn.AllowUserToAddRows;
            dgv_copy.AllowUserToDeleteRows         = dgv_orn.AllowUserToDeleteRows;
            dgv_copy.AllowUserToOrderColumns       = dgv_orn.AllowUserToOrderColumns;
            dgv_copy.AllowUserToResizeRows         = dgv_orn.AllowUserToResizeRows;
            dgv_copy.AllowUserToResizeColumns      = dgv_orn.AllowUserToResizeColumns;
            dgv_copy.RowHeadersWidthSizeMode       = dgv_orn.RowHeadersWidthSizeMode;
            dgv_copy.SelectionMode                 = dgv_orn.SelectionMode;
            dgv_copy.MultiSelect                   = dgv_orn.MultiSelect;
            dgv_copy.RowHeadersDefaultCellStyle    = dgv_orn.RowHeadersDefaultCellStyle;
            dgv_copy.ColumnHeadersDefaultCellStyle = dgv_orn.ColumnHeadersDefaultCellStyle;
            dgv_copy.ColumnHeadersHeightSizeMode   = dgv_orn.ColumnHeadersHeightSizeMode;
            dgv_copy.CellValueChanged             += estimateTotalsTable_CellValueChanged;
            dgv_copy.CellValidating               += estimateTotalsTable_CellValidating;
            dgv_copy.SortCompare                  += (sender, e) => DataGridViewHelper.SortCompareForMoneyTable(dgv_copy, e);

            for (int i = 0; i < dgv_orn.ColumnCount; i++)
            {
                DataGridViewColumn col = dgv_orn.Columns[i].Clone() as DataGridViewColumn;
                col.ValueType        = typeof(decimal);
                col.DefaultCellStyle = dgv_orn.Columns[i].DefaultCellStyle;
                dgv_copy.Columns.Add(col);
            }

            for (int i = 0; i < dgv_orn.RowCount; i++)
            {
                dgv_copy.Rows.Add(dgv_orn.Rows[i].Clone() as DataGridViewRow);
            }

            return(dgv_copy);
        }
        public DkCodesListForm()
        {
            InitializeComponent();

            if (UserSession.IsAuthorized)
            {
                dkCodesTable.CellDoubleClick += dkCodesTable_CellDoubleClick;
            }
            else
            {
                linkLabel1.Visible = linkLabel2.Visible = false;
            }

            wasDbUpdated = false;

            dkCodesTable.RowsAdded += (sender, e) => DataGridViewHelper.CalculateNewRowNumber(dkCodesTable, 0, e.RowIndex, e.RowCount);

            using (TenderContext tc = new TenderContext())
            {
                dkCodesTable.AutoGenerateColumns = false;
                codesList = new BindingList <DkCode>(tc.DkCodes.OrderBy(p => p.Code).ToList());
                dkCodesTable.DataSource = codesList;
            }
        }
Beispiel #7
0
        private void InitializeFormControls(TenderYear year)
        {
            InitializeComponent();

            button1.Visible = UserSession.IsAuthorized;

            label6.Text = string.Empty;
            this.year   = year;
            controlValueWasChangedByUser = false;
            locker          = new object();
            kekvRemains     = new List <decimal>();
            moneysOnSources = new List <decimal>();
            relatedFiles    = new BindingList <UploadedFile>();
            deletingFiles   = new BindingList <UploadedFile>();
            DataGridViewHelper.ConfigureFileTable(filesTable, relatedFiles, deletingFiles, linkLabel1, linkLabel2, linkLabel3);

            filesTable.DataSource = relatedFiles;

            spendingDescription.Text = spendingRecord.Description;
            spendingFullSum.Value    = spendingRecord.Sum;

            if (spendingRecord.Id == 0)
            {
                dateTimePicker1.Value = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 0, 0, 0).AddYears(Convert.ToInt32(year.Year) - DateTime.Now.Year);
            }
            else
            {
                dateTimePicker1.Value = spendingRecord.CreationDate;
            }

            dateTimePicker1.MinDate = new DateTime(Convert.ToInt32(year.Year), 1, 1, 0, 0, 0);
            dateTimePicker1.MaxDate = new DateTime(Convert.ToInt32(year.Year), 12, 31, 0, 0, 0);

            switch (spendingRecord.Status)
            {
            case PaymentStatus.New:
                newStatusRButton.Checked = true;
                break;

            case PaymentStatus.OnPayment:
                onPayStatusRButton.Checked = true;
                break;

            case PaymentStatus.Payed:
                paidStatusRButton.Checked = true;
                break;
            }

            using (TenderContext tc = new TenderContext())
            {
                sourcesList = tc.MoneySources.OrderBy(p => p.ViewPriority).ToList();
                estimateCBList.DataSource = tc.Estimates
                                            .Where(t => (t.TenderYearId == year.Id) && (t.Changes.Sum(p => p.PrimaryKekvSum) > 0))
                                            .OrderBy(t => t.Id)
                                            .ToList();

                Estimate selectedEstimate = estimateCBList.SelectedItem as Estimate;

                altKekvCBList.DataSource = tc.KekvCodes.OrderBy(p => p.Code).ToList();
            }

            for (int i = 0; i <= sourcesList.Count; i++)
            {
                DataGridViewRow newRow = new DataGridViewRow();
                newRow.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
                newRow.DefaultCellStyle.WrapMode  = DataGridViewTriState.True;
                if (i < sourcesList.Count)
                {
                    newRow.HeaderCell.Value = sourcesList[i].Name.ToString();
                }
                else
                {
                    newRow.HeaderCell.Value      = "ВСЬОГО";
                    newRow.DefaultCellStyle.Font = FormStyles.MoneyTotalsFont;
                    newRow.ReadOnly = true;
                }
                balanceChangesTable.Rows.Add(newRow);
            }

            for (int i = 0; i < balanceChangesTable.ColumnCount; i++)
            {
                balanceChangesTable.Columns[i].ValueType = typeof(decimal);
                balanceChangesTable.Columns[i].SortMode  = DataGridViewColumnSortMode.NotSortable;
            }

            for (int i = 0; i < (balanceChangesTable.RowCount - 1); i++)
            {
                balanceChangesTable.Rows[i].Cells[0].Value = 0;
                balanceChangesTable.Rows[i].Cells[1].Value = 0;
                moneysOnSources.Add(0);
            }
            controlValueWasChangedByUser = true;
        }
Beispiel #8
0
        private void InitializeFormControls(TenderYear year)
        {
            InitializeComponent();

            button1.Visible = UserSession.IsAuthorized;

            label6.Text = estimateNameLabel.Text = string.Empty;
            this.year   = year;
            controlValueWasChangedByUser = false;
            locker           = new object();
            contractsRemains = new List <decimal>();
            moneysOnSources  = new List <decimal>();

            relatedFiles  = new BindingList <UploadedFile>();
            deletingFiles = new BindingList <UploadedFile>();
            DataGridViewHelper.ConfigureFileTable(filesTable, relatedFiles, deletingFiles, linkLabel1, linkLabel2, linkLabel3);
            filesTable.DataSource = relatedFiles;

            numberTextBox.Text       = invoiceRecord.Number;
            descriptionTextBox.Text  = invoiceRecord.Description;
            invoiceFullSum.Value     = invoiceRecord.Sum;
            IsCreditCheckBox.Checked = invoiceRecord.IsCredit;

            switch (invoiceRecord.Status)
            {
            case PaymentStatus.New:
                newStatusRButton.Checked = true;
                break;

            case PaymentStatus.OnPayment:
                onPayStatusRButton.Checked = true;
                break;

            case PaymentStatus.Payed:
                paidStatusRButton.Checked = true;
                break;
            }

            if (invoiceRecord.Id == 0)
            {
                invoiceDate.Value = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 0, 0, 0).AddYears(Convert.ToInt32(year.Year) - DateTime.Now.Year);
            }
            else
            {
                invoiceDate.Value = invoiceRecord.Date;
            }

            invoiceDate.MaxDate = new DateTime(Convert.ToInt32(year.Year), 12, 31, 0, 0, 0);
            invoiceDate.MinDate = new DateTime(Convert.ToInt32(year.Year), 1, 1, 0, 0, 0);

            using (TenderContext tc = new TenderContext())
            {
                sourcesList = tc.MoneySources.OrderBy(p => p.ViewPriority).ToList();
                contractorsCBList.DataSource = tc.Contracts.ToList()
                                               .Where(p => (p.RecordInPlan.Estimate.TenderYearId == year.Id) && (p.Status == ContractStatus.Active))
                                               .Select(p => p.Contractor).Distinct().OrderBy(p => p.ShortName)
                                               .ToList();
                contractorsCBList.ValueMember   = "Id";
                contractorsCBList.DisplayMember = "ShortName";

                contractsCBList.ValueMember   = "Id";
                contractsCBList.DisplayMember = "FullName";
            }

            for (int i = 0; i <= sourcesList.Count; i++)
            {
                DataGridViewRow newRow = new DataGridViewRow();
                newRow.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
                newRow.DefaultCellStyle.WrapMode  = DataGridViewTriState.True;
                if (i < sourcesList.Count)
                {
                    newRow.HeaderCell.Value = sourcesList[i].Name.ToString();
                }
                else
                {
                    newRow.HeaderCell.Value      = "ВСЬОГО";
                    newRow.DefaultCellStyle.Font = FormStyles.MoneyTotalsFont;
                    newRow.ReadOnly = true;
                }
                balanceChangesTable.Rows.Add(newRow);
            }

            for (int i = 0; i < balanceChangesTable.ColumnCount; i++)
            {
                balanceChangesTable.Columns[i].ValueType = typeof(decimal);
                balanceChangesTable.Columns[i].SortMode  = DataGridViewColumnSortMode.NotSortable;
            }

            controlValueWasChangedByUser = false;
            for (int i = 0; i < (balanceChangesTable.RowCount - 1); i++)
            {
                balanceChangesTable.Rows[i].Cells[0].Value = 0;
                balanceChangesTable.Rows[i].Cells[1].Value = 0;
                moneysOnSources.Add(0);
            }
            controlValueWasChangedByUser = true;
        }
Beispiel #9
0
 private void estimateTable_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e)
 {
     DataGridViewHelper.CalculateNewRowNumber(sender as DataGridView, 0, e.RowIndex, e.RowCount);
 }
Beispiel #10
0
 private void estimateTotalsTable_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
 {
     DataGridViewHelper.MoneyCellValidating(sender as DataGridView, e.FormattedValue.ToString());
 }