Laden...
Avatar #avatar-2873.jpg
manullino myCSharp.de - Member
Oranjestad, Aruba Dabei seit 30.04.2008 371 Beiträge
Benutzerbeschreibung
Take it easy!

Forenbeiträge von manullino Ingesamt 371 Beiträge

04.09.2018 - 16:19 Uhr

Hi Palladin007,

Wie wuerdest du das genau machen, weil das Control die View nicht kennt?!

Vielen Dank,
Manullino

04.09.2018 - 14:59 Uhr

Hatte die Hoffnung, dass man das im Code tricksen kann, oder ein fallback gibt, wie in XAML.

04.09.2018 - 14:00 Uhr

Sorry, hätte vielleicht erwähnen sollen, dass die DependencyProperty von einem Control ist, was auf der View ist.

Bisher hatte ich das einfach uber eine direktes Binding in XAML gloest. Nun habe ich aber eine baseclass des Controls und diese soll als default an den EditCommand des ViewModels gebunden werden.

Vielen Dank,
Manullino

03.09.2018 - 23:33 Uhr

Hallo zusammen,

wie kann man denn ein default Binding fuer ein ICommand in einer DependencyProperty festlegen?

Mein Ziel ist ein default Binding zu dem "EditCommand" herzustellen, das EditCommand befindet sich auf dem ViewModel, meine base class kennt das ViewModel jedoch nicht.

new Binding("EditCommand"), steht als Platzhalter.




        public ICommand DoubleClickCommand
        {
            get { return (ICommand)GetValue(DoubleClickCommandProperty); }
            set { SetValue(DoubleClickCommandProperty, value); }
        }

        // Using a DependencyProperty as the backing store for DoubleClickCommand.  This enables animation, styling, binding, etc...
        public static readonly DependencyProperty DoubleClickCommandProperty =
            DependencyProperty.Register("DoubleClickCommand", typeof(ICommand), typeof(DataGrid), new PropertyMetadata(new Binding("EditCommand")));



Vielen Dank,
Manullino

29.06.2018 - 15:05 Uhr

verwendetes Datenbanksystem: <MSSQL>

Hallo zusammen,

ich moechte eine CSV Datei mit Bulk Insert in den SQL Server importieren.
Leider komme ich mit der Format File nicht zurecht.

Folgendes SQL Statement:


BULK INSERT dbo.Table
FROM 'D:\Data\Table.csv'
WITH
(
CODEPAGE='RAW',    
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n',
FormatFile='C:\Header.fmt'
)

Die CSV hat folgenden Aufbau [Auszug]:


"2008-10-31 00:00:00","23:17",1,"2008-10-31 23:18:04","GGM",3,1,-4,"06:07","2008-10-27 00:00:00",0,0,"1900-01-01 00:00:00","","D51A5850-0F5A-4633-9815-6350146A9C4F","AA 1285","AA 1036","2F59208B-612B-4AA8-8758-473E644CEE22"

Zum Testen habe ich die Format File auf zwei Spalten beschraenkt:
Format File:


14.0
2
1   SQLDATETIME    	0  8  "\","   1    trArrivel  ""
2   SQLNCHAR    	0  5  "\","   2    trArrivelT ""

Leider scheitere ich schon beim ersten Feld.
Bin mir nur nich sicher, ob es ein allgemeiner Fehler oder ob es ein Fehler wegen dem DateTime Feld ist.

Die Fehlermeldung ist ein Type Mismatch:> Fehlermeldung:

Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 1, column 1 (trArrival)

Habt Ihr eine Idee?
Vielen Dank,
Manullino

27.06.2018 - 13:59 Uhr

Mittlerweile ist die MSSQL auch auf eine SSD, was das Ganze schon ungemein schneller macht.
Das Problem, dass es immer langsamer wird, bleibt aber bestehen.

Meinen MYSQL Datenbank ist auch 1,5TB, daher hinkt der Verleich evtl. ein bisschen... 😉

