Laden...
W
Benutzerbeschreibung

Forenbeiträge von witte Ingesamt 955 Beiträge

18.06.2015 - 18:41 Uhr

... und using verwenden / richtiges Umgehen mit IDisposable-Objekten

18.06.2015 - 12:26 Uhr

Hallo,

ist das LinqToSql oder LinqToEntities? Bei letzterem könnte man den Kunden anfassen, Include Kunde_Gerät->Gerät, Include Kunde_Anwendung->Anwendung; und dann mit Any() in der Where-Klausel zu schauen ob es ein Kunde->Kunde_Gerät->Gerät->Eintrag_Systeme oder ein Kunde->Kunde_Anwendung->Anwendung->Eintrag_Systeme mit der richtigen Eintrag_ID existiert.

17.06.2015 - 11:32 Uhr

Du sollst eine Klasse bauen die für die Erstellung der Pfadangaben verantwortlich ist. Also nicht immer im Code rumfummeln "wo könnte die Datei sein" sondern immer diese Klasse befragen. Wenn diese zum erstenmal angefragt wird machste Deinen File.Exists-Test und speicherst den Verzeichnisnamen in dieser Klasse. Und dann gibst du immer diesen Verzeichnisnamen oder mit diesem zusammengebaute Pfade raus. Jetzt machste erst einmal die Klasse statisch, später besser mit Dependency Injection.
Und lies mal ein Buch über Entwurfsmuster.

17.06.2015 - 10:49 Uhr

Das klingt mir aber nicht nach MVVM. Controller gibt es bei MVC, vielleicht meinst du eher ein MainViewModel? Oder er meint MVVMC.

17.06.2015 - 10:46 Uhr

... oder bau eine Fabrik o.ä. die beim Start den richtigen Ordner testet und über die man sich dann auschließlich die Dateinamen geben läßt.

13.06.2015 - 13:41 Uhr

Na so schwer ist es ja auch nicht einen Filter hinter dem Block zu verwenden und die fehlerhaften in einem ActionBlock auszusieben.

11.06.2015 - 13:24 Uhr

Bei den Pattern würde ich zu dem Orginal von dem GoF raten, ist wirklich gut geschrieben. Ob es neuere Bücher zu Pattern gibt, die besser sind, weiß ich Erhrlich gesagt nicht. Martin Fowler's Patterns für Enterprise Application-Architekturen wäre der nächste Schritt.

11.06.2015 - 10:50 Uhr
.OrderBy(x => Guid.NewGuid())  

Hi,
Wozu machst DU das? Willst DU die Zeilen zufällig durcheinanderwürfeln?

04.06.2015 - 10:21 Uhr

Dann wäre es natürlich interessant dass Du uns die Fehlermeldung verrätst.

04.06.2015 - 10:09 Uhr

Hi,

hast Du lastChangeDate und vipDeleteDate im Modellobjekt als Nullable<DateTime>? Sonst verwendet er das kleinst mögliche Datum in .net's DateTime und dass passt nicht in SQL-DateTime rein (fängt glaube ich erst ab 1492 an)

03.06.2015 - 14:20 Uhr

Hallo, hast DU schon mit GroupBy() rumgespielt?

Vllt hier: LINQ to Entities group by and Count()

01.06.2015 - 13:13 Uhr

Vielleicht kennt jemand aber auch einen direkteren Weg zu deinem Ziel... Nee, ist richtig so. Erst an einem ViewModel zwischenspeichern und bei "Änderungen übernehmen" ins Model o.ä. kopieren.

29.05.2015 - 18:59 Uhr

Hi,

prüfe mal ListViewLayoutManager.cs, Zeile 274


double otherColumnsWidth = 40;

22.05.2015 - 15:21 Uhr

Hallo lhyn,

erstens ändere bitte deinen Code, das tut in den Augen weh:

  
public Boolean RemoveEnabled  
        {  
            get  
            {  
                return _funktionen.Count() == 0;  
            }  
        }  
  

Na dann aber


public Boolean RemoveEnabled
        {
            get
            {
                return !_funktionen.Any();
            }
        }

17.05.2015 - 14:20 Uhr

Aber wenn Elemente aus der lstElements gelöscht werden - das kriegt der context nicht mit Dann implementiere das doch richtig mit dem Repository Pattern.

15.05.2015 - 11:56 Uhr

Hi

verwendest Du denn ein DI Container? Die können das doch von zuhause aus.

13.05.2015 - 21:48 Uhr

Kannst Du nicht drei Modellklassen machen und dort diese Beziehungen abbilden?
z.B. (geraten)


public class Person
{
}

public class Mechaniker
{
}

public class Auto
{

  public Person Besitzer { get; set; }
  public Mechaniker Mechaniker { get; set; }
}

Dann könnte man den Besitzer im ersten Reiter, das Auto im zweiten und den Mechaniker im dritten bearbeiten.

13.05.2015 - 18:44 Uhr

Hi,

Du könntest Dictionary<int, dynamic> verwenden. Sowas bracht man eher selten. Wenn du uns sagst wozu du es brauchst können wir vllt bessere Alternativen nennen.

