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); }
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); } }