@T-Virus
Vielen Dank fuer den Hinweis, aber es ist nur eine Test Umgebung.

Einer der Tabellen enthaelt 500GB an Daten, da werde ich den Bulk Insert versuchen / anwenden.

Gruesse,
Manullino

26.06.2018 - 18:22 Uhr

Hallo Khalid,

wie in meinem ersten Post geschrieben, arbeite ich mit Scripts und Linked Server. Ein eigenes Programm zu verwenden, war der Vorschlag von T-Virus.

@T-Virus:
Autogrowth steht auf ein 1GB und die TransactionLogs habe ich auf "SIMPLE" gestellt.
Gibt es noch weitere Parameter die man verbessern kann?

Vielen Dank,
Manullino

22.06.2018 - 18:13 Uhr

Hallo zusammen,

ich importiere gerade 5 Mio. Datensaetze in 100.000er Schritten.
(Select aus MYSQL, Insert into im MSSQL)

Pro Durchgang dauert das ganze unglaubliche 11 Minuten.
Also der Import startete, lag die Dauer bei 4 Minuten.

Je groesser die Tabelle ist, desto langsamer wird der import.
Index oder Primary Key ist/sind keine vorhanden.

Ich habe festgestellt, dass die Schreibrate bei nur 3BM/s liegt.
RAM liegt bei 60% Auslastung, und die CPU hat so gut wie nichts zu tun.

Die beiden Datenbanken sind auf getrennten HDDs. (keine SSDs!)
Kopiere ich eine Datei im Explorer, liegt die Schreibrate deutlich ueber den 3MB/s.

Im Resource Monitor ist die Queue Length der HDD waehrend des INSERT INTO ganz am Anschlag.

Wie kann ich den SQL Server dazu bewegen, in INSERT INTO schneller zu machen? 😉

Sorry fuer den Doppelpost!

Dachte ich mach einen Thread auf, da ich das Problem nun mehr eingegrenzt und besser beschrieben haben.

Was mir nicht in den Kopf will, dass ein Insert Into abhängig von der vorhandenen Datenmenge langsamer wird, auch wenn kein Index oder Trigger definiert sind und die Hardware noch deutlich mehr Resourcen zur Verfuegung stellen koennte.

Das wurde Quasi bedeuten, dass eine Tabelle mit Mio. von Records, keine Sinn macht?!

22.06.2018 - 15:17 Uhr

verwendetes Datenbanksystem: <MSSQL>

Hallo zusammen,

ich importiere gerade 5 Mio. Datensaetze in 100.000er Schritten.
(Select aus MYSQL, Insert into im MSSQL)

Pro Durchgang dauert das ganze unglaubliche 11 Minuten.
Also der Import startete, lag die Dauer bei 4 Minuten.

Je groesser die Tabelle ist, desto langsamer wird der import.
Index oder Primary Key ist/sind keine vorhanden.

Ich habe festgestellt, dass die Schreibrate bei nur 3BM/s liegt.
RAM liegt bei 60% Auslastung, und die CPU hat so gut wie nichts zu tun.

Die beiden Datenbanken sind auf getrennten HDDs. (keine SSDs!)
Kopiere ich eine Datei im Explorer, liegt die Schreibrate deutlich ueber den 3MB/s.

Im Resource Monitor ist die Queue Length der HDD waehrend des INSERT INTO ganz am Anschlag.

Wie kann ich den SQL Server dazu bewegen, in INSERT INTO schneller zu machen? 😉

Vielen Dank,
Manullino

15.06.2018 - 13:56 Uhr

verwendetes Datenbanksystem: <MMSQL>

Hallo zusammen,

In einem SQL Script soll eine Schleife erzeugt werden, die den aktuellen Count als Parameter an ein weiteres SQL Script uebergibt. Das Script wird im SQL Management Studio im SQLCMD Query Modus aufgerufen.

Leider scheitere ich gerade an dem Parameter. (Zeile 10)
:SetVar CountScript ??

