private async void BtnModificarContrato_Click(object sender, RoutedEventArgs e) { try { if (InvalidEntry()) { await MetroDialogue("Modificar contrato", "Ha ocurrido un error validando los datos numéricos"); return; } await InvalidDate(); if (invalidDate) { return; } Contrato contrato = new Contrato() { Numero = lblNumContrato.Content.ToString(), Observaciones = txtObservaciones.Text, 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()), ModalidadServicio = new ModalidadServicio() { IdModalidad = cboModalidad.SelectedValue.ToString(), TipoEvento = new TipoEvento() { IdTipoEvento = int.Parse(cboTipoEvento.SelectedValue.ToString()) } } }; if (contrato.Update(contrato)) { // SE ACTUALIZA LA TABLA CORRESPONDIENTE AL CONTRATO if (contrato.ModalidadServicio.TipoEvento.IdTipoEvento == 10) { CoffeeBreak coffeeBreak = new CoffeeBreak() { Contrato = new Contrato() { Numero = contrato.Numero }, Vegetariana = chkVegetariana.IsChecked.Value }; coffeeBreak.Update(coffeeBreak); } else if (contrato.ModalidadServicio.TipoEvento.IdTipoEvento == 20) { // SI NO HAY AMBIENTACION SELECCIONADA NO SE CREA EN LA TABLA if (cboAmbientacion.SelectedIndex == -1) { Cocktail cocktail = new Cocktail() { Contrato = new Contrato() { Numero = contrato.Numero, }, MusicaAmbiental = chkMusica.IsChecked.Value, MusicaCliente = !(chkMusica.IsChecked.Value) }; cocktail.Update(cocktail); } else { Cocktail cocktail = 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) }; cocktail.Update(cocktail); } } else if (contrato.ModalidadServicio.TipoEvento.IdTipoEvento == 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.Update(c); } await MetroDialogue("Modificar contrato", "Contrato modificado correctamente"); // SI SE FINALIZA EL CONTRATO SE BLOQUEAN LAS EDICIONES if (contrato.Realizado) { BlockEdits(true); } } else { await MetroDialogue("Modificar contrato", "Contrato no encontrado"); } } catch (Exception x) { await MetroDialogue("Modificar contrato", x.Message);; } }
private async void btnUpdate_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 = DateTime.ParseExact(txtFechaTermino.Text, "dd-MM-yyyy HH:mm", null); 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); if (txtVigencia.Text.Equals("Si")) { contrato.Realizado = true; } else { contrato.Realizado = false; } contrato.Observaciones = txtObservaciones.Text; Evento evento = crearObjetoEvento(); contrato.ValorTotalContrato = evento.ValorBase() + evento.RecargoAsistentes() + evento.RecargoPersonalAdicional() + evento.RecargoExtras(); if (contrato.IdTipoEvento == 10) { CoffeeBreak coff = ((CoffeeBreak)evento); coff.Update(); } else if (contrato.IdTipoEvento == 20) { Cocktail c**k = ((Cocktail)evento); c**k.Update(); } 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.Update(); } bool resp = contrato.Update(); await this.ShowMessageAsync("Actualizar:", resp? "Contrato Actualizo" : "Contrato NO Actualizo"); if (txtVigencia.Text.Equals("No")) { await this.ShowMessageAsync("VIGENCIA TERMINADA:", "No se puede ACTUALIZAR un contrato con su vigencia terminada"); } if (resp) { limpiar(); } } catch (Exception ex) { await this.ShowMessageAsync("ERROR:", ex.Message); Logger.mensaje(ex.Message); } }
private async void BtnModificar_Click(object sender, RoutedEventArgs e) { if (Check()) { if (await Confirmacion("Modificar")) { Contrato con = new Contrato { Numero = txtNumero.Text, IdModalidad = cbModalidad.SelectedValue.ToString(), IdTipoEvento = (int)cbTipoEvento.SelectedValue, FechaHoraInicio = (DateTime)dtpFechaTermino.SelectedDate, FechaHoraTermino = (DateTime)dtpFechaTermino.SelectedDate, Asistentes = Convert.ToInt32(txtAsistentes.Text), PersonalAdicional = Convert.ToInt32(txtPersonal.Text), ValorTotalContrato = double.Parse(txtValor.Text), Observaciones = txtObservaciones.Text }; if (con.Read()) { if (con.Termino == con.Creacion) { switch (con.IdTipoEvento) { case 10: CoffeeBreak cb = new CoffeeBreak(); cb.Numero = con.Numero; cb.Vegetariana = (bool)chkVegetariana.IsChecked; cb.Update(); break; case 20: Cocktail ct = new Cocktail(); ct.Numero = con.Numero; if (rbPersonalizada.IsChecked == true) { ct.IdTipoAmbientacion = 20; } else if (rbBasica.IsChecked == true) { ct.IdTipoAmbientacion = 10; } else { ct.Ambientacion = false; } ct.MusicaAmbiental = (bool)chkMusica.IsChecked; ct.Update(); break; case 30: Cenas ce = new Cenas(); ce.Numero = con.Numero; 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); } ce.Update(); break; default: break; } if (con.Update()) { LimpiarVentana(); MessageDialogResult result = await this.ShowMessageAsync("Confirmación", "Contrato actualizado correctamente.", MessageDialogStyle.Affirmative); } else { MessageDialogResult result = await this.ShowMessageAsync("Error", "No se pudo actualizar, llene todos los datos correctamente.", MessageDialogStyle.Affirmative); } } else { MessageDialogResult result = await this.ShowMessageAsync("Error", "No se pudo actualizar, este contrato ya esta terminado.", MessageDialogStyle.Affirmative); } } else { MessageDialogResult result = await this.ShowMessageAsync("Error", "Contrato no existe.", MessageDialogStyle.Affirmative); } } } }