private bool DesasignOrderToAssigments(long assigmentId) { bool accioncorrecta = false; DataTable routesTableByAssigmentsId; DataTable TripTableByIdFromRoutes; try { DSAssigmentsData dataset = new DSAssigmentsData(); DSAssigmentsDataTableAdapters.AssignmentsTableAdapter assignmentsTable = new DSAssigmentsDataTableAdapters.AssignmentsTableAdapter(); DSAssigmentsDataTableAdapters.RoutesTableAdapter routesTable = new DSAssigmentsDataTableAdapters.RoutesTableAdapter(); DSAssigmentsDataTableAdapters.TripsTableAdapter tripsTable = new DSAssigmentsDataTableAdapters.TripsTableAdapter(); //obtenemos todas las rutas asignadas a la asignación correspondiente routesTableByAssigmentsId = routesTable.GetRoutesByAssigmentId(AssigmentId); //recorremos toda la tabla de rutas para la asignación que se quiere eliminar foreach (DSAssigmentsData.RoutesRow row2 in routesTableByAssigmentsId.Rows) { //recorremos todos los viajes para la ruta en concreto TripTableByIdFromRoutes = tripsTable.GetDataTripsByRoutesIdByRoutes(row2.Id); // por cada viaje de la ruta en concreto pondremos el atributo id_route a nullo foreach (DSAssigmentsData.TripsRow row3 in TripTableByIdFromRoutes.Rows) { //ponemos el atributo RouteId a nulo row3.SetRouteIdNull(); //actualizamos en la tabla viaje tripsTable.Update(row3); } } accioncorrecta = true; } catch (Exception e) { string excepcion = e.ToString(); return(false); } return(accioncorrecta); }
private bool DeleteAssigmentsAndRelantionship(long assigmentId) { int RutaId; bool accioncorrecta = false; DataTable routesTableByAssigmentsId; try { DSAssigmentsData dataset = new DSAssigmentsData(); DSAssigmentsDataTableAdapters.AssignmentsTableAdapter assignmentsTable = new DSAssigmentsDataTableAdapters.AssignmentsTableAdapter(); DSAssigmentsDataTableAdapters.Assignments_ObsTableAdapter assignmentsObsTable = new DSAssigmentsDataTableAdapters.Assignments_ObsTableAdapter(); DSAssigmentsDataTableAdapters.RoutesTableAdapter routesTable = new DSAssigmentsDataTableAdapters.RoutesTableAdapter(); DSAssigmentsDataTableAdapters.TripsTableAdapter tripsTable = new DSAssigmentsDataTableAdapters.TripsTableAdapter(); //obtenemos todas las rutas asignadas a la asignación correspondiente routesTableByAssigmentsId = routesTable.GetRoutesByAssigmentId(AssigmentId); //recorremos las rutas asignadas a la asignación foreach (DSAssigmentsData.RoutesRow row in routesTableByAssigmentsId.Rows) { //borramos la ruta relacionada (tabla asignaction ID -> tablaroutes assignmentId) routesTable.DeleteQueryRoutesByIdAssignmentsFromAssignments(AssigmentId); } //borramos las observaciones de la asignación assignmentsObsTable.DeleteQueryByIdAssignments(Convert.ToInt64(AssigmentId)); //borramos la asignación seleccionada assignmentsTable.DeleteQueryAssigmentsById(Convert.ToInt64(AssigmentId)); accioncorrecta = true; Close(); } catch (Exception e) { string excepcion = e.ToString(); return(false); } return(accioncorrecta); }
private void AddAssigment_click(object sender, RoutedEventArgs e) { try { bool validate = true; //validamos que los datos no esten vacios (conductor,tractora, trailer) validate = validateDatas(txtCodeDriver.Text, tractoraCode.Text, txttrailerCode.Text); if (validate) { DSAssigmentsData dataset = new DSAssigmentsData(); DSAssigmentsDataTableAdapters.AssignmentsTableAdapter assignmentsTable = new DSAssigmentsDataTableAdapters.AssignmentsTableAdapter(); DSAssigmentsData.AssignmentsDataTable DataTableAssignments = assignmentsTable.GetDataByIdAssignment(AssigmentId); //actualizamnos si existe el registro de la assignación if (DataTableAssignments.Rows.Count > 0) { //Obtenemos el registro de las observaciones ha actualizar DSAssigmentsDataTableAdapters.Assignments_ObsTableAdapter assignmentsTableObs = new DSAssigmentsDataTableAdapters.Assignments_ObsTableAdapter(); var rowAssignments = dataset.Assignments.NewAssignmentsRow(); rowAssignments = DataTableAssignments[0]; //asignación de Conductor rowAssignments["DriverId"] = GeTIdDriverByCode(txtCodeDriver.Text.ToString()); //asignación de cabina rowAssignments["CabId"] = GeTIdCabByCode(tractoraCode.Text.ToString()); //asignación de trailer rowAssignments["TrailerId"] = GeTIdTrailerByCode(txttrailerCode.Text.ToString()); //fecha rowAssignments["Date"] = Convert.ToDateTime(txtDate.Text.ToString()); //fecha de creación rowAssignments["CreatedDate"] = DateTime.Now; //fecha de modificación rowAssignments["ModifiedDate"] = DateTime.Now; //repeticion rowAssignments["Repeat"] = false; //habilitar rowAssignments["Enabled"] = true; int numeroderegistros = assignmentsTable.Update(rowAssignments); //si se actualiza la asignación actualizamos las observaciones if (numeroderegistros > 0) { //actualizamos la observacion assignmentsTableObs.UpdateQueryById(txtObservation.Text, AssigmentId); } } //si es igual a zero estamos creando uno de nuevo else { //obtenemos de la tabla trips el nuevo registro que se introducira DSAssigmentsData.AssignmentsRow rowAssigments = dataset.Assignments.NewAssignmentsRow(); //asignación de Conductor string axel = txtCodeDriver.Text.ToString(); rowAssigments.DriverId = GeTIdDriverByCode(txtCodeDriver.Text.ToString()); //asignación de cabina rowAssigments.CabId = GeTIdCabByCode(tractoraCode.Text.ToString()); //asignación de trailer rowAssigments.TrailerId = GeTIdTrailerByCode(txttrailerCode.Text.ToString()); //fecha de creación rowAssigments.CreatedDate = DateTime.Now; //fecha de modificación rowAssigments.ModifiedDate = DateTime.Now; //observaciones //rowAssigments.Observations = txtObservation.Text; //repeat rowAssigments.Repeat = false; //Enabled rowAssigments.Enabled = true; //FECHA rowAssigments.Date = txtDate.DisplayDate; //agregamos la nueva fila dataset.Assignments.AddAssignmentsRow(rowAssigments); //actualizams la tabla con las modificaciones assignmentsTable.Update(dataset.Assignments); //observaciones asignación DSAssigmentsDataTableAdapters.Assignments_ObsTableAdapter assignmentsObsTable = new DSAssigmentsDataTableAdapters.Assignments_ObsTableAdapter(); DSAssigmentsData.Assignments_ObsRow rowObsAssigments = dataset.Assignments_Obs.NewAssignments_ObsRow(); //asignamos el id de la asignación rowObsAssigments.Id = rowAssigments.Id; //asignamos la observación rowObsAssigments.Observations = txtObservation.Text.ToString(); //agregamos la nueva fila dataset.Assignments_Obs.AddAssignments_ObsRow(rowObsAssigments); //actualizams la tabla con las observaciones modificadas assignmentsObsTable.Update(dataset.Assignments_Obs); //Viajes(trips) //actualizamos la tabla assigments en el dataset (con esto insertamos un nuevo viaje) long Id = rowAssigments.Id; //cremos la ruta DSAssigmentsData.RoutesDataTable routesTable = new DSAssigmentsData.RoutesDataTable(); DSAssigmentsDataTableAdapters.RoutesTableAdapter adaptRoute = new DSAssigmentsDataTableAdapters.RoutesTableAdapter(); //obtenemos de la tabla routes el nuevo registro que se introducira DSAssigmentsData.RoutesRow rowrRoutes = dataset.Routes.NewRoutesRow(); //fecha de creación rowrRoutes.CreatedDate = DateTime.Now; //fecha de modificacion rowrRoutes.ModifiedDate = DateTime.Now; //id de la nueva asignación rowrRoutes.AssignmentId = rowAssigments.Id; //el totalamount rowrRoutes.TotalAmount = 0; //agregamos la fila dataset.Routes.AddRoutesRow(rowrRoutes); //actualizamos la tabla adaptRoute.Update(dataset.Routes); //habilitamos el boton de borrar ButtonEliminar.IsEnabled = true; } Close(); } } catch (Exception ex) { string exce = ex.ToString(); MessageBox.Show("No se ha podido realizar la acción !"); } }