[Edit:]
Fehlermeldung: > Fehlermeldung:

Incorrect syntax near '@Count'.

Habe bisher auch noch keine Info gefunden, wie man den Parameter als Variable uebergeben kann. Weiss das jemand von Euch?


:setvar path "c:\temp\"

DECLARE @Count int, @Max int
SET @Count = 0
SET @Max = 10

WHILE @Count < @Max
BEGIN
PRINT @Count
:SetVar CountScript @Count
:r $(path)\2ndScript.sql
SET @Count = @Count + 1
END 

Vielen Dank & schoenes Wochenende,
Manullino

14.06.2018 - 09:24 Uhr

Halllo Khalid,

vielen Dank fuer den Tipp, das werde ich gleich testen!

Mittlerweile ist der Test mit den 100.000 Records auch fertig. Es hat sage und schreibe 13,5h gedauert.
10.000 Records dauerten nur 20Min.

Was auch interessant ist, die Tablle mit 100.000 Records hat in MSSQL eine Datengroesse von 15,3GB, der Index ist 5GB gross. Die komplette Tabelle mit 1,3Mio Records hat in MYSQL aber nur 8GB.

Irgendwas scheint da nicht ganz zu passen?!

Gruesse,
Manullino

13.06.2018 - 20:18 Uhr

verwendetes Datenbanksystem: <MySQL, MSSQL>

Hallo zusammen,

ich bin gerade dabei eine Datenbank mit 1,5TB von MySQL nach MSSQL zu konvertieren.
Ich verwende dazu SQL Scripts im SQL Management Studio und einen Link (MySQL) Server wie hier angegeben. Für jede Tabelle verwende ich ein Script.

https://www.codeproject.com/Articles/29106/Migrate-MySQL-to-Microsoft-SQL-Server

Meine Test Umgebung ist:
MySQL 5.6.20
MSSQL 2017 (Developer)
Windows Server 2012R mit 8GB RAM. (etwa 4 GB stehen zur Verfügung)

Beide Datenbanken sind auf dieser Maschine lokal installiert.

Bei kleinen Tabelle oder wenn ich das MySQL Select Statement auf eine gewisse Anzahl begrenze (z.B. 1.000 oder 10.000) funktioniert die Konvertierung schnell. Erweitere ich aber die Anzahl die Sätze wird es sehr langsam.

Ich habe ein paar Test gemacht, u. A.:
10.000 Datensätze benötigen etwa 10x so lange wie 1.000 und 1.000 etwa 10x so lange wie 100.
Bei 100.000 trifft das leider nicht zu. (Diese Tabelle hat eine Größe von 8GB und 1.3 Mio. Datensätze)

Ich habe das Gefühl, dass sobald die Größe (In MB) der Datensätze die Größe meines Arbeitsspeichers überschreitet, diese Problem eintrifft.

Kann das jemand bestätigen? Bin für jeden Tipp dankbar!
Grüße,
Manullino

05.06.2018 - 13:39 Uhr

An welchem Termin soll das ganze denn stattfinden?
Gibt es einen Link zu der Veranstalltung?

Gruesse,
Manullino

05.06.2018 - 00:05 Uhr

HI T-Virus,

vielen Dank fuer die Aufklaerung!
Nochmal kurz scharf nachgedacht, es ist eigentlich eine statische Methode im Konstruktor.

Ist in einer Base Class und in der Config.Web kann man die Connectionstrings festlegen. Fuer meinen Zweck ist das flexibel genung. 😉

Gruesse,
Manullino

04.06.2018 - 21:52 Uhr

Bisher gibt es keinerlei Probleme damit, bin aber offen fuer Vorschlaege! 😉


 public partial class MyContext : DbContext, IDBContext
    {
        public MyContext (bool isInServerMode) :
            base(GetConnectionString(isInServerMode))
        {
        }

        private static string GetConnectionString(bool isInServerMode)
        {
            string connectionStringName = "Server";
            string serverAdress = GetServerIP();

            if (!IsServerAvailable(serverAdress) || isInServerMode == false)
            {
                connectionStringName = "Local";
                Log(String.Format("Using {0} connection!", connectionStringName));
            }

            return String.Format("name={0}",connectionStringName);
        }
}

