Beispiel #1
0
        public void TomarLateralesReferencia(bool preguntar, bool forzarLaterales, bool forzarReferencia)
        {
            var  sq    = new SQLiteDataSet();
            bool hacer = false;

            if (preguntar)
            {
                var mbLatRef = MessageBox.Show(@"¿Desea cargar la información adicional ahora?",
                                               string.Empty,
                                               MessageBoxButtons.YesNo,
                                               MessageBoxIcon.Question,
                                               MessageBoxDefaultButton.Button1);

                if (mbLatRef == DialogResult.Yes)
                {
                    hacer = true;
                }
            }
            else
            {
                hacer = true;
            }

            if (hacer)
            {
                try
                {
                    using (var lateralesReferencia = new LateralesReferencia())
                    {
                        lateralesReferencia.Referencia = _service.Referencia;
                        lateralesReferencia.Lateral1   = _service.Lateral1;
                        lateralesReferencia.Lateral2   = _service.Lateral2;


                        if (forzarReferencia || forzarLaterales)
                        {
                            lateralesReferencia.UsaReferencia = forzarReferencia;
                            lateralesReferencia.UsaLaterales  = forzarLaterales;
                        }
                        else
                        {
                            lateralesReferencia.UsaReferencia = _service.ConReferencia.Validate(_service.Motivo.EsEntrega); // || forzarReferencia;
                            lateralesReferencia.UsaLaterales  = _service.ConLaterales.Validate(_service.Motivo.EsEntrega);  // || forzarLaterales;
                        }


                        lateralesReferencia.Opcionales = (forzarReferencia && forzarLaterales);
                        lateralesReferencia.ShowDialog();


                        if (lateralesReferencia.acepto)
                        {
                            if (lateralesReferencia.UsaReferencia)
                            {
                                _service.Referencia = lateralesReferencia.Referencia;
                            }
                            if (lateralesReferencia.UsaLaterales)
                            {
                                _service.Lateral1 = lateralesReferencia.Lateral1;
                                _service.Lateral2 = lateralesReferencia.Lateral2;
                            }

                            _service.CalcularEstados();

                            if (_multiple)
                            {
                                foreach (Ruta r in _services)
                                {
                                    if (lateralesReferencia.UsaReferencia)
                                    {
                                        r.Referencia = _service.Referencia;
                                    }
                                    if (lateralesReferencia.UsaLaterales)
                                    {
                                        r.Lateral1 = _service.Lateral1;
                                        r.Lateral2 = _service.Lateral2;
                                    }

                                    r.CalcularEstados();
                                }
                            }
                            sq.UpdateLateralesReferencia(_services);
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }