예제 #1
0
        public void CrearConductorDesconocido(int idConductor)
        {
            if (ExisteConductor(idConductor))
            {
                return;
            }
            Conductor desconocido = new Conductor {
                Id = idConductor, Nombre = "Desconocido", Notas = "Conductor insertado automáticamente por el sistema."
            };

            ListaConductores.Add(desconocido);
        }
예제 #2
0
        internal async void Nuevo()
        {
            try
            {
                ConductorDTO c = await _webApiClient.CreateConductor(ConductorSelected);

                //Si el conductor devuelto !=null es porque se creo y lo añadimos a la collection observable
                if (c != null)
                {
                    ListaConductores.Add(c);
                }
                else
                {
                    MessageBox.Show("Conductor existente");
                }
            }
            catch (WebApiException e)
            {
                MessageBox.Show(e.Message);
            }
        }
예제 #3
0
 private void DeshacerBorrar()
 {
     if (_listaborrados == null)
     {
         return;
     }
     foreach (Conductor conductor in _listaborrados)
     {
         if (conductor.Nuevo)
         {
             ListaConductores.Add(conductor);
         }
         else
         {
             ListaConductores.Add(conductor);
             conductor.Nuevo = false;
         }
         HayCambios = true;
         App.Global.CalendariosVM.DeshacerBorrarPorConductor(conductor.Id);
     }
     _listaborrados.Clear();
 }
예제 #4
0
        private void PegarConductores(object parametro)
        {
            // Convertimos el parámetro pasado.
            DataGrid grid = parametro as DataGrid;

            if (grid == null || grid.CurrentCell == null)
            {
                return;
            }
            // Parseamos los datos del portapapeles y definimos las variables.
            List <string[]> portapapeles = Utils.parseClipboard();
            int             columnagrid;
            int             filagrid;
            bool            esnuevo;

            // Si no hay datos, salimos.
            if (portapapeles == null)
            {
                return;
            }
            // Establecemos la columna donde se empieza a pegar.
            columnagrid = grid.Columns.IndexOf(grid.CurrentCell.Column);
            filagrid    = grid.Items.IndexOf(grid.CurrentCell.Item);
            // Creamos un objeto ConvertidorHora
            Convertidores.ConvertidorHora cnvHora = new Convertidores.ConvertidorHora();
            // Iteramos por las filas del portapapeles.
            foreach (string[] fila in portapapeles)
            {
                // Creamos un objeto Conductor o reutilizamos el existente.
                Conductor conductor;
                if (filagrid < ListaConductores.Count)
                {
                    conductor = ListaConductores[filagrid];
                    esnuevo   = false;
                }
                else
                {
                    conductor = new Conductor();
                    esnuevo   = true;
                }
                int columna = columnagrid;

                foreach (string texto in fila)
                {
                    while (grid.Columns[columna].Visibility == Visibility.Collapsed)
                    {
                        columna++;
                    }
                    int i;
                    switch (columna)
                    {
                    case 0:                             // Numero.
                        conductor.Id = int.TryParse(texto, out i) ? i : 0;
                        break;

                    case 1:                             // Nombre.
                        conductor.Nombre = texto;
                        break;

                    case 2:                             // Apellidos.
                        conductor.Apellidos = texto;
                        break;

                    case 3:                             // Telefono.
                        conductor.Telefono = texto;
                        break;

                    case 4:                             // Email.
                        conductor.Email = texto;
                        break;

                    case 5:                             // Fijo.
                        conductor.Indefinido = false;
                        if (int.TryParse(texto, out i))
                        {
                            conductor.Indefinido = (i != 0);
                        }
                        else if (texto.ToLower() != "false")
                        {
                            conductor.Indefinido = true;
                        }
                        break;

                    case 6:                             // Horas.
                        conductor.Acumuladas = (TimeSpan)cnvHora.ConvertBack(texto, null, null, null);
                        break;

                    case 7:                             // Descansos.
                        conductor.Descansos = int.TryParse(texto, out i) ? i : 0;
                        break;

                    case 8:                             // Descansos No Disfrutados.
                        conductor.DescansosNoDisfrutados = int.TryParse(texto, out i) ? i : 0;
                        break;
                    }
                    columna++;
                }
                if (esnuevo)
                {
                    ListaConductores.Add(conductor);
                }
                filagrid++;
                HayCambios = true;
            }
        }