Gruesse,
Manullino

04.06.2018 - 15:00 Uhr

Ich sehe schon worauf es hinauslaufen wird, WCF hat wohl einen schlecht stand bei Euch! 😉

04.06.2018 - 01:50 Uhr

Hallo zusammen,

bisher habe ich meine WPF Anwendungen zusammen mit einem WCF Service Layer erstellt. Nun moechte ich allerdings auch Xamarin & ASP verwenden. Wuerdet Ihr da weiterhin auf WCF als Service Layer setzen?

Wie sind Eure Erfahrungen mit WEB API oder SingalR z.B.?

Folgende Dinge sind mir wichtig.*Hostbar bei Azure oder 'lokal' *Authentication & Authorization

Vielen Dank,
Manullino

04.06.2018 - 01:42 Uhr

Hallo Abt,

hab das nun recht simpel mit einem statischen Konstruktor im DBContext umgesetzt. Darin wir der SQL Server gepingt, klappt das nicht, wird der andere SQL Server verwendet.

Gruesse,
Manullino

31.05.2018 - 14:29 Uhr

verwendetes Datenbanksystem: <MSSQL>

Hallo zusammen,

falls EF die Verbindung zur Datenbank verliert, sollte ein Fallback Datenbank verwendet werden. Habt Ihr Erfahrungen wie das mit EF 6 umgesetzt werden kann?

Mir geht es nur um den Switch von DB1 zu DB2, dass die Daten dann noch synch. werden muessen, ist ein anderes Thema.

Vielen Dank,
Manullino

14.02.2018 - 11:32 Uhr

Es ist ja wohl mehr als logisch, dass ich offline keine Daten in der Clould speichern kann.

Alles was ich will, ist die Moeglichkeit lokal zu arbeiten, wenn ich offline bin. Danach sollen die Daten wieder mit Azure abgeglichen werden. Jeder kennt das doch von zig Apps die man selbst verwendet.

14.02.2018 - 11:01 Uhr

Habe oben bereits geschrieben, dass die Azure DB hinter einem Webservice sein soll.

Wie von Euch beschrieben, soll die Kommunikation mit Azure auch per Webservice stattfinden.

Nur ist eben die Fragen, wie das mit dem lokalen cachen funktioniert, bzw. wie die lokalen Daten in die Clould kommen, wenn der Client offline ist. Offline DB für ein Webservice sozusagen.

14.02.2018 - 10:45 Uhr

Hallo Abt,

vielen Dank für die Nachricht. Jetzt ist mir klar warum wir ein bisschen aneinander vorbei gesprochen haben. Es lag am Wort "synchronisieren".

Du würdest die Azure Daten lokal cachen, ich will die lokalen Daten zu Azure synchronisieren. Im Endeffekt ist es das selbe, die Daten sollen im Server und auf dem Client die selben sein.

Vielleicht habe ich auch deshalb kaum etwas bei Google gefunden, weil ich nach „synchronisieren“ gesucht haben.

Hast Du etwas zur Hand, wie man Azure Daten lokal cachen kann?

Vielen Dank,
Manullino

14.02.2018 - 10:12 Uhr

Ist das jetzt gut oder schlecht, wenn sich fast 2 Jahren nichts mehr auf GitHub getan hat?!

Meine konkrete Problematik/Frage:
Eine UWP/Android/IOS App hat eine (via EF Core angebundene) lokale offline Datenbank, diese möchte ich mit einer Azure Datenbank synchronisieren. Wie stellt man das an?

Vielen Dank,
Manullino

14.02.2018 - 09:12 Uhr

Hallo zusammen,

vielen Dank für Eure Antworten.

