Example #1
0
 private bool CanVote(Iniciativa iniciativa)
 {
     if (iniciativa.isOpen() && !iniciativa.UserHasVoted(SesionActiva.ObtenerInstancia().Usuario.ID))
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
Example #2
0
        private void DetailsMode()
        {
            tbOpcionMasVotada.Text = "";
            btnVotar.Content       = "Votar";
            bool canVote = true;

            spFormulario.MaxHeight             = 0;
            spDetails.MaxHeight                = double.PositiveInfinity;
            spDetailAsistire.MaxHeight         = 0;
            spDetailDoDont.MaxHeight           = 0;
            spDetailRegla.MaxHeight            = 0;
            spDetailVotacionMultiple.MaxHeight = 0;
            spDetailOpciones.MaxHeight         = 0;
            lvDetailOpciones.SelectionMode     = ListViewSelectionMode.Single;
            lvComentarios.SelectionMode        = ListViewSelectionMode.None;
            if (Selected != null)
            {
                switch (_selected.GetType().Name)
                {
                case "Asistire":
                    opciones = CreateListViewOpciones(((Asistire)_selected).Opciones);
                    lvDetailOpciones.ItemsSource = opciones;
                    canVote            = CanVote(_selected);
                    btnVotar.IsEnabled = canVote;

                    if (!canVote)
                    {
                        ShowVotedOption();
                    }

                    tbFechaEvento.Text             = ((Asistire)_selected).FechaEvento.ToString();
                    tbFechaLimiteConfirmacion.Text = ((Asistire)_selected).FechaLimiteConfirmacion.ToString();
                    tbLugar.Text = ((Asistire)_selected).Lugar;

                    spDetailAsistire.MaxHeight         = double.PositiveInfinity;
                    spDetailOpciones.MaxHeight         = double.PositiveInfinity;
                    spDetailDoDont.MaxHeight           = 0;
                    spDetailRegla.MaxHeight            = 0;
                    spDetailVotacionMultiple.MaxHeight = 0;

                    break;

                case "DoDont":
                    opciones = CreateListViewOpciones(((DoDont)_selected).Opciones);
                    lvDetailOpciones.ItemsSource = opciones;
                    rbDo.IsChecked     = ((DoDont)_selected).Tipo == "Do" ? true : false;
                    rbDont.IsChecked   = ((DoDont)_selected).Tipo == "Don't" ? true : false;
                    canVote            = CanVote(_selected);
                    btnVotar.IsEnabled = canVote;

                    if (!canVote)
                    {
                        ShowVotedOption();
                    }

                    spDetailDoDont.MaxHeight           = double.PositiveInfinity;
                    spDetailOpciones.MaxHeight         = double.PositiveInfinity;
                    spDetailAsistire.MaxHeight         = 0;
                    spDetailRegla.MaxHeight            = 0;
                    spDetailVotacionMultiple.MaxHeight = 0;
                    break;

                case "FAQ":
                    //marcar comentario correcto
                    spDetailAsistire.MaxHeight         = 0;
                    spDetailDoDont.MaxHeight           = 0;
                    spDetailRegla.MaxHeight            = 0;
                    spDetailVotacionMultiple.MaxHeight = 0;
                    canVote                     = _selected.isOpen() && _selected.Owner.ID == SesionActiva.ObtenerInstancia().Usuario.ID&& ((FAQ)_selected).RespuestaCorrecta.ID == 0;
                    btnVotar.IsEnabled          = canVote;
                    lvComentarios.SelectionMode = ListViewSelectionMode.Single;
                    if (!canVote)
                    {
                        ShowVotedComment();
                    }
                    btnVotar.Content = "Seleccionar respuesta correcta";

                    break;

                case "PropuestaGenerica":
                    spDetailAsistire.MaxHeight         = 0;
                    spDetailDoDont.MaxHeight           = 0;
                    spDetailRegla.MaxHeight            = 0;
                    spDetailVotacionMultiple.MaxHeight = 0;
                    canVote            = false;
                    btnVotar.IsEnabled = canVote;

                    break;

                case "Regla":
                    opciones = CreateListViewOpciones(((Regla)_selected).Opciones);
                    lvDetailOpciones.ItemsSource = opciones;
                    slDetailRelevancia.Value     = ((Regla)_selected).Relevancia;
                    canVote            = CanVote(_selected);
                    btnVotar.IsEnabled = canVote;

                    if (!canVote)
                    {
                        ShowVotedOption();
                    }

                    spDetailAsistire.MaxHeight         = 0;
                    spDetailDoDont.MaxHeight           = 0;
                    spDetailOpciones.MaxHeight         = double.PositiveInfinity;
                    spDetailRegla.MaxHeight            = double.PositiveInfinity;
                    spDetailVotacionMultiple.MaxHeight = 0;
                    break;

                case "Votacion":
                    opciones = CreateListViewOpciones(((Votacion)_selected).Opciones);
                    lvDetailOpciones.ItemsSource = opciones;
                    canVote            = CanVote(_selected);
                    btnVotar.IsEnabled = canVote;

                    if (!canVote)
                    {
                        ShowVotedOption();
                    }

                    spDetailAsistire.MaxHeight         = 0;
                    spDetailDoDont.MaxHeight           = 0;
                    spDetailRegla.MaxHeight            = 0;
                    spDetailVotacionMultiple.MaxHeight = 0;
                    spDetailOpciones.MaxHeight         = double.PositiveInfinity;
                    break;

                case "VotacionMultiple":
                    opciones = CreateListViewOpciones(((VotacionMultiple)_selected).Opciones);
                    lvDetailOpciones.ItemsSource           = opciones;
                    tbDetailMaxOpcionesSeleccionables.Text = ((VotacionMultiple)_selected).MaxOpcionesSeleccionables.ToString();
                    canVote            = CanVote(_selected);
                    btnVotar.IsEnabled = canVote;

                    lvDetailOpciones.SelectionMode = ListViewSelectionMode.Multiple;
                    if (!canVote)
                    {
                        foreach (var item in lvDetailOpciones.Items)
                        {
                            if (((OpcionListViewItem)item).Opcion.Votantes.FindIndex(x => x.ID == SesionActiva.ObtenerInstancia().Usuario.ID) != -1)
                            {
                                lvDetailOpciones.SelectedItems.Add(item);
                            }
                        }
                    }
                    if (!_selected.isOpen())
                    {
                        int count = 0;
                        foreach (OpcionListViewItem item in lvDetailOpciones.Items)
                        {
                            if (item.Opcion.Votantes.Count > count)
                            {
                                count = item.Opcion.Votantes.Count;
                                tbOpcionMasVotada.Text = "OpciĆ³n mas votada: " + item.Opcion.Descripcion;
                            }
                        }
                    }

                    spDetailAsistire.MaxHeight         = 0;
                    spDetailDoDont.MaxHeight           = 0;
                    spDetailRegla.MaxHeight            = 0;
                    spDetailVotacionMultiple.MaxHeight = double.PositiveInfinity;
                    spDetailOpciones.MaxHeight         = double.PositiveInfinity;

                    break;

                default:
                    break;
                }
            }
        }