コード例 #1
0
        private async void BtnRegistrar_Click(object sender, RoutedEventArgs e)
        {
            if (Check())
            {
                if (await Confirmacion("Registrar"))
                {
                    Contrato con = new Contrato()
                    {
                        Numero             = DateTime.Now.ToString("yyyyMMddhhmm"),
                        RutContacto        = cbRut.SelectedValue.ToString(),
                        IdModalidad        = cbModalidad.SelectedValue.ToString(),
                        IdTipoEvento       = (int)cbTipoEvento.SelectedValue,
                        FechaHoraInicio    = (DateTime)dtpFechaInicio.SelectedDate,
                        FechaHoraTermino   = (DateTime)dtpFechaTermino.SelectedDate,
                        Asistentes         = Convert.ToInt32(txtAsistentes.Text),
                        PersonalAdicional  = Convert.ToInt32(txtPersonal.Text),
                        ValorTotalContrato = Convert.ToDouble(txtValor.Text),
                        Observaciones      = txtObservaciones.Text
                    };
                    switch (con.IdTipoEvento)
                    {
                    case 10:
                        CoffeeBreak cb = new CoffeeBreak();
                        cb.Numero      = con.Numero;
                        cb.Vegetariana = (bool)chkVegetariana.IsChecked;
                        cb.Create();
                        break;

                    case 20:
                        Cocktail ct = new Cocktail();
                        ct.Numero = con.Numero;
                        ct.LeerTipoAmbientacion();
                        if (rbPersonalizada.IsChecked == true)
                        {
                            ct.IdTipoAmbientacion = 20;
                            ct.Ambientacion       = (bool)rbPersonalizada.IsChecked;
                        }
                        else
                        {
                            ct.IdTipoAmbientacion = 10;
                            ct.Ambientacion       = (bool)rbBasica.IsChecked;
                        }

                        ct.MusicaAmbiental = (bool)chkMusica.IsChecked;
                        ct.Create();

                        break;

                    case 30:
                        Cenas ce = new Cenas();


                        ce.Numero = con.Numero;
                        ce.LeerTipoAmbientacion();
                        if (rbPersonalizada.IsChecked == true)
                        {
                            ce.IdTipoAmbientacion = 20;
                        }
                        else
                        {
                            ce.IdTipoAmbientacion = 10;
                        }

                        ce.MusicaAmbiental = (bool)chkMusica.IsChecked;
                        if (rbOnBreak.IsChecked == true)
                        {
                            ce.Local = (bool)rbOnBreak.IsChecked;
                        }
                        else if (rbOtro.IsChecked == true)
                        {
                            ce.OtroLocal     = (bool)rbOtro.IsChecked;
                            ce.ValorArriendo = Convert.ToInt16(txtArriendo.Text);
                        }
                        else
                        {
                            ce.OtroLocal = false;
                            ce.Local     = false;
                        }

                        ce.Create();

                        break;

                    default:
                        break;
                    }
                    if (!con.Read())
                    {
                        if (con.FechaHoraInicio < con.FechaHoraTermino)
                        {
                            Contacto cli = new Contacto()
                            {
                                RutContacto = cbRut.SelectedValue.ToString()
                            };
                            if (cli.Read())
                            {
                                if (con.Create())
                                {
                                    MessageDialogResult result = await this.ShowMessageAsync("Confirmación", "Contrato agregado correctamente.", MessageDialogStyle.Affirmative);

                                    LimpiarVentana();
                                }
                                else
                                {
                                    MessageDialogResult result = await this.ShowMessageAsync("Error", "No se pudo registrar, llene todos los datos correctamente.", MessageDialogStyle.Affirmative);
                                }
                            }
                            else
                            {
                                MessageDialogResult result = await this.ShowMessageAsync("Error", "No se pudo registrar, porque el contacto no existe.", MessageDialogStyle.Affirmative);
                            }
                        }
                        else
                        {
                            MessageDialogResult result = await this.ShowMessageAsync("Error", "No se pudo registrar, porque la fecha de termino no es mayor a fecha inicio.", MessageDialogStyle.Affirmative);
                        }
                    }
                    else
                    {
                        MessageDialogResult result = await this.ShowMessageAsync("Error", "Contrato ya existe.", MessageDialogStyle.Affirmative);
                    }
                }
            }
        }