Vielen Dank zur Erläuterung der Architektur, das war aber gar nicht die Frage. 😉
Wie von Euch beschrieben, soll die Kommunikation mit Azure auch per Webservice stattfinden.

Nur wie wird/soll die Synchronisation umgesetzt werden, da finde ich eben nur den Verweis zu AzureMobileService?! Das ist das eigentliche Problem.

Vielen Dank,
Manullino

13.02.2018 - 21:00 Uhr

verwendetes Datenbanksystem: <MSSQL, SQLite>

Hallo zusammen,

Gibt des denn eine Alternative zu AzureMobileService, wenn man eine lokale Datenbank mit Azure DB synchronisieren will?

Hintergrund: Ich habe mit EF Core und dem .NET Standard 2.0 Projekt Type eine Basis Library erstellt die ich unabhängig von der verwendeten GUI verwenden koennte. Ich mochte eine App für Windows (WPF), Anriod und IOS entwickeln.

Vielen Dank,
Manullino

12.12.2017 - 12:59 Uhr

Den MySQL Query habe ich gefixt, es lag am IFNULL().

SELECT usName, CreateT, ChangeT, IF(DelT = '0000-00-00 00:00:00',CAST(NOW() AS DATETIME),DelT) AS DelT FROM Users

Allerdings gibt OPENQUERY fuer das Feld DelT nun einen falschen Wert (varbinary) zurueck.

0x323031372D31322D31322031323A35333A3338
Erwartet wird aber DateTime()

SELECT * FROM OPENQUERY(MYSQL, 'SELECT usName, CreateT, ChangeT, IF(DelT = "0000-00-00 00:00:00",CAST(NOW() AS DATETIME),DelT) AS DelT FROM Radex.Users')

Habt Ihr eine Idee?

12.12.2017 - 12:27 Uhr

Das Feld DelT gibt es schon in der Datenbank.

Hab den Query angepasst, bleibt aber bei dem NULL.

SELECT * FROM OPENQUERY(MYSQL, 'SELECT usName, CreateT, ChangeT, IFNULL(DelT,CAST(NOW() AS DATETIME)) AS DelT2 FROM DB1.Users')

Convert geht übrigens auch nicht:

SELECT * FROM OPENQUERY(MYSQL, 'SELECT usName, CreateT, ChangeT, IFNULL(DelT,CONVERT(NOW(), DATETIME)) AS DelT2 FROM DB1.Users')
12.12.2017 - 12:16 Uhr

verwendetes Datenbanksystem: <MYSQL>

Hallo zusammen

wie kann ich den in einem OpenQuery einen Cast durchführen?
Das Result der Spalte DelT ist immer NULL.


SELECT * FROM OPENQUERY(MYSQL, 'SELECT usName, CreateT, ChangeT, IFNULL(DelT,CAST(2018-1-1 as DateTime)) AS DelT FROM DB1.Users')

Vielen Dank,
Manullino

10.08.2017 - 17:43 Uhr

Hallo teebeast,

kannst du mir bitte verraten wie Du das umgesetzt hast?
Welchen Event hast du dafür verwendet bzw. überschrieben?

Vielen Dank,
Manullino

09.08.2017 - 20:40 Uhr

Hallo zusammen,

nach langer Zeit habe ich nun mal wieder ein bisschen Freiraum fuer WPF. 😃
Hierzu habe ich gleich mal eine Frage bzgl. Localization.

Ich nutze eine Extension um in XAML meine String zu uebersezten.
Hier auf Codeplex beschrieben: Klick

Nun wuerde ich den Code gerne in eine Basisklasse (z.B. des Label oder des Buttons) verschieben, damit ich nicht jedes mal die Extension "lex:Loc" tippen muss, ist das moeglich?

So soll der Code dann aussehen:

<x:Label Content="Test" />

anstatt:

<Label Content="{lex:Loc Test}" />

Vielen Dank,
Manullino

27.11.2016 - 10:17 Uhr

Vielen Dank fuer die Info.

