private async void btnCreate_Click(object sender, RoutedEventArgs e) { try { Contrato contrato = new Contrato(); contrato.Numero = txtNumero.Text; bool respCliente = new Cliente() { RutCliente = txtRut.Text }.Read(); contrato.RutCliente = txtRut.Text; if (respCliente) { contrato.RutCliente = txtRut.Text; } else { throw new Exception("Rut del cliente no existe"); } if (ctrFechaHoraInicio.RecuperarFechaHora() > ctrFechaHoraFin.RecuperarFechaHora()) { throw new Exception("La FechaHoraInicio no puede ser mayor a la FechaHoraTermino"); } contrato.Creacion = DateTime.ParseExact(txtFechaCreacion.Text, "dd-MM-yyyy HH:mm", null); contrato.Termino = ctrFechaHoraFin.RecuperarFechaHora(); contrato.FechaHoraInicio = ctrFechaHoraInicio.RecuperarFechaHora(); contrato.FechaHoraTermino = ctrFechaHoraFin.RecuperarFechaHora(); if (cboTipoEvento.SelectedIndex >= 0) //necesario { contrato.IdTipoEvento = ((TipoEvento)cboTipoEvento.SelectedItem).IdTipoEvento; } else { throw new Exception("Falta el campo Tipo Evento"); } if (cboModalidadServicio.SelectedIndex >= 0) //necesario { contrato.IdModalidad = ((ModalidadServicio)cboModalidadServicio.SelectedItem).IdModalidad; } else { throw new Exception("Falta el campo Modalidad Servicio"); } contrato.Asistentes = int.Parse(txtAsistentes.Text); contrato.PersonalAdicional = int.Parse(txtPersonalAdicional.Text); contrato.Realizado = true; contrato.Observaciones = txtObservaciones.Text; Evento evento = crearObjetoEvento(); contrato.ValorTotalContrato = evento.ValorBase() + evento.RecargoAsistentes() + evento.RecargoPersonalAdicional() + evento.RecargoExtras(); bool respContrato = contrato.Create(); if (contrato.IdTipoEvento == 10) { CoffeeBreak coff = ((CoffeeBreak)evento); coff.Create(); } else if (contrato.IdTipoEvento == 20) { Cocktail c**k = ((Cocktail)evento); c**k.Create(); } else if (contrato.IdTipoEvento == 30) { Cenas cena = ((Cenas)evento); if (((Cenas)evento).IdTipoAmbientacion == 30) { throw new Exception("El campo 'Tipo De Ambientacion' es obligatorio"); } cena.Create(); } await this.ShowMessageAsync("Contrato:", respContrato? "Contrato Guardado" : "Contrato NO Guardo"); if (respContrato) { limpiar(); } } catch (Exception ex) { await this.ShowMessageAsync("ERROR:", ex.Message); Logger.mensaje(ex.Message); } }
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); } } } }
private async void BtnRegistrarContrato_Click(object sender, RoutedEventArgs e) { try { await InvalidDate(); if (invalidDate) { return; } else if (InvalidEntry()) { await MetroDialogue("Registrar contrato", "Ha ocurrido un error validando los datos numéricos"); return; } DateTime creationDate = DateTime.Now; Contrato contrato = new Contrato() { Numero = creationDate.ToString("yyyyMMddHHmm"), Creacion = creationDate, Termino = (DateTime)dpFechaTermino.SelectedDateTime, Cliente = new Cliente() { RutCliente = txtRut.Text }, ModalidadServicio = new ModalidadServicio() { IdModalidad = cboModalidad.SelectedValue.ToString(), TipoEvento = new TipoEvento() { IdTipoEvento = int.Parse(cboTipoEvento.SelectedValue.ToString()) } }, FechaHoraInicio = (DateTime)dpFechaInicio.SelectedDateTime, FechaHoraTermino = (DateTime)dpFechaTermino.SelectedDateTime, Asistentes = int.Parse(txtCantAsist.Text), PersonalAdicional = int.Parse(txtCantPersonal.Text), Realizado = chkRealizado.IsChecked.Value, ValorTotalContrato = double.Parse(lblMonto.Content.ToString()), Observaciones = txtObservaciones.Text }; if (contrato.Create(contrato)) { lblNumContrato.Content = creationDate.ToString("yyyyMMddHHmm"); // CREAR TABLA DE TIPO DE EVENTO CORRESPONDIENTE AL CONTRATO if (cboTipoEvento.SelectedValue.ToString() == "10") { CoffeeBreak c = new CoffeeBreak() { Contrato = new Contrato() { Numero = contrato.Numero, }, Vegetariana = chkVegetariana.IsChecked.Value }; c.Create(c); } else if (cboTipoEvento.SelectedValue.ToString() == "20") { if (cboAmbientacion.SelectedValue == null) { Cocktail c = new Cocktail() { Contrato = new Contrato() { Numero = contrato.Numero, }, MusicaAmbiental = chkMusica.IsChecked.Value, MusicaCliente = !(chkMusica.IsChecked.Value) }; c.Create(c); } else { Cocktail c = new Cocktail() { Contrato = new Contrato() { Numero = contrato.Numero, }, TipoAmbientacion = new TipoAmbientacion() { Id = int.Parse(cboAmbientacion.SelectedValue.ToString()) }, MusicaAmbiental = chkMusica.IsChecked.Value, MusicaCliente = !(chkMusica.IsChecked.Value) }; c.Create(c); } } else if (cboTipoEvento.SelectedValue.ToString() == "30") { Cenas c = new Cenas() { Contrato = new Contrato() { Numero = contrato.Numero }, LocalOnBreak = LocalOnBreak(), OtroLocalOnBreak = ArrendarLocal(), MusicaAmbiental = chkMusica.IsChecked.Value, ValorArriendo = double.Parse(txtMontoArriendo.Text), TipoAmbientacion = new TipoAmbientacion() { Id = int.Parse(cboAmbientacion.SelectedValue.ToString()) } }; c.Create(c); } await MetroDialogue("Registrar contrato", "Contrato registrado correctamente"); // SE HABILITA LA MODIFICACION Y SE BLOQUEA EL BOTON REGISTRAR EnableRut(false); EnableChangeTipoEvento(false); EnableEditButtons(true); EnableRegisterButton(false); } else { await MetroDialogue("Registrar contrato", "Ha ocurrido un error al registrar el contrato, intenta nuevamente"); } } catch (Exception x) { await MetroDialogue("Registrar contrato", x.Message); } }
private void Btn_guardar_Click(object sender, RoutedEventArgs e) { Cliente cliente = new Cliente(); if (date_inicio.SelectedDate == null || date_inicio.SelectedDate.Value == null || date_fin.SelectedDate == null || date_fin.SelectedDate.Value == null || string.IsNullOrEmpty(txt_rutMostrado.Text) || string.IsNullOrEmpty(txt_valorTotal.Text) || cmb_tipo.SelectedValue == null || cmb_modalidadEvento.SelectedValue == null || string.IsNullOrEmpty(txt_observaciones.Text)) { MessageBox.Show("Tiene que llenar todos los campos para ingresar un Contrato", "Error", MessageBoxButton.OK); return; } if (date_inicio.SelectedDate.Value < DateTime.Today) { MessageBox.Show("La Fecha de inicio debe ser posterior a la creacion del Contrato", "Error", MessageBoxButton.OK); return; } if (date_fin.SelectedDate.Value < date_inicio.SelectedDate.Value) { MessageBox.Show("La Fecha de termino debe ser posterior a la fecha de Inicio del evento", "Error", MessageBoxButton.OK); return; } if (date_fin.SelectedDate > date_inicio.SelectedDate.Value.AddDays(1)) { MessageBox.Show("La Fecha de termino debe ser almenos 24hrs posterior al inicio del evento", "Error", MessageBoxButton.OK); return; } ModalidadServicio mod = new ModalidadServicio() { IdModalidad = (string)cmb_modalidadEvento.SelectedValue }; mod.Read(); int asistentes = 0; try { asistentes = string.IsNullOrEmpty(txt_asistentes.Text) == false?Convert.ToInt32(txt_asistentes.Text) : 0; } catch (Exception) { asistentes = -1; } int personal = 0; try { personal = int.Parse(txt_personalAdc.Text); } catch (Exception) { personal = -1; } if (txt_asistentes.Text == string.Empty) { MessageBox.Show("Debe ingresar asistentes", "Error", MessageBoxButton.OK); return; } else if (int.Parse(txt_asistentes.Text) <= 0) { MessageBox.Show("Debe ingresar almenos 1 asistente", "Error", MessageBoxButton.OK); return; } else if (int.Parse(txt_asistentes.Text) > 300) { MessageBox.Show("Los asistentes no pueden ser mayores a 300", "Error", MessageBoxButton.OK); return; } if (int.Parse(txt_personalAdc.Text) < 0) { MessageBox.Show("El personal adicional debe ser mayor a 1", "Error", MessageBoxButton.OK); return; } else if (int.Parse(txt_personalAdc.Text) == 1) { MessageBox.Show("El personal adicional debe ser mayor a 1", "Error", MessageBoxButton.OK); return; } else if (int.Parse(txt_personalAdc.Text) > 10) { MessageBox.Show("El personal adicional maximo puede ser 10", "Error", MessageBoxButton.OK); return; } Contrato contrato = new Contrato { Numero = Contrato.CrearNumeroContrato(), Creacion = System.DateTime.Now, RutCliente = txt_rutMostrado.Text, IdModalidad = (string)cmb_modalidadEvento.SelectedValue, IdTipoEvento = (int)cmb_tipo.SelectedValue, FechaHoraInicio = date_inicio.SelectedDate.Value, FechaHoraTermino = date_fin.SelectedDate.Value, Asistentes = int.Parse(txt_asistentes.Text), PersonalAdicional = int.Parse(txt_personalAdc.Text), Realizado = false, ValorTotalContrato = int.Parse(txt_valorTotal.Text), Observaciones = txt_observaciones.Text }; if (contrato.Create()) { MessageBox.Show("Contrato registrado con el numero : " + contrato.Numero, "Info", MessageBoxButton.OK); LimpiarControles(); } else { MessageBox.Show("El contrato no pudo ser creado", "Error", MessageBoxButton.OK); return; } if (cmb_modalidadEvento.SelectedIndex == 0 || Vegetariana.IsChecked == true) { CoffeBreak.Numero = Contrato.CrearNumeroContrato(); CoffeBreak.Vegetariana = true; CoffeBreak.Create(); } if (cmb_modalidadEvento.SelectedIndex == 0 || Vegetariana.IsChecked == false) { CoffeBreak.Numero = Contrato.CrearNumeroContrato(); CoffeBreak.Vegetariana = false; CoffeBreak.Create(); } if (cmb_modalidadEvento.SelectedIndex == 1 || MusicaAmbiental.IsChecked == true) { Cockctail.Numero = Contrato.CrearNumeroContrato(); Cockctail.MusicaAmbiental = true; Cockctail.IdTipoAmbientacion = 10; Cockctail.Ambientacion = true; Cockctail.MusicaCliente = true; Cockctail.Create(); } if (cmb_tipo.SelectedIndex == 2) { Cenas.Numero = Contrato.CrearNumeroContrato(); Cenas.IdTipoAmbientacion = int.Parse(cmb_AmbientacionCocktail.SelectedValue.ToString()); Cenas.MusicaAmbiental = true; if (LocalOnbreak.IsChecked == true) { Cenas.LocalOnBreak = true; Cenas.OtroLocalOnbreak = false; } if (OtroCliente.IsChecked == true) { Cenas.LocalOnBreak = false; Cenas.OtroLocalOnbreak = true; } Cenas.ValorArriendo = int.Parse(txtValorArriendo.Text); Cenas.Create();; } }