locked
Use DatePicker RRS feed

  • Question

  • <phone:PhoneApplicationPage.Resources>
            <DataTemplate x:Name="listviajes">
                <StackPanel Orientation="Horizontal">
                    <Image Source="{Binding Ico}" Width="30" Stretch="UniformToFill" HorizontalAlignment="Center"/>
                    <TextBlock Text="{Binding viaje}" Margin="12,0"></TextBlock>
                    <TextBlock Text="{Binding precio,ConverterCulture=es-ES, StringFormat='{}{0:C}del viaje'}" Margin="{StaticResource PhoneHorizontalMargin}"></TextBlock>
                </StackPanel>
            </DataTemplate>
        </phone:PhoneApplicationPage.Resources>
            <!--LayoutRoot es la cuadrícula raíz donde se coloca todo el contenido de la página-->
        <Grid x:Name="LayoutRoot" Background="Transparent">
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="*"/>
            </Grid.RowDefinitions>

            <!--TitlePanel contiene el nombre de la aplicación y el título de la página-->
            <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
                <TextBlock x:Name="ApplicationTitle" Text="MI APLICACIÓN" Style="{StaticResource PhoneTextNormalStyle}"/>
                <TextBlock x:Name="PageTitle" Text="nombre de la página" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
            </StackPanel>

            <!--ContentPanel. Colocar aquí el contenido adicional-->
            <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
                <ScrollViewer>
                    <StackPanel>
                    <toolkit:ListPicker  x:Name="cmbViaje"
                                         Header="Viajes a Realizar"
                                         ItemTemplate="{StaticResource listviajes}"
                                         SelectionChanged="cmbViaje_SelectionChanged"/>
                     <toolkit:DatePicker x:Name="dptFecha" Header="Fecha de nacimiento" ValueChanged="dptFecha_ValueChanged" />
                        <TextBlock Text="importe total:" Margin="{StaticResource PhoneHorizontalMargin}" />
                        <TextBlock x:Name="txtPrecio"
                                   TextAlignment="Center"
                                   Text="" 
                                   Style="{StaticResource PhoneTextLargeStyle}"/>
                        <TextBlock x:Name="txttarifa" Style="{StaticResource PhoneTextSmallStyle}" TextAlignment="Left"/>
                        <TextBlock x:Name="txtdias" Style="{StaticResource PhoneTextSmallStyle}"  TextAlignment="Left"/>            
                    </StackPanel>
                </ScrollViewer>
            </Grid>
        </Grid>
    </phone:PhoneApplicationPage>

    xaml.cs

    // Constructor

            public MainPage()
            {
                InitializeComponent();

               dptFecha.Value = DateTime.Today;

               dptFecha_ValueChanged(null,null);

                List<ViajesRealizar> viajes = new List<ViajesRealizar>();
                viajes.Add(new ViajesRealizar() { viaje = "Cancun", precio = 700, Ico = new BitmapImage(new Uri("image/cancun.png", UriKind.Relative)) });
                viajes.Add(new ViajesRealizar() { viaje = "China", precio = 2500, Ico = new BitmapImage(new Uri("image/china.png", UriKind.Relative)) });
                viajes.Add(new ViajesRealizar() { viaje = "New York", precio = 1300, Ico = new BitmapImage(new Uri("image/ny.png", UriKind.Relative)) });
                viajes.Add(new ViajesRealizar() { viaje = "Noruega", precio = 1000, Ico = new BitmapImage(new Uri("image/norg.png", UriKind.Relative)) });
                cmbViaje.ItemsSource = viajes;
            }

            private void dptFecha_ValueChanged(object sender, DateTimeValueChangedEventArgs e)
            {


            }

            private void cmbViaje_SelectionChanged(object sender, SelectionChangedEventArgs e)
            {

                txtPrecio.Text = "";
                double precio = ((ViajesRealizar)cmbViaje.SelectedItem).precio;

                txttarifa.Text = "";
                txtdias.Text = "";
                txtPrecio.Text = "";
                int Tarifa = 0;
                String hoy = "25/01/2014";
                String j="25/01/1949";
                String jo="25/01/1996";
                DateTime? Hoy=DateTime.Parse(hoy) ; 
                DateTime? jubilado=DateTime.Parse(j) ; 
                DateTime? joven=DateTime.Parse(jo) ; 
                if (dptFecha.Value == null) 
                {
                    return;
                }
                if (dptFecha.Value.Value > joven.Value) { 
                    Tarifa = 10;
                    txttarifa.Text += String.Format("\n Tarifa: {0}% de descuento por Joven", Tarifa);
                    TimeSpan dif= Hoy.Value -dptFecha.Value.Value;
                    txtdias.Text = dif.Days.ToString("#,##0") + "dias desde que nacistes";
                    txtPrecio.Text = String.Format("{0:C}", precio - (precio * Tarifa) / 100);
                }
                else if (dptFecha.Value.Value < jubilado.Value)
                {
                    Tarifa = 5;
                    txttarifa.Text += String.Format("\n Tarifa: {0}% de descuento por jubilado", Tarifa);
                    TimeSpan dif = Hoy.Value - dptFecha.Value.Value;
                    txtdias.Text = dif.Days.ToString("#,##0") + "dias desde que nacistes";
                    txtPrecio.Text = String.Format("{0:C}", precio - (precio * Tarifa) / 100);
                }
                else
                {
                    Tarifa = 5;
                    txttarifa.Text += String.Format("\n Tarifa: {0}% incremento en el precio por adulto", Tarifa);
                    TimeSpan dif = Hoy.Value - dptFecha.Value.Value;
                    txtdias.Text = dif.Days.ToString("#,##0") + "dias desde que nacistes";
                    txtPrecio.Text = String.Format("{0:C}", precio + (precio * Tarifa) / 100);
                }
            }
        }
    }

    CLASE

     public class ViajesRealizar
        {
            public String viaje { get; set; }
            public double precio { get; set; }
            public ImageSource Ico { get; set; }

        }

    Monday, January 27, 2014 10:01 AM

Answers