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);
            }
        }
Beispiel #2
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);
                    }
                }
            }
        }
Beispiel #3
0
        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();;
            }
        }