private void btnConfirmar_Click(object sender, EventArgs e) { var mail = new EnvioMailObject(); bool EsConfirmadaSinPlanificar = false; if (VisitaActual.EstadoBD == Enums.VisitaEstado.Incompleta) EsConfirmadaSinPlanificar = true; VisitaActual.EstadoBD = Enums.VisitaEstado.Confirmada; VisitaActual.Descripcion = txtDescripcion.Text.Trim(); VisitaActual.FechaConfirmacion = DateTime.Now; VisitaActual.EnviarConfirmacionACliente = (bool)chkEnviaACliente.Checked; bool confirmados = false; foreach (var confirmado in (IList<AsistentesCraft>)grdAsistentesConfirmacion.DataSource) { if (confirmado.Asiste) confirmados = true; } if (!confirmados) { MessageBox.Show("Debe existir al menos un asistente para confirmar la Visita", "Visita", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } Cursor.Current = Cursors.WaitCursor; foreach (var asistente in VisitaActual.AsistentesCraft) { foreach (AsistentesCraft item in (IList<AsistentesCraft>)grdAsistentesConfirmacion.DataSource) { if (item.Usuario.Id == asistente.Usuario.Id) { if (item.Asiste) asistente.Confirmo = Enums.VisitaEstadoAsistente.ConfirmoAsistencia; else asistente.Confirmo = Enums.VisitaEstadoAsistente.ConfirmoNoAsistencia; break; } } } ResultadoTransaccion res = LogicaNegocios.Calendarios.clsCalendarios.GuardarVisita(VisitaActual); if (res.Estado == Enums.EstadoTransaccion.Rechazada) { Cursor.Current = Cursors.Default; MessageBox.Show(res.Descripcion, "Visita", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } res = new ResultadoTransaccion(); //Vhspiceros, se saca solo para poder crear la visita /*if (VisitaActual.ConfirmadaSinPlanificar) res = mail.EnviarEmailVisitaPlanificacion(VisitaActual, true, TipoCalendario == Enums.TipoCalendario.CalendarioCompartido); //res = Utils.EnvioEmail.EnviarEmailVisitaPlanificacion(VisitaActual, true,TipoCalendario == Enums.TipoCalendario.CalendarioCompartido); else { if (!VisitaActual.EsReunionInterna) { res = mail.EnviarEmailVisitaConfirmada(VisitaActual); //res = Utils.EnvioEmail.EnviarEmailVisitaConfirmada(VisitaActual); } else { res = mail.EnviarEmailVisitaConfirmadaReunionInterna(VisitaActual); //res = Utils.EnvioEmail.EnviarEmailVisitaConfirmadaReunionInterna(VisitaActual); } }*/ if (res.Estado == Enums.EstadoTransaccion.Rechazada) { Cursor.Current = Cursors.Default; MessageBox.Show(res.Descripcion, "Visita", MessageBoxButtons.OK, MessageBoxIcon.Error); //return; } if (!VisitaActual.EsReunionInterna) { if (VisitaActual.EnviarConfirmacionACliente) { res = new ResultadoTransaccion(); res = mail.EnviarEmailVisitaConfirmadaCliente(VisitaActual); //res = Utils.EnvioEmail.EnviarEmailVisitaConfirmadaCliente(VisitaActual); if (res.Estado == Enums.EstadoTransaccion.Rechazada) { Cursor.Current = Cursors.Default; MessageBox.Show(res.Descripcion, "Visita", MessageBoxButtons.OK, MessageBoxIcon.Error); //return; } } } Cursor.Current = Cursors.Default; MessageBox.Show("Visita Confirmada exitosamente", "Visita", MessageBoxButtons.OK, MessageBoxIcon.Information); frmCalendario form = frmCalendario.Instancia; if (VisitaActual.EsReunionInterna) { form.TipoPersonaFiltro = Enums.TipoPersona.Todos; form.CargarCalendario(false, false, false); } if (VisitaActual.Cliente != null) { if (VisitaActual.Cliente.Tipo == Enums.TipoPersona.Cuenta) form.CargarCalendario(true, false, false); if (VisitaActual.Cliente.Tipo == Enums.TipoPersona.Target) form.CargarCalendario(false, true, false); } Instancia = null; this.Close(); }