private void btnFacturar_Click(object sender, EventArgs e) { if (dgvPacienteMedicoTurno.CurrentRow != null) { var turnoSeleccionado = ((PacienteTurnoVM)dgvPacienteMedicoTurno.CurrentRow.DataBoundItem); if (!turnoSeleccionado.Pagado) { var deseaFacturarDialog = MessageBox.Show("Desea Facturar el Turno?", "Factura", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (deseaFacturarDialog == DialogResult.Yes) { var factura = new Factura { IdTurno = turnoSeleccionado.TurnoId, Fecha = DateTime.Now, IdFormaDePago = turnoSeleccionado.FormaDePagoId, Monto = turnoSeleccionado.PrecioTurno }; var formFacturacion = new AgregarFactura(factura); formFacturacion.ShowDialog(); } CargarTurnos(); } else { MessageBox.Show("El turno seleccionado ya ha sido Facturado", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information); } } else { MessageBox.Show("Debe seleccionar una fila", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information); } }
private void saveButton_Click(object sender, EventArgs e) { errorProvider.Clear(); if (!ValidarCamposObligatorios()) { return; } var fechaTurno = new DateTime(dtpFechaTurno.Value.Year, dtpFechaTurno.Value.Month, dtpFechaTurno.Value.Day, horaTurno, minutosTurno, 0); if (!ValidarFechaDelTurno(fechaTurno)) { return; } using (var entidades = new ClinicaEntities()) { using (var entidadesTransaction = entidades.Database.BeginTransaction()) { try { var turnoDB = entidades.Turno.Single(x => x.IdTurno == this._turnoOriginal.IdTurno); turnoDB.Atendido = chbAtendido.Checked; turnoDB.FechaYHora = fechaTurno; turnoDB.Asistio = chbAsistio.Checked; turnoDB.IdPaciente = (int)dropDownListaPacientes.SelectedValue; turnoDB.IdMedico = ((MedicoVM)dgvMedicos.CurrentRow.DataBoundItem).MedicoId; turnoDB.IdEspecialidadMedico = (int)dropDownEspecialidades.SelectedValue; turnoDB.PrecioTurno = decimal.Parse(tbPrecioTurno.Text); turnoDB.Diagnostico = textboxDiagnostico.Text; turnoDB.Descripcion = tbDescripcion.Text; turnoDB.IdFormaDePago = radiobtnParticular.IsChecked ? 1 /*Particular*/ : 2 /*Seguro Médico*/; turnoDB.IdSeguroMedico = radioBtnSeguroMedico.IsChecked ? (Nullable <int>)dropDownSegurosMedicos.SelectedValue : null; if (_esAdmin) { entidades.HistoriaClinica.Add( new HistoriaClinica { Descripcion = "Descripción: " + turnoDB.Descripcion + Environment.NewLine + "Diagnóstico : " + turnoDB.Diagnostico, FechaAtencion = turnoDB.FechaYHora, IdPaciente = turnoDB.IdPaciente, IdTurno = turnoDB.IdTurno }); } var deseaFacturarDialog = MessageBox.Show("Desea Facturar el Turno?", "Factura", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (deseaFacturarDialog == DialogResult.Yes) { var factura = new Factura { IdTurno = turnoDB.IdTurno, Fecha = DateTime.Now, IdFormaDePago = turnoDB.IdFormaDePago, Monto = turnoDB.PrecioTurno }; var formFacturacion = new AgregarFactura(factura); formFacturacion.ShowDialog(); } entidades.SaveChanges(); EnviarNotificacionesPorEmail(entidades, turnoDB.IdTurno); entidadesTransaction.Commit(); MessageBox.Show("Turno modificado y notificación por Correo electrónico enviada!", "Correcto", MessageBoxButtons.OK, MessageBoxIcon.Information); _turnoFueModificado = true; this.Close(); } catch (Exception ex) { entidadesTransaction.Rollback(); MessageBox.Show(ex.Message, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } }