Beispiel #1
0
        private void SavePosition()
        {
            if (this.IsPositionDataValid())
            {
                int  selectedPositionId = 0;
                bool isFullySaved       = true;

                selectedPosition.AgreementId            = (int)gridExPositions.CurrentRow.Cells["umowaId"].Value;
                selectedPosition.KTM                    = txtKTM.Text;
                selectedPosition.CurrencyId             = (int)cboCurrency.SelectedValue;
                selectedPosition.Descriptor             = txtDescriptor.Text;
                selectedPosition.FreeCopies             = (int)numFreeCopies.Value;
                selectedPosition.ExpirationDate         = dtExpiration.Text == " " ? (DateTime?)null : dtExpiration.Value;
                selectedPosition.IsChargedFromFirstSale = chkFirstSale.Checked;
                selectedPosition.IsIndifinitePeriod     = chkIndefinitePeriod.Checked;
                selectedPosition.Comments               = txtPositionComments.Text;
                selectedPosition.ModelId                = (int)cboSettlementModel.SelectedValue;
                selectedPosition.ModelPercent           = numModelPercent.Visible ? numModelPercent.Value : 0;
                selectedPosition.ModelFixedPrice        = numModelFixedPrice.Visible ? numModelFixedPrice.Value : 0;
                selectedPosition.BillingPeriod          = (int)cboBillingPeriod.SelectedValue;
                selectedPosition.BillingPeriodStart     = dtBillingPeriodFrom.Value;
                selectedPosition.BillingPeriodEnd       = dtBillingPeriodTo.Text == " " ? (DateTime?)null : dtBillingPeriodTo.Value;

                try
                {
                    // update podstawowych danych zaznaczonej pozycji
                    AgreementPositionsRepo.InsertUpdate(this.selectedPosition);
                    selectedPositionId = selectedPosition.Id;

                    // update grida z programi dla zaznaczonej pozycji
                    this.gridThresholdsRepo.Update();

                    //update grida z produktami dla zaznaczonej pozycji
                    this.gridRelatedProductsRepo.Update();
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Nie udało się zapisać bieżącej pozycji.\r\nSpróbuj ponownie", "Zapis pozycji", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    isFullySaved = false;
                }

                if (isFullySaved)
                {
                    this.SetPositionChangesPending(false);

                    if (this.isPositionAddPending)
                    {
                        this.isPositionAddPending = false;
                    }

                    this.LoadData();
                    this.SelectPositionById(selectedPositionId);
                }
            }
        }
        private void BindProduct()
        {
            if (this.IsPositionSelected())
            {
                string ktm                 = gridExProductsAndArticles.CurrentRow.Cells["KTM"].Value.ToString();
                string descriptor          = gridExProductsAndArticles.CurrentRow.Cells["Deskryptor"].Value.ToString();
                string positionKtm         = gridExAgreementsListGrouped.CurrentRow.Cells["KTM"].Value.ToString();
                string positionDescriptor  = gridExAgreementsListGrouped.CurrentRow.Cells["Deskryptor"].Value.ToString();
                int    agreementId         = (int)gridExAgreementsListGrouped.CurrentRow.Cells["IdUmowy"].Value;
                int    agreementPositionId = (int)gridExAgreementsListGrouped.CurrentRow.Cells["PozycjaId"].Value;

                if (MessageBox.Show(string.Format("Do pozycji:\r\n\r\nKTM:\t\t{0}\r\nDeskryptor:\t{1}\r\n\r\nna umowie {2} zostanie dopisany produkt powiązany:\r\n\r\nKTM:\t\t{3}\r\nDeskryptor:\t{4}",
                                                  positionKtm, positionDescriptor, agreementId.ToString(), ktm, descriptor), "Przypisanie", MessageBoxButtons.OKCancel, MessageBoxIcon.Information) == DialogResult.OK)
                {
                    try
                    {
                        RelatedProduct relatedProduct = new RelatedProduct()
                        {
                            AgreementPositionId = agreementPositionId,
                            KTM        = ktm,
                            Descriptor = descriptor
                        };

                        AgreementPositionsRepo.InsertRelatedProduct(relatedProduct);

                        MessageBox.Show("Produkt został poprawnie powiązany.", "Przypisanie", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    catch
                    {
                        MessageBox.Show("Nie udało się wykonać powiązania.\r\nOdśwież listę i spróbuj ponownie.", "Przypisanie", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }

                    this.LoadData();
                }
            }
            else
            {
                MessageBox.Show("Ta opcja wymaga zaznaczenia jednej pozycji umowy.", "Przypisanie", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
Beispiel #3
0
        // GRIDS
        #region
        private void gridExPositions_SelectionChanged(object sender, EventArgs e)
        {
            // IF SELECTED ROW
            if (!this.isLoadingData && gridExPositions.CurrentRow != null && gridExPositions.CurrentRow.RowIndex > -1)
            {
                if (this.selectedPosition.Id != (int)gridExPositions.CurrentRow.Cells["id"].Value && !this.isCancellingSelection)
                {
                    if (this.isPositionSavePending && !this.isPositionAddPending)
                    {
                        if (MessageBox.Show("Masz niezapisane zmiany na pozycji, które utracisz przechodząc do innej.\r\nKliknij OK, aby przejść dalej lub Anuluj, aby wrócić i zapisać zmiany.", "Uwaga", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) == DialogResult.OK)
                        {
                            int positionId = (int)gridExPositions.CurrentRow.Cells["id"].Value;
                            this.selectedPosition = AgreementPositionsRepo.GetByID(positionId);
                            this.LoadPositionDetails();
                        }
                        else
                        {
                            this.isCancellingSelection = true;
                            this.SelectPositionById(this.selectedPosition.Id);
                            this.isCancellingSelection = false;
                        }
                    }
                    else
                    {
                        if (this.isPositionAddPending)
                        {
                            if (MessageBox.Show("Nowa pozycja nie została zapisana, utracisz ją jeśli przejdziesz dalej.\r\nKliknij OK, aby przejść dalej lub Anuluj, aby wrócić i zapisać zmiany.", "Uwaga", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) == DialogResult.OK)
                            {
                                this.gridPositionsRepo.DeleteLastRow();

                                int positionId = (int)gridExPositions.CurrentRow.Cells["id"].Value;
                                this.selectedPosition = AgreementPositionsRepo.GetByID(positionId);
                                this.LoadPositionDetails();
                                this.isPositionAddPending = false;
                            }
                            else
                            {
                                this.isCancellingSelection = true;
                                gridExPositions.MoveLast();
                                this.isCancellingSelection = false;
                            }
                        }
                        else
                        {
                            int positionId = (int)gridExPositions.CurrentRow.Cells["id"].Value;
                            this.selectedPosition = AgreementPositionsRepo.GetByID(positionId);
                            this.LoadPositionDetails();
                        }
                    }
                }
            }
            else
            {
                if (gridExPositions.CurrentRow != null && gridExPositions.CurrentRow.RowIndex > -1)
                {
                    int positionId = (int)gridExPositions.CurrentRow.Cells["id"].Value;
                    this.selectedPosition = AgreementPositionsRepo.GetByID(positionId);
                    this.LoadPositionDetails();
                }
            }
        }