Auch wenns evtl. ein bisschen Off-Topic wird.
Welchen zwecken haben dann die PDB Files im Release / Debug Folder?
War bisher der Meinung, dass diese Dateien die Debug Informationen beinhalten?

26.11.2016 - 14:46 Uhr

Ich habe bei mein Source/Framework Projekt auch ein Rebuid im Debug Modus gemacht, nun geht es. Bisher habe ich den Release Modus verwenden.

Vielen Dank.

26.11.2016 - 14:19 Uhr

Vielen Dank, dynamic kann ich ausschliessen, fuehre nun einen Cast aus, aber die Probleme bleiben bestehen.

Die Folder habe ich schon geloescht, ohne Erfolg.
Der Code den ich in meine offenen Projekt sehe, stimmt mit dem Code des "Framework" Projektes ueberein. Code ist also aktuell.

26.11.2016 - 12:14 Uhr

Hallo zusammen,

bisher habe ich den Type dynamic nicht verwendet und somit keine Erfahrungen.

Nun habe ich in meinem Code ein sehr ungewoehnliches Verhalten und ich vermute, dass es mit "dynamic" zusammenhaengt.

Problem 1: Obwohl in den oberen Zeilen Breakpoints gesetzt sind, wird der Code im Debugger einfach uebersprungen. (von Zeile 184 sprint er direkt auf Zeile 200)

Problem 2: Der == Operator im if Statementt funktioniert nicht. (siehe Screenshot).
Obwohl die Varaibale itemState den Value "Modified" hat, wird das if Statement ausgefuehrt. (Zeile 202 + 203)

Koennt ihr das Verhalten bestaetigen, liegt das wirklich an dem Type dynamic?

Vielen Dank,
Manullino

19.11.2016 - 13:39 Uhr

Hallo zusammen,

mit welcher Technik wuerde Ihr denn die GUIs aller im Netzwerk angeschlossenen Clients akutell halten?

Meine WPF App. besteht aus einer View, die eine Art Schaltplan anzeigt. Im Netzwerk gibt es einen Server, am diesem sind mehrere serielle Schnittstellen.

Wenn nun an einem Client, die GUI manuell upgedated wird (der User clickt auf einen "Schalter" (on/off)), sollen alle Clients ein Update erhalten. Damit der Status aller "Schlater" gleich ist.

Bisher arbeite ich mit WCF Callbacks, so richtig happy bin ich damit aber nicht.

Gibt es mittlerweile etwas partikableres als WCF?

Vielen Dank,
Manullino

19.08.2016 - 17:26 Uhr

Hallo doofit,

hast du das Board mitterweile zum Leben erweckt?

Gruesse,
Manullino

19.08.2016 - 12:24 Uhr

Hallo zusammen,

bin gerade auf der Suche wie man mit der Kamera eines Windows Mobile 10 Telefon einen Barcode erkennen und auslesen kann.

Bisher habe ich nur die OpticalReaderLib gefunden, scheint mir aber outdated zu sein.

Vielen Dank,
Manullino

27.07.2016 - 12:14 Uhr

Hallo zusammen,

nach der Umstellung von Windows 7 auf Windows 10 Pro (1511), kann man innerhalb der Domäne keine C++ Runtimes mehr installieren.

Wird der Client aus der Domäne gelöst, können die Runtimes ohne Probleme installiert werden.

Ich habe herausgefunden, dass die Zertifkate (sha256) der Runtimes nicht mehr gültig sind. Nun vermute ich, dass es irgendwelche Richtlinien innerhalb der Domäne gibt, die eine Installation von sollchen ungültigen Files nicht erlauben.

Habt ihr eine Idee, wie man das abschalten kann?

Das Server OS ist Server 2008 SP2. Bei Windows 7 Clients tritt dieses Problem nicht auf.
Screenshots anbei.

Vielen Dank,
Manullino

09.06.2016 - 13:01 Uhr

Hallo zusammen,

ich hab ein nested Control erstellt.
Es beinhaltet einen TextBox und einen Content Presenter.

