2 votos

¿Cómo cancelar la sesión de edición en el evento BeforeStopEditing de ArcObjects?

Tengo datos adicionales que deben ser almacenados cuando se guarda una sesión de edición. Si la creación de los datos falla (se encuentran en un servicio de internet), la sesión de edición no debería ser guardada, de lo contrario los datos serían inconsistentes.

¿Existe la posibilidad de cancelar la detención de la sesión de edición durante el evento IEditEvents2.BeforeStopEditing?

1voto

Goodies Puntos 753

¿Qué tal trabajar con operaciones de edición?

IWorkspaceEdit workspaceEdit = m_featWorkSpace as IWorkspaceEdit;
if (workspaceEdit != null)
{
    try
    {
        workspaceEdit.StartEditing(true);
        workspaceEdit.StartEditOperation();

        //Realice los cambios locales en su espacio de trabajo
        ...

        //Intente guardar sus cambios en un servicio de internet
        ...

        //si los cambios se guardan correctamente en el servicio de internet
        if (changesSuccessfullySaved)
        {
            //confirmar cambios en la base de datos
            workspaceEdit.StopEditOperation();
            workspaceEdit.StopEditing(true);
        }
        else
        {
            //deshacer cambios en la base de datos
            workspaceEdit.AbortEditOperation();
            workspaceEdit.StopEditing(false);
        }
    }
    catch (Exception ex)
    {
    }
}

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X