Skocz do zawartości

[Sfera] Błąd przy zmianie flagi dokumentu

Polecane posty

Dzień dobry

Przy zmianie flagi dokumentu za pomocą Sfery otrzymujemy komunikat błędu.
Flaga jest ustawiana na dokumencie.

 

---------- MAIN EXCEPTION ---------------

Typ wyjątku: System.InvalidOperationException
Wiadomosć błędu: Obiekt docelowy wywołania zgłosił wyjątek. w kodzie obsługi zdarzenia aplikacyjnego [InsERT.Moria.BusinessResources.Flagi.Slownik.FlagSetEvent] w obiekcie typu InsERT.Moria.Wspolne.RegulyAutomatyzacji.ObslugaEventowRegulAutomatyzacji w metodzie OnFlagSet
TargetSite: Boolean Invoke(System.Object)
Source: InsERT.Mox.UIFramework
HResult: -2146233079
StackTrace:    w InsERT.Mox.UIFramework.ApplicationEvents.ListenerEntry.Invoke(Object e)
   w InsERT.Mox.UIFramework.ApplicationEvents.EventMediator.RaiseEventImpl(Object e)
   w InsERT.Mox.UIFramework.ApplicationEvents.EventMediator.RaiseEvent(Object e)
   w InsERT.Moria.BusinessResources.Flagi.Slownik.IFlagCommandHandlerServicesExtensions.SendEventFlagSet(IEventMediator eventMediator, Type boType, Object entityIdentifier, Int32 flagIdentifier, Nullable`1 prevousFlagIdentifier)
   w InsERT.Moria.BusinessResources.Flagi.Slownik.IFlagCommandHandlerServicesExtensions.SendEventFlagSet(IFlagsCommandHandlerServices flagCommandHandlerServices, Type boType, Object entityIdentifier, Int32 flagIdentifier, Nullable`1 prevousFlagIdentifier)
   w InsERT.Moria.BusinessResources.Flagi.Slownik.IFlagChangesBroadcasterFactory.SferaNoUIBroadcaster.Set(Type boType, Object entityIdentifier, Int32 flagIdentifier, Nullable`1 prevousFlagIdentifier)
   w InsERT.Moria.BusinessResources.Flagi.Slownik.FlagWriter.InvokeNotificationFlagChanged(ResolvedIdentifier resolvedIdentifier, Nullable`1 oldFlagIdentifier, Nullable`1 newFlagIdentifier)
   w InsERT.Moria.BusinessResources.Flagi.Slownik.FlagWriter.ExeCommandNadajFlage(IFlagStorageDescription flagStorageDescription, IFlagsCommandHandlerServices flagiHandlerServices, Boolean entityIdParamOnly, ResolvedIdentifier resolvedIdentifier, IParametryOperacjiFlagowej parametry)
   w InsERT.Moria.BusinessResources.Flagi.Slownik.FlagWriter.SetFlagDetails(Object identifierFromGrid, Int32 flagIdentifier, String description)
   w InsERT.Moria.BusinessResources.Flagi.Slownik.FlagCommandsInternals.SetFlag(Int32 flagIdentifier, String description, IFlagCommandParameters parameters)
   w InsERT.Moria.BusinessResources.Flagi.BussinesObjects.FlagiWlasne.NadajFlage(Int32 idFlagi, String descriptiohn, Type typObiektu, Object identyfikatorEncji)
   w ProstaPaczka.Model.SubiektNexo.Sfera.SferaNexoService.ZmienFlage(Int64 idDokumentu, FlagaSubiektNexo flaga, String komentarz, Uchwyt sfera) w C:\git\pp2\ProstaPaczka.Model.SubiektNexo.Sfera\SferaNexoService.cs:wiersz 1143
   w ProstaPaczka.Model.SubiektNexo.Sfera.SferaNexoService.ZmienFlage(Int64 idDokumentu, FlagaSubiektNexo flaga, String komentarz) w C:\git\pp2\ProstaPaczka.Model.SubiektNexo.Sfera\SferaNexoService.cs:wiersz 1100


---------- INNER EXCEPTION ---------------

Typ wyjątku: System.Reflection.TargetInvocationException
Wiadomosć błędu: Obiekt docelowy wywołania zgłosił wyjątek.
TargetSite: System.Object InvokeMethod(System.Object, System.Object[], System.Signature, Boolean)
Source: mscorlib
HResult: -2146232828
StackTrace:    w System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   w System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   w System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   w System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
   w InsERT.Mox.UIFramework.ApplicationEvents.ListenerEntry.Invoke(Object e)


------------ INNER EXCEPTION ------------

Typ wyjątku: System.InvalidCastException
Wiadomosć błędu: Określone rzutowanie jest nieprawidłowe.
TargetSite: Void ZainicjalizujStrategie(System.Object)
Source: InsERT.Moria.Wspolne
HResult: -2147467262
StackTrace:    w InsERT.Moria.Wspolne.RegulyAutomatyzacji.StrategiaAutomatyzacji`3.ZainicjalizujStrategie(Object identyfikatorObiektu)
   w InsERT.Moria.Wspolne.RegulyAutomatyzacji.StrategieAutomatyzacji.<>c__DisplayClass9_0.<ZarejestrujStrategie>b__1(Object parametr)
   w InsERT.Moria.Wspolne.RegulyAutomatyzacji.StrategieAutomatyzacji.ZnajdzStrategie(Type typEncji, Object identyfikatorEncji)
   w InsERT.Moria.Wspolne.RegulyAutomatyzacji.ObslugaEventowRegulAutomatyzacji.OnSQLChangesAccepted(Type entityType, Object entityId, String propertyName, Object previousValue)
   w InsERT.Moria.Wspolne.RegulyAutomatyzacji.ObslugaEventowRegulAutomatyzacji.OnFlagSet(Type entityType, Object entityId, Nullable`1 previousFlagIdentifier)
   w InsERT.Moria.Wspolne.RegulyAutomatyzacji.ObslugaEventowRegulAutomatyzacji.OnFlagSet(FlagSetEvent flagSetEvent)



			

Flaga jest ustawiana w następujący sposób:

IDokumenty dokumenty = sfera.PodajObiektTypu<IDokumenty>();

            Dokument dokument = dokumenty.Dane
                .Wszystkie()
                .FirstOrDefault(x => x.Id == idDokumentu);

            Type typEncji = dokument.GetType();

            IFlagiWlasne mgrFlagi = sfera.PodajObiektTypu<IFlagiWlasne>();
            var wynik = mgrFlagi.NadajFlage(flaga.Id, komentarz, typEncji, idDokumentu);

W Subiekcie widać flagę przy dokumencie:

image.thumb.png.c2cb51572e40f1c5a6d083c0e6b29793.png

image.thumb.png.4aea1660b135f04f22800a88fff7a93d.png

Nie były ustawiane żadne reguły automatyzacji.
Prosiłbym o informację czy zmieniamy flagę niewłaściwie czy jest to jakiś wewnętrzny problem Subiekta?

Link to postu

idDokumentu jest typu long.

Cała funkcja zmiany flagi:

private bool ZmienFlage(
            long idDokumentu,
            FlagaSubiektNexo flaga,
            string komentarz,
            Uchwyt sfera)
        {
            IDokumenty dokumenty = sfera.PodajObiektTypu<IDokumenty>();

            Dokument dokument = dokumenty.Dane
                .Wszystkie()
                .FirstOrDefault(x => x.Id == idDokumentu);

            Type typEncji = dokument.GetType();

            IFlagiWlasne mgrFlagi = sfera.PodajObiektTypu<IFlagiWlasne>();
            var wynik = mgrFlagi.NadajFlage(flaga.Id, komentarz, typEncji, idDokumentu);

            return wynik;
        }

 

Na wszelki wypadek dołączam też informacje o obiekcie przechowującym flagę

public class FlagaSubiektNexo
    {
        
        
        public int Id {get;set;}
        public string Nazwa {get;set;}
        public int IdDomeny {get;set;}


    }

 

Link to postu
×
×
  • Dodaj nową pozycję...