Example #1
0
        private void clusterDataGridView_SelectionChanged(object sender, EventArgs e)
        {
            if (addressBlockDataGridView.SelectedRows == null || addressBlockDataGridView.SelectedRows.Count == 0)
            {
                return;
            }

            DataGridViewRow row = addressBlockDataGridView.SelectedRows[0];

            _selectedBlock = row.DataBoundItem as AddressBlockDomain;
            if (_selectedBlock != null)
            {
                addressBlockTextBox.Text = _selectedBlock.Block;
            }
        }
Example #2
0
        private void saveToolStripButton_Click(object sender, EventArgs e)
        {
            if (String.IsNullOrEmpty(addressBlockTextBox.Text))
            {
                MessageBox.Show("Blok tidak boleh dikosongkan!", null, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            if (_uiMode == UserInterfaceModes.Adding)
            {
                AddressBlockDomain addressBlock = LogicFactory.AddressBlockLogic.AddBlock(addressBlockTextBox.Text);
                _addressBlocks.Add(addressBlock);
            }
            else if (_uiMode == UserInterfaceModes.Editing)
            {
                _selectedBlock.Block = addressBlockTextBox.Text;
                LogicFactory.AddressBlockLogic.UpdateBlock(_selectedBlock);
            }

            RefreshGrid();
            _uiMode = UserInterfaceModes.Viewing;
            SetUIControlsAvailability();
        }
        private void incomeClusterDataGridView_SelectionChanged(object sender, EventArgs e)
        {
            if ((_setSelectedIncomeCluster && (incomeClusterDataGridView.SelectedRows == null || incomeClusterDataGridView.SelectedRows.Count == 0)) ||
                (!_setSelectedIncomeCluster && _selectedIncomeCluster == null))
            {
                return;
            }

            if (_setSelectedIncomeCluster)
            {
                _selectedIncomeCluster = incomeClusterDataGridView.SelectedRows[0].DataBoundItem as IncomeClusterDomain;
            }

            ClusterDomain cluster = _clusters.Find(p => p.Id == _selectedIncomeCluster.ClusterId);

            if (cluster != null)
            {
                clusterComboBox.SelectedItem = cluster;
            }
            Month month = _months.Find(p => p.Index == _selectedIncomeCluster.Month);

            monthComboBox.SelectedItem = month;

            yearTextBox.Text = _selectedIncomeCluster.Year.ToString();

            AddressBlockDomain addressBlock = _addressBlocks.Find(p => p.Block == _selectedIncomeCluster.AddressBlock);

            if (addressBlock != null)
            {
                addressBlockComboBox.SelectedItem = _selectedIncomeCluster.AddressBlock;
            }
            addressNumberTextBox.Text = _selectedIncomeCluster.AddressNumber;
            phoneNumberTextBox.Text   = _selectedIncomeCluster.PhoneNumber;
            occupantTextBox.Text      = _selectedIncomeCluster.OccupantName;
            amountTextBox.Text        = _selectedIncomeCluster.Amount.ToString();
        }
        private void filterButton_Click(object sender, EventArgs e)
        {
            Month fromMonth = filterFromMonthComboBox.SelectedItem as Month;
            Month toMonth   = filterToMonthComboBox.SelectedItem as Month;

            int  fromYear;
            bool includeFromYear = int.TryParse(filterFromYearTextBox.Text, out fromYear);

            int  toYear;
            bool includeToYear = int.TryParse(filterToYearTextBox.Text, out toYear);

            if (fromYear > toYear)
            {
                MessageBox.Show("Tahun sampai tidak boleh lebih lama dari tahun dari!");
                return;
            }
            else if (fromYear == toYear)
            {
                if (fromMonth.Index > toMonth.Index)
                {
                    MessageBox.Show("Bulan sampai tidak boleh lebih lama dari bulan dari!");
                    return;
                }
            }

            _filterActive = true;

            ClusterDomain      cluster      = filterClusterComboBox.SelectedItem as ClusterDomain;
            AddressBlockDomain addressBlock = filterAddressBlockComboBox.SelectedItem as AddressBlockDomain;

            ProgressTrackerForm progressTrackerForm = new ProgressTrackerForm();

            progressTrackerForm.ProcessInformation = "Memfilter data pendapatan cluster...";

            progressTrackerForm.Task = new ProgressTrackerForm.BackgroundTask(
                () =>
            {
                _displayedIncomeClusters = _incomeClusters.FindAll(p =>
                {
                    bool match = true;

                    if (cluster != null)
                    {
                        match &= p.ClusterId == cluster.Id;
                    }

                    match &= fromMonth.Index <= p.Month;

                    if (includeFromYear)
                    {
                        match &= fromYear <= p.Year;
                    }

                    match &= toMonth.Index >= p.Month;

                    if (includeToYear)
                    {
                        match &= toYear >= p.Year;
                    }

                    if (addressBlock != null)
                    {
                        match &= (!String.IsNullOrEmpty(p.AddressBlock) && p.AddressBlock.ToLower().Trim() == addressBlock.Block.ToLower().Trim());
                    }

                    if (!String.IsNullOrEmpty(filterAddressNumberTextBox.Text))
                    {
                        match &= (!String.IsNullOrEmpty(p.AddressNumber) && p.AddressNumber.ToLower().Trim() == filterAddressNumberTextBox.Text.ToLower().Trim());
                    }

                    return(match);
                });
            });

            progressTrackerForm.ShowDialog();

            _setSelectedIncomeCluster = true;
            RefreshGrid();
        }
        private void saveToolStripButton_Click(object sender, EventArgs e)
        {
            if (String.IsNullOrEmpty(yearTextBox.Text) || !_numericRegex.IsMatch(yearTextBox.Text))
            {
                MessageBox.Show("Tahun tidak boleh kosong dah harus diisi dengan angka!", null, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            if (!String.IsNullOrEmpty(amountTextBox.Text) && !_numericRegex.IsMatch(amountTextBox.Text))
            {
                MessageBox.Show("Nominal harus diisi dengan angka!", null, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            ClusterDomain cluster = clusterComboBox.SelectedValue as ClusterDomain;
            Month         month   = monthComboBox.SelectedValue as Month;
            int           year    = Convert.ToInt32(yearTextBox.Text);
            double        amount  = 0;

            if (!String.IsNullOrEmpty(amountTextBox.Text))
            {
                amount = Convert.ToDouble(amountTextBox.Text);
            }

            AddressBlockDomain addressBlock = (addressBlockComboBox.SelectedItem as AddressBlockDomain);

            if (_uiMode == UserInterfaceModes.Adding)
            {
                IncomeClusterDomain incomeCluster = LogicFactory.IncomeLogic.AddIncomeCluster(cluster, occupantTextBox.Text,
                                                                                              (addressBlock != null ? addressBlock.Block : String.Empty),
                                                                                              addressNumberTextBox.Text, phoneNumberTextBox.Text, month.Index, year, amount);

                incomeCluster.ClusterName     = cluster.ClusterName;
                incomeCluster.DisplayedAmount = amount.ToString("#,##0");
                incomeCluster.DisplayedMonth  = month.Name;

                _incomeClusters.Add(incomeCluster);
                _selectedIncomeCluster = incomeCluster;
            }
            else if (_uiMode == UserInterfaceModes.Editing)
            {
                IncomeClusterDomain incomeCluster = new IncomeClusterDomain();
                incomeCluster.Id           = _selectedIncomeCluster.Id;
                incomeCluster.ClusterId    = cluster.Id;
                incomeCluster.ClusterName  = cluster.ClusterName;
                incomeCluster.OccupantName = occupantTextBox.Text;

                incomeCluster.AddressBlock = addressBlock != null ? addressBlock.Block : String.Empty;

                incomeCluster.AddressNumber   = addressNumberTextBox.Text;
                incomeCluster.PhoneNumber     = phoneNumberTextBox.Text;
                incomeCluster.Month           = month.Index;
                incomeCluster.Year            = year;
                incomeCluster.Amount          = amount;
                incomeCluster.DisplayedAmount = amount.ToString("#,##0");
                incomeCluster.DisplayedMonth  = month.Name;
                LogicFactory.IncomeLogic.UpdateIncomeCluster(incomeCluster);

                _incomeClusters.Remove(_selectedIncomeCluster);
                _incomeClusters.Add(incomeCluster);

                _selectedIncomeCluster = incomeCluster;
            }

            _setSelectedIncomeCluster = false;
            _filterActive             = false;
            _uiMode = UserInterfaceModes.Viewing;
            SetUIControlsAvailability();
            RefreshGrid();
        }
 public void UpdateBlock(AddressBlockDomain addressBlock)
 {
     DaoFactory.AddressBlockDao.Update(addressBlock);
 }