Esempio n. 1
0
        private void CargarAsistentesParaConfirmacion()
        {
            ResultadoTransaccion res =
                LogicaNegocios.Calendarios.clsCalendarios.ListarAsistentesConTopeDeHorario(
                    Base.Usuario.UsuarioConectado.Usuario, VisitaActual.FechaHoraComienzo, VisitaActual.FechaHoraTermino,
                    VisitaActual.Id);

            IList<clsUsuario> asistentesTope = new List<clsUsuario>();
            if (res.Estado == Enums.EstadoTransaccion.Aceptada)
            {
                asistentesTope = (IList<clsUsuario>)res.ObjetoTransaccion;
            }

            //lstAsistentesConfirmacion.Items.Clear();

            if (VisitaActual.EstadoBD == Enums.VisitaEstado.Confirmada)
            {
                foreach (var asistente in VisitaActual.AsistentesCraft)
                {
                    AsistentesCraft asisCraft = new AsistentesCraft();
                    asisCraft.Usuario = asistente.Usuario;
                    asisCraft.TieneTopeHorario = false;
                    if (asistente.Confirmo == Enums.VisitaEstadoAsistente.ConfirmoAsistencia)
                        asisCraft.Asiste = true;
                    else
                        asisCraft.Asiste = false;
                }
            }
            else
            {
                IList<AsistentesCraft> listaasistentes = new List<AsistentesCraft>();
                foreach (var asistente in VisitaActual.AsistentesCraft)
                {
                    AsistentesCraft asisCraft = new AsistentesCraft();
                    asisCraft.Usuario = asistente.Usuario;
                    asisCraft.Asiste = true;

                    foreach (var tope in asistentesTope)
                    {
                        if (asistente.Usuario.Id == tope.Id)
                            asisCraft.TieneTopeHorario = true;
                    }
                    listaasistentes.Add(asisCraft);
                }
                grdAsistentesConfirmacion.DataSource = listaasistentes;
                grdAsistentesConfirmacion.RefreshDataSource();

                //foreach (var asistente in VisitaActual.AsistentesCraft)
                //{
                //    lstAsistentesConfirmacion.Items.Add(asistente.Usuario, true);
                //}
            }
        }
Esempio n. 2
0
        private void CargarUsuariosAsistentes()
        {
            IList<clsUsuario> usuarios = new List<clsUsuario>();
            ResultadoTransaccion res = LogicaNegocios.Usuarios.clsUsuarios.ListarUsuarios(Enums.Estado.Habilitado, Enums.CargosUsuarios.Todos);

            if (res.Estado == Enums.EstadoTransaccion.Aceptada)
            {
                usuarios = (IList<clsUsuario>)res.ObjetoTransaccion;
            }

            //asistentes con tope de horario
            res =
                LogicaNegocios.Calendarios.clsCalendarios.ListarAsistentesConTopeDeHorario(
                    Base.Usuario.UsuarioConectado.Usuario, VisitaActual.FechaHoraComienzo.AddSeconds(1), VisitaActual.FechaHoraTermino,
                    VisitaActual.Id);

            IList<clsUsuario> asistentesTope = new List<clsUsuario>();
            if (res.Estado == Enums.EstadoTransaccion.Aceptada)
            {
                asistentesTope = (IList<clsUsuario>)res.ObjetoTransaccion;
            }

            IList<AsistentesCraft> listAsistentesCraft = new List<AsistentesCraft>();
            foreach (var user in usuarios)
            {
                AsistentesCraft asis = new AsistentesCraft();
                asis.Usuario = user;
                asis.Asiste = false;
                asis.TieneTopeHorario = false;

                foreach (var tope in asistentesTope)
                {
                    if (user.Id == tope.Id)
                        asis.TieneTopeHorario = true;
                }
                listAsistentesCraft.Add(asis);
            }

            //lstAsistentesCraft.DataSource = usuarios;
            //lstAsistentesCraft.Refresh();
            grdAsistentesCraft.DataSource = listAsistentesCraft;
        }