<Style TargetType="{x:Type dataEntry:DataEntryBase}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type dataEntry:DataEntryBase}">
                    <Border BorderThickness="2" BorderBrush="Red">
                        <Grid MinHeight="24">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="15" />
                            <ColumnDefinition Width="{TemplateBinding CaptionLength}" />
                            <ColumnDefinition Width="{TemplateBinding ContentLength}"/>
                        </Grid.ColumnDefinitions>

                        <local:CaptionTextBlock  Grid.Column="1"
                                Text="{TemplateBinding Caption}" 
                                VerticalAlignment="Top"
                                Margin="0,3,0,0"/>

                        <ContentPresenter Grid.Column="2" 
                                              VerticalAlignment="Center"/>
                        </Grid>
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

Nun habe ich das Control an ein neues Control vererbt: TextEntry

<local:DataEntryBase x:Class="DRHKarmacUI.Wpf.Base.DataEntry.TextEntry"
            ....
             x:Name="textEntry">
    
        <controls:TextBox Text="{Binding Value, ElementName=textEntry, UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}"
                              HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch"
                              IsReadOnly="{Binding IsReadOnly, ElementName=textEntry}"/>
    
</local:DataEntryBase>

In der XAML Designer wird das Control auch korrekt angezeigt.
(siehe Anhang)

Implementiere ich nun das Control TextEntry in einer View, wird das Control weder im Designer noch zur Runtime angezeigt.
Das DataEntryBase Control wir sowohl im Designer als auch zur Runtime angezeigt.

Genau das selbe habe ich schon in einem anderen Projekt ohne Probleme umgesetzt, finden den Fehler aber trotzdem nicht.

Habt ihr noch einen Rat?

Vielen Dank,
Manullino

14.01.2016 - 21:00 Uhr

Hallo Christian,

da sich die Gebiete nur sehr selten aendern waere ein externes Tool voellig ausrreichen. Ich muesst nur die Koordinaten der Gebiete irgendwie in meinen SQL Server bekommen...

Gruesse,
Manullino

14.01.2016 - 18:51 Uhr

Hallo zusammen,

ich dachte eigentlich, dass mein Anliegen nicht so aussergewoehnlich ist.
Ich erkaere Euch mal denn ist Zustand evtl. wird es dann klarer.

Momentan haben wir auf einen klassichen Papierlandkarte von Deutschland meherer Gebiete eingezeichnet. Jeder Mitarbeiter bereist ein Gebiet.

Kommt nun ein Kunde dazu, schauen wir auf der Karte nach, in welches Gebiet er faellt und wissen dann welcher Mitarbeiter fuer den Kunden zustaendig ist.

Daher suche ich nun nach einem Tool, mit dem ich die Gebiete auf einer virtuellen Deutschlandkarte (z.B. Google Maps) einzeichnen kann.

Anschliessend moechte ich dann den Standort des Kunden zu diesem Gebiet zuordnen. bzw. einfach den Kunden auf der Karte darstellen.

Gruesse,
Manullino

13.01.2016 - 22:34 Uhr

Hallo Christan,

der naechste Schritt, waere nun in einer Landkarte die Gebiete der Mitarbeiter (als Polygon) einzuzeichnen, so dass ich die entsprechenden Geodaten in dem SQL Server speichern kann. Leider weiss ich nicht, mit welchem Tool man das machen kann.

Spaeter moechte ich dann anhand der Kundenstandorte den zugehoerigen Mitarbeiter ermitteln.

Gruesse,
Manullino

13.01.2016 - 14:39 Uhr

Vielen Dank Abt, MSSQL kann das auch, wie ich gerade gesehen habe.

Hast Du eine Idee, wie ich das Gebiet erfassen kann?
Der Abgleich (Kundenstandort / Gebiet) sollte dann wohl kein Problem mehr sein.

13.01.2016 - 14:16 Uhr

Hallo zusammen,