13.05.2015 - 11:41 Uhr

Ich kann nicht ganz nachvollziehen wieso man bei externem Code auf Unit Tests verzichtet werden sollte. Ich frage mich wozu du sowas brauchst. Ich meine du änderst den Quelltext der externen lib doch nicht. Soll das eine Qulitätsprüfung sein wenn eine neue Version der ext lib geliefert wird? Das brauchst du doch nicht bei jedem Einchecken zu prüfen.

11.05.2015 - 17:40 Uhr

Hi,,

Such mal nach ConnectionPooling

09.05.2015 - 16:16 Uhr

Schreib' Dir doch einfach einen Code-Generator. Ist ja nicht wirklich schwierig ein paar Strings zusammenzusetzen und auszugeben. T4

08.05.2015 - 11:25 Uhr

Hallo,

ich musste das mal mit DataGrids lösen (also Zeilen zwischen Datagrids verschieben und die Zeilenpositionen innerhalb eines Datagrids)
ich hatte das damals so gelöst:
* ich hatte die gong-wpf-dragdrop-Lib verwendet,
* das ViewModel hat dann GongSolutions.Wpf.DragDrop.IDragSource, GongSolutions.Wpf.DragDrop.IDropTarget implementiert
* die View hat dann das VM entsprechend gebunden


<DataGrid dd:DragDrop.IsDragSource="True" dd:DragDrop.IsDropTarget="True" dd:DragDrop.DropHandler="{Binding}" dd:DragDrop.DragHandler="{Binding}" dd:DragDrop.DragAdornerTemplate="{StaticResource DragAdorner}" >

06.05.2015 - 22:23 Uhr

Hi,

wieso fragst du im CanExecute nicht ebenfalls das IDataErrorInfo des VM ab? Das Teil hat ein Error-Property, daskannst du doch einfach mit String.IsNullOrEmpty abfragen.

06.05.2015 - 14:57 Uhr

Hallo,

die Idee mit den Pages finde ich nicht schlecht weil man damit zurücknavigieren könnte, also wieder rauszoomen.
Wenn Du (später) die Seiten nicht alle einzeln basteln willst sondern Koordinaten und BIlder dynamisch einblenden willst würde sich vllt ein UserControl o.ä. anbieten.

06.05.2015 - 10:51 Uhr

Möglicherweise gibt es aber Systeme die kein 64b-Int beherrschen, so dass diese Kodierung gewählt wurde. (Eine Änderung der Struktur bricht alle Systeme die darauf zugreifen.) Alles weitere ist Raten.
Vllt sollte man mal wirklich testen was ein ein weiterer Index für Last bringt.

06.05.2015 - 10:23 Uhr

Ob Konstante oder nicht, diese Werte sind mehrfach in der Tabelle enthalten und fett. Ein Integer ist dagegen eher schmal. Wie kommst Du darauf? Das ist doch nur die HexString-Version eines 64-Integers. Das DIng ist maximal doppelt zu groß wie der Int. Das ist nicht das Problem, sondern die IO-Last, die er mit einem DB-Admin optimieren sollte.
Wenn ein anderes System verwendet werden könnte sollte dies erst einmal ausgiebig auf dessen Leistungsverhalten getestet werden.

03.05.2015 - 15:11 Uhr

Hi,

es wäre sinnvoll die anderen Methoden ebenfalls asynchron zu gestalten.
Du hast jetzt möglicherweise das Problem dass Exceptions nicht richtig gefangen werden. Gib mal einen fehlerhaften ConnectionString an und schaue ob die Exception gemeldet wird oder "unobserved" verläuft. Async void für einen Ereignishandler ist korrekt da hier keine Task-Signatur akzeptiert wird.
Du wirst wahrscheinlich eine vollständige Fehlerbehandlung in dem Click-Handler durchführen müssen, es können ja auch noch andere Fehler entstehen. Vllt kannst Du das in einem AsyncDelegateCommand o.ä. abstrahieren.

01.05.2015 - 17:09 Uhr

Hallo,

Du könntest den Verkehr mit Wireshark mal mitschneiden und schauen ob der Member mit übertragen wird.

30.04.2015 - 19:54 Uhr

Hi,

Du kannst mal SqlConnection.ConnectionTimeout prüfen.
Außerdem sollte es mit async/await und CancellationToken deutlich einfacher zu erstellen sein.

20.04.2015 - 22:25 Uhr

Es gibt Appender die die Logdaten zu einer anderen Kiste verschicken. Vllt ist es ja was für dich.

17.04.2015 - 21:19 Uhr

Hallo,

* ich würde zwei Objekte der Klasse Speicher machen
* eine zweite Klasse Pumpspeicherwerk mit einem Objekt
* dieses Pumpspeicherwerk hat die beiden Speicher als Properties "SpeicherOben", "SpeicherUnten"
* und kann beim Hochpumpen Wasser aus SpeicherUnten unter Energieaufwand in SpeicherOben transportieren und vice versa.

17.04.2015 - 17:39 Uhr

Im Prinzip wird eine Tabelle darüber aufgebaut, welche Klasse welche Funktionen überschreibt, so dass zur Laufzeit auch dann die Implementierung der Subklasse aufgerufen werden kann, wenn der Aufruf über die Basisklasse erfolgt. Es wäre dann aber besser das er Luftfahrzeug.Starten() virtuell macht und Flugzeug..Starten() mit override dekoriert.

13.04.2015 - 17:26 Uhr

Mach doch die Checkbox in ein Stackpanel o.ä.

01.04.2015 - 17:09 Uhr

Hi,

* gehe mal im SolutionExplorer auf die Datei ->Rechtsklick Properties -> Build Action. Sollte auf Content stehen oder so.
* Möglicherweise kannst Du auf dem Zielsystem in dem Verzeichnis sowieso nicht schreiben. Wähle also ein geeignetes Verzeichnis.

01.04.2015 - 17:06 Uhr

Weitere Möglichkeit ist das IsolatedStorage. Kann jedoch ebenfalls mit nativen Apps erreicht werden.

01.04.2015 - 16:41 Uhr

Wenn, dann müsste das sowieso in einen finally-block Besser gleich using() { } verwenden.

01.04.2015 - 09:56 Uhr

Hi,

versuch mal itextsharp

16.03.2015 - 17:57 Uhr

Hi,

Du könntest die Abfrage rumdrehen:
* nach Revisionen suchen und filtern
* include Revision => Revision.Text.Sammlung
* und dann das Teil über den ersten p.Text.Sammlung anfassen.

05.03.2015 - 13:06 Uhr

"The art of unit testing" von Roy Osherove gibt eine super Einleitung zu diesem Thema.

02.03.2015 - 22:02 Uhr

... und dispose den Context nicht wenn Du ihn nicht erzeugst.

12.02.2015 - 17:02 Uhr

Muß das Drucksystem diese Daten ändern/stempeln? Wenn nicht könntest Du doch ein normalisiertes Modell verwenden und ihm eine passende View geben.

09.02.2015 - 18:28 Uhr

Das Format selbst kenne ich nicht, aber vielleicht gibt es sogar schon etwas fertiges?! Das ist die tnsnames.ora, die "hosts"-Datei im Oracle-Network. Vllt da mal gezielt suchen.

02.02.2015 - 19:03 Uhr

Habe ich jetzt eine Liste mit 100 Einträgen, werden aus einer einzigen Datenbankabfrage mindestens 101 Datenbankabfragen, da ich jeden Listeneintrag mit Daten aus der externen Datenbank abgleichen muß. Gibt es dafür eine Optimierungsmöglichkeit? Hallo,
wenn die Anzahl der Mitarbeiter beschränkt ist könnte man sie parallel zu der Kundenanfrage laden (Task.WhenAll), sie in ein Dictionary wandeln und dann zuordnen (vllt auf VM-Ebene).

30.01.2015 - 13:10 Uhr

Oder habe ich da etwas falsch verstanden? Ja, ich hae ja schließlich geschrieben dass man dazu entsprechende Rechte benötigt.

30.01.2015 - 12:00 Uhr

Hallo,

die Ereignisquelle im Eventlog muß zuerst angelegt werden. Wenn man das nicht tut, wird diese automatisch angelegt, dazu benötigt man aber Adminrechte, der Dienst müsste also als Admin laufen. Besser ist es die Quelle manuell als Admin anzulegen.


eventcreate /T INFORMATION /L APPLICATION /SO Quellenname /ID 1 /D "Anwendung erfolgreich installiert"

Prüf mal obes daran liegt.

27.01.2015 - 15:39 Uhr

<TextBox ... Name="..." Text="{mylocalns:MyValidationBinding Path=...}" 

Ich habe es aber nicht selber probiert.

27.01.2015 - 11:52 Uhr

Na dann überschreibe doch die binding-Klasse und setze Deine defaults....

23.01.2015 - 15:23 Uhr

Hallo,

die BL hat m.E. mit der Benachrichtigung der GUI nichts zu tun. Vllt wäre es am besten, das VM hier nicht nur als Durchreicher zu verwenden, sondern dort die ObservableCollection<t> - Properties zu implementieren, denn dazu sind die VMs eigentlich da.

23.01.2015 - 12:59 Uhr

Hallo,

  1. wenn Änderungen in der Artikelliste in der GUI bemerkt/angezeigt werden sollen, mußt/solltest Du eben die Artikelliste in eine ObservableCollection packen.
  2. Es ist kinderleicht mit ObservableCollection<t>.Add / Remove Artikel einzufügen bzw. zu entfernen.
  3. Im Setter "AktuelleArtikelgruppe" kannst Du doch einfach deren Artikelliste in eine ObservableCollection packen (ObservableCollection<T> Constructor (IEnumerable<T>)) und damit die dazugehörige ObservableCollection<Artikel> Artikelliste setzen.

Das ganze sind vllt 10 Zeile Code.