Beispiel #1
0
        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();
        }