public void AgregarServicio(Servicios unServicio) { Trazas_X_Servicios ts = new Trazas_X_Servicios(); ts.Id = this.Id; ts.Servicios = unServicio; Trazas_X_Servicios.Add(ts); }
private void CrearNuevoServicio() { string errorMsj = ""; Servicios nuevoServicio = new Servicios(); if (!Util.EsAlfaNumerico(txtNombreServicio.Text)) errorMsj += "Nombre de servicio: Incompleto/Incorrecto.\n"; else if (context.Servicios.Where(x => x.Nombre == txtNombreServicio.Text).Count() > 0) errorMsj += "Nombre de servicio: ya existe un servicio con el mismo nombre.\n"; if (auxRelaciones.Count == 0) errorMsj += "El servicio no tiene estaciones relacionadas.\n"; if (!nuevoServicio.ServicioEsValido(auxRelaciones)) errorMsj += "Las relaciones del servicio tienen errores.\n"; if (clbxFormacionesCrear.CheckedItems.Count == 0) errorMsj += "El servicio no tiene formaciones asignadas.\n"; if (string.IsNullOrEmpty(errorMsj)) { nuevoServicio.Nombre = txtNombreServicio.Text; nuevoServicio.Relaciones = auxRelaciones; for (int pos = 0; pos <= clbxFormacionesCrear.CheckedItems.Count - 1; pos++) { Formaciones f = (Formaciones)clbxFormacionesCrear.CheckedItems[pos]; Servicios_X_Formaciones sf = new Servicios_X_Formaciones(); sf.Id_Formacion = f.Id; sf.Formaciones = f; //sf.Servicios = nuevoServicio; nuevoServicio.Servicios_X_Formaciones.Add(sf); } try { context.Servicios.Add(nuevoServicio); context.SaveChanges(); lbxServiciosModificar.Items.Add(nuevoServicio); lbxServiciosEliminar.Items.Add(nuevoServicio); LimpiarTabCrear(); MessageBox.Show("El servicio se ha creado exitosamente.\n"); } catch (Exception exc) { MessageBox.Show("No se guardo el servicio \n\n" + exc.ToString()); } } else MessageBox.Show(errorMsj); }
private Relaciones BuscarRelacion2(int id_estacionOrigen, int id_estacionDentino, Servicios s) { Relaciones r = s.Relaciones.Where(x => x.Id_Estacion_Anterior == id_estacionOrigen && x.Id_Estacion_Siguiente == id_estacionDentino).FirstOrDefault(); return r; }
private void actualizarSiguienteServicio(out int siguienteSalida, out Servicios siguienteServicio) { if (_posServicio > Traza.ServiciosDisponibles.Count - 1) _posServicio = 0; siguienteServicio = Traza.ServiciosDisponibles[_posServicio]; _posServicio++; siguienteSalida = siguienteServicio.proximoHorarioSalida(); /*Actualiza las variables siguienteSalida y siguienteServicio con los valores del proximo servicio a salir. */ /*siguienteServicio = Traza.ServiciosDisponibles.First(); siguienteSalida = siguienteServicio.proximoHorarioSalida(); foreach (Servicios servicio in Traza.ServiciosDisponibles) { int salidaAux = servicio.proximoHorarioSalida(); if (salidaAux < siguienteSalida) { siguienteServicio = servicio; siguienteSalida = salidaAux; } }*/ siguienteServicio.removerSalida(siguienteSalida); //Al haber usado el horario siguienteSalida lo remuevo del servicio. }