Esempio n. 3
0
        public void CargarFormulario()
        {
            Int64 IdVisita = 0;

            if (Accion == Enums.TipoAccionFormulario.Consultar)
                IdVisita = IdVisitaConsulta;
            else
                IdVisita = Convert.ToInt64(AppointmentCalendario.CustomFields["IdVisita"]);

            clsVisita visita =
                LogicaNegocios.Calendarios.clsCalendarios.ObtenerVisitaPorId(IdVisita);

            //obtener produtos del cliente
            //visita.Cliente.ProductosPreferidos =
            //    LogicaNegocios.Clientes.clsClientesMaster.ObtenerProductosPreferidos(visita.Cliente.Id);

            if (visita == null) return;

            VisitaActual = visita;

            txtAsunto.Text = VisitaActual.Asunto;
            txtUbicacion.Text = VisitaActual.Ubicacion;

            if (Accion != Enums.TipoAccionFormulario.Nuevo)
            {
                txtFechaComienzo.Text = VisitaActual.FechaHoraComienzo.ToShortDateString();
                txtHoraComienzo.Time = VisitaActual.FechaHoraComienzo;
                txtFechaTermino.Text = VisitaActual.FechaHoraTermino.ToShortDateString();
                txtHoraTermino.Time = VisitaActual.FechaHoraTermino;
            }
            else
            {
                txtFechaComienzo.Text = AppointmentCalendario.Start.ToShortDateString();
                txtHoraComienzo.Time = AppointmentCalendario.Start;
                txtFechaTermino.Text = AppointmentCalendario.End.ToShortDateString();
                txtHoraTermino.Time = AppointmentCalendario.End;
            }

            txtDescripcion.Text = VisitaActual.Descripcion;

            if (VisitaActual.Cliente != null)
            {
                txtCliente.Text = VisitaActual.Cliente.ToString();
                cboCliente.SelectedItem = visita.Cliente;
                ClienteMaster = VisitaActual.Cliente;
            }

            CargarContactos();

            cboNivelImportancia.SelectedItem = VisitaActual.NivelImportancia;

            for (int i = 0; i <= lstAsistentesCliente.Items.Count - 1; i++)
            {
                clsContacto contacto = (clsContacto)lstAsistentesCliente.Items[i];
                foreach (clsVisitaAsistente asistente in VisitaActual.Asistentes)
                {
                    if (asistente.TipoAsistente == Enums.VisitaTipoAsistente.Contacto)
                    {
                        if (contacto.Id == asistente.Contacto.Id)
                        {
                            lstAsistentesCliente.SetItemChecked(i, true);

                            break;
                        }
                    }
                }
            }

            //grdAsistentesConfirmacion.DataSource = VisitaActual.AsistentesCraft;
            IList<AsistentesCraft> asistentes = (IList<AsistentesCraft>)grdAsistentesCraft.DataSource;
            foreach (var usuario in asistentes)
            {
                foreach (clsVisitaAsistente asistente in VisitaActual.Asistentes)
                {
                    if (asistente.TipoAsistente == Enums.VisitaTipoAsistente.Usuario)
                    {
                        if (usuario.Usuario.Id == asistente.Usuario.Id)
                        {
                            usuario.Asiste = true;

                            //if (asistente.Confirmo == Enums.VisitaEstadoAsistente.ConfirmoAsistencia)
                            //    usuario.Asiste = true;
                            //else
                            //    usuario.Asiste = false;
                        }

                    }
                }
            }
            grdAsistentesCraft.DataSource = asistentes;
            grdAsistentesCraft.RefreshDataSource();

            //Confirmados
            asistentes = new List<AsistentesCraft>();
            foreach (clsVisitaAsistente asistente in VisitaActual.AsistentesCraft)
            {
                AsistentesCraft asistio = new AsistentesCraft();
                if (asistente.Confirmo == Enums.VisitaEstadoAsistente.ConfirmoAsistencia)
                    asistio.Asiste = true;
                else
                    asistio.Asiste = false;

                asistio.Usuario = asistente.Usuario;
                asistio.TieneTopeHorario = false;

                asistentes.Add(asistio);
            }

            grdAsistentesConfirmacion.DataSource = asistentes;
            grdAsistentesConfirmacion.RefreshDataSource();

            //for (int i = 0; i <= lstAsistentesCraft.Items.Count - 1; i++)
            //{
            //    clsUsuario usuario = (clsUsuario)lstAsistentesCraft.Items[i];
            //    foreach (clsVisitaAsistente asistente in VisitaActual.Asistentes)
            //    {

            //        if (asistente.TipoAsistente == Enums.VisitaTipoAsistente.Usuario)
            //        {
            //            if (usuario.Id == asistente.Usuario.Id)
            //            {
            //                lstAsistentesCraft.SetItemChecked(i, true);

            //                if (asistente.Confirmo == Enums.VisitaEstadoAsistente.ConfirmoAsistencia)
            //                    lstAsistentesConfirmacion.Items.Add(asistente.Usuario, true);
            //                else
            //                    lstAsistentesConfirmacion.Items.Add(asistente.Usuario, false);

            //                break;
            //            }
            //        }
            //    }
            //}

            txtEstado.Text = Convert.ToString(VisitaActual.EstadoBD).Replace("_", " ");

            txtMotivoCancelacion.Text = VisitaActual.DescripcionCancelacion;
            txtFechaCancelacion.Text = VisitaActual.FechaCancelacion.ToShortDateString();

            chkReplanificada.Checked = VisitaActual.EsReplanificada;
            txtOrganizador.Text = visita.UsuarioOrganizador.NombreCompleto;

            if (VisitaActual.Vendedor != null)
            {
                for (int i = 0; i < cboVendedor.Properties.Items.Count; i++)
                {
                    if (cboVendedor.Properties.Items[i].ToString().Trim() == VisitaActual.Vendedor.NombreCompleto.Trim())
                        cboVendedor.SelectedIndex = i;

                }
                //cboVendedor.SelectedItem = VisitaActual.Vendedor;

                txtVendedor.Text = VisitaActual.Vendedor.NombreCompleto;
            }

            chkReunionInterna.Checked = visita.EsReunionInterna;

            //if (VisitaActual.EstadoBD == Enums.VisitaEstado.Incompleta)
            //    txtEstado.Text = "Visita Incompleta";

            //if (VisitaActual.EstadoBD == Enums.VisitaEstado.Planificada_Por_confirmar)
            //    txtEstado.Text = "Planificada";

            //if (VisitaActual.EstadoBD == Enums.VisitaEstadoBD.PendienteRegistro)
            //    txtEstado.Text = "Visita realizada, Informe Pendiente";

            //if (VisitaActual.EstadoBD == Enums.VisitaEstadoBD.Realizada)
            //    txtEstado.Text = "Visita Realizada";

            //if (VisitaActual.EstadoBD == Enums.VisitaEstadoBD.NoRealizada)
            //    txtEstado.Text = "Visita no Realizada";

            //if (VisitaActual.EstadoBD == Enums.VisitaEstadoBD.Cancelada)
            //    txtEstado.Text = "Visita Cancelada";
        }