ich mochte gerne bereits geocodierte Kundenstandorte einem Aussendienstmitarbeiter zuordnen.
Das geocodieren der Standorte habe ich mittels der API von GoogleMaps geloest. (Google Maps API

Der naechste Schritt waere nun die Zuordnung eine Gebiets zu einem Aussendienstmitarbeiter. (Leider muss dieses Gebiet manuell erfasst werden, sprich es ist kein besimmtes Bundesland).
Danach muss dann geprueft werden, in welchem Gebiet sicher der Kunde befindet.

Habt ihr eine Idee mit welchen Tools mach das Loesen koennte?

Vielen Dank,
Manullino

08.12.2015 - 16:26 Uhr

verwendetes Datenbanksystem: <SQL2014>

Hallo zusammen,

ist es moeglich ein Linq Statement dynamisch zu gestalten?
Wenn ich ein komplexes Linq Statement habe, moechte ich dieses gerne ungern zweimal pflegen, wenn sich z.B. nur die Where clause aendert.

Gibt es hierzu eine Moeglichkeit?

Bsp:

Mit Address Filter:


var result =  from o in Orders
             join ol in OrderLines
             on o.Id equals ol.OrderId
			 join ad in AddressBases
             on o.AddressId equals ad.Id
where o.Date >= start && o.Date <= end && 
o.AddressId == address
group new { ol.ProductLine, ad.Name1, ol.Price } 
by new {ol.ProductLine, ad.Name1  } into gr
select new
{
   ProductLine = gr.Key.ProductLine,
   Sum = gr.Sum(x => x.Price),
   Address = gr.Key.Name1
};

ohne Address Filter:


var result =  from o in Orders
             join ol in OrderLines
             on o.Id equals ol.OrderId
			 join ad in AddressBases
             on o.AddressId equals ad.Id
where o.Date >= start && o.Date <= end 
group new { ol.ProductLine, ad.Name1, ol.Price } 
by new {ol.ProductLine, ad.Name1  } into gr
select new
{
   ProductLine = gr.Key.ProductLine,
   Sum = gr.Sum(x => x.Price),
   Address = gr.Key.Name1
};

Vielen Dank,
Manullino

06.12.2015 - 13:28 Uhr

Hallo Sir Rufo,

wie triggrst du den CalcEvent?
Im PropertyChanged, durch Userer Event (z.b. Save Button).

Gruesse,
Manullino

06.12.2015 - 13:24 Uhr

Hallo abt,

vielen Dank fuer den Hinweis.
Dann muesste es im Debug Mode, als ohne "Optimize Code" klappen....
Ich werde es im Auge behalten.

06.12.2015 - 04:02 Uhr

Hallo zusammen,

ab und an habe ich Werte on the fly direkt in den Properties berechnet.
Bsp.:

        [DataMember]
        public decimal SumDisplay
        {
            get 
            {
            if (Mandator == 1)                    
                return Price * ((100 - Discount) / 100) * Quantity;
            else
               return Price;
            }
        }

oder auch:

        [DataMember]
        public decimal SumDisplay
        {
            get 
            {
                decimal total = StatisticOrderLines.Sum(i => i.SumDisplay) * ((100 - Discount) / 100);
                if (type == 7)
                    total = total * -1;

                return total ; 
            }
        }

Mittlerweile hat sich das als Problem beim Reporting herausgestellt, da ich die Werte dann wieder berechnen muss, da diese eben nicht in der DB gespeichert sind.
Ganz unguenstig ist es natuerlich bei den Positionen, da muesste ich dann immer ein Join machen und um Auftragswert zu berechnen.

Daher wuerde mich interessieren wir ihr das Berechnen und Speichern solchen Werte geloest habt.

Vielen Dank,
Manullino

04.12.2015 - 16:24 Uhr

Hallo zusammen,

habe seit dem Umstieg zu VS 2015 sehr haeufig das Problem, dass der Breakpoint nicht gebunden werden kann.

Wer kann das bestaetigen und was schafft Abhilfe?

Vielen Dank,
Manullino