예제 #1
0
        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);
        }
예제 #2
0
        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);
        }
예제 #3
0
        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 !");
            }
        }