예제 #1
0
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            if (this.dgvContratosAdendums.SelectedCells != null && this.dgvContratosAdendums.SelectedCells.Count == 0)
            {
                MessageBox.Show("Por favor seleccione un contrato en la tabla de contratos", "Alta de adendums", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }
            int         indexRow = this.dgvContratosAdendums.SelectedCells[0].RowIndex;
            DataRowView contrato = this.dgvContratosAdendums.Rows[indexRow].DataBoundItem as DataRowView;

            int       contratoId = int.Parse(contrato["Contrato"].ToString());
            DataTable adendums   = this.adendumBindingSource.DataSource as DataTable;

            DataRow[] adnVigente = adendums.Select(string.Format("Contrato_ID = {0} AND  FechaFin >= '{1}'", contratoId, DateTime.Now.Date));
            if (adnVigente.Length > 0)
            {
                if (MessageBox.Show("Este contrato cuenta con un Adendums Vigentes" + Environment.NewLine + "Desea agregar uno más?", "Alta de Adendum", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) != System.Windows.Forms.DialogResult.Yes)
                {
                    return;
                }
            }

            adnVigente = adendums.Select(string.Format("Contrato_ID = {0} AND Indefinido = 1", contratoId));
            if (adnVigente.Length > 0 && string.IsNullOrEmpty(adnVigente[0]["FechaFin"].ToString()))
            {
                MessageBox.Show("Este contrato cuenta con un adendum indefinido", "alta de adendums", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }

            AdendumAltaEdicion altaEd = new AdendumAltaEdicion(0, contratoId, null, null,
                                                               null, null, null, false);

            altaEd.tablaAdendums        = new DataTable();
            altaEd.tablaAdendums        = adendums;
            altaEd.FechaInicialContrato = this.FechaInicialContrato;
            altaEd.FechaFinalContrato   = this.FechaFinalContrato;
            altaEd.ShowDialog(this);

            this.ObtenerContratos(contratoId);
        }
예제 #2
0
        private void dgvAdendum_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                #region click en la columna actualizar
                //  Si se hizo click en la columna "Actualizar"
                if (dgvAdendum.Columns[e.ColumnIndex].Name == "ActualizarColumn" && e.RowIndex > -1)
                {
                    //  Mostramos la pantalla de actualización de contrato
                    DataRowView adendum =
                        dgvAdendum.Rows[e.RowIndex].DataBoundItem as DataRowView;

                    DateTime?dtFin = null;

                    if (adendum == null)
                    {
                        return;
                    }

                    //if (adendum["FechaFin"] != null && !string.IsNullOrEmpty(adendum["FechaFin"].ToString()))
                    if (adendum["FechaFin"] != null && !string.IsNullOrEmpty(adendum["FechaFin"].ToString()))
                    {
                        dtFin = DateTime.Parse(adendum["FechaFin"].ToString());
                        //if (dtFin.Value.Date == DateTime.Now.Date)
                        //{
                        //    MessageBox.Show("Este adendum vence hoy, puede agregar un adendum el dia de mañana", "Edicion de adendums", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        //    return;
                        //}
                        if (dtFin.Value.Date < DateTime.Now.Date)
                        {
                            MessageBox.Show("Este adendum ya ha vencido", "Edicion de adendums", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                            return;
                        }
                    }

                    AdendumAltaEdicion altaEd = new AdendumAltaEdicion(int.Parse(adendum["Adendum_ID"].ToString()),
                                                                       int.Parse(adendum["Contrato_ID"].ToString()), int.Parse(adendum["ClasificacionAdendum_ID"].ToString()),
                                                                       DateTime.Parse(adendum["FechaInicio"].ToString()), dtFin, bool.Parse(adendum["Indefinido"].ToString())
                                                                       , adendum["Observaciones"].ToString(), true);
                    altaEd.FechaInicialContrato = this.FechaInicialContrato;
                    altaEd.FechaFinalContrato   = this.FechaFinalContrato;
                    altaEd.ShowDialog(this);
                    //this.ObtenerContratos();
                    this.ObtenerContratos(int.Parse(adendum["Contrato_ID"].ToString()));
                }
                #endregion click en la columna acutalizar

                #region click en la columna Imprimir
                //  Si se hizo click en la columna "Actualizar"
                if (dgvAdendum.Columns[e.ColumnIndex].Name == "Imprimir" && e.RowIndex > -1)
                {
                    //  Mostramos la pantalla de actualización de contrato
                    DataRowView adendum =
                        dgvAdendum.Rows[e.RowIndex].DataBoundItem as DataRowView;

                    int adId = int.Parse(adendum["Adendum_ID"].ToString());

                    DataTable adendums   = this.adendumBindingSource.DataSource as DataTable;
                    DataRow[] adnVigente = adendums.Select(string.Format("Adendum_ID = {0} AND  FechaFin > '{1}'", adId, DateTime.Now.Date));
                    if (adnVigente.Length > 0)
                    {
                        if (Convert.ToInt32(adnVigente[0].ItemArray[7]) != 9)
                        {
                            MessageBox.Show("Para poder imprimir primero finalize este adendum", "alta de adendums", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                            return;
                        }
                    }

                    adnVigente = adendums.Select(string.Format("Adendum_ID = {0} AND Indefinido = 1 AND FechaFin IS NULL", adId));
                    if (adnVigente.Length > 0)
                    {
                        MessageBox.Show("Para poder imprimir primero finalize este adendum", "alta de adendums", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        return;
                    }

                    AdendumPreview preview = new AdendumPreview();
                    preview.AdendumId = adId;
                    preview.ShowDialog(this);
                }
                #endregion click en la columna Imprimir
            }
            catch (Exception ex)
            {
                AppHelper.Error(ex.Message);
            }
        }