예제 #1
0
        private void StartVersendeDialog()
        {
            current = InBearbeitung.SelectedItem;
            current.Versanddatum = DateTime.Today;
            LieferscheinDruck    = false;

            modal = new ModalWrapper(this, FRM_VERSENDE, TXT_VERSENDE, "Bitte ergänzen Sie den Versanddaten...")
            {
                CancelMethod = () =>
                {
                    foreach (Rechnungen item in DataWorkspace.ApplicationData.Details.GetChanges().ModifiedEntities.OfType <Rechnungen>())
                    {
                        if (item.Id == current.Id)
                        {
                            item.Details.DiscardChanges();
                        }
                    }
                    current = null;
                },
                ProceedMethod = () =>
                {
                    current.Status             = (int)Bestellstatus.Versendet;
                    current.RequiresProcessing = LieferscheinDruck.GetValueOrDefault(false);
                    this.Details.Commands.Save.ExecuteAsync();
                }
            };
            modal.Show();
        }
예제 #2
0
        public static string GetAuftragsNummer(this Rechnungen value)
        {
            var    today      = DateTime.Today;
            var    dateString = (today.Year - 2000).ToString().PadLeft(2, '0') + today.Month.ToString().PadLeft(2, '0') + today.Day.ToString().PadLeft(2, '0');
            string result     = dateString + "000";

            using (var dw = Application.Current.CreateDataWorkspace())
            {
                var query = dw.ApplicationData.RechnungenSet.OfType <Rechnungen>();
                if (query.Count() > 0)
                {
                    string max = query.Max(n => n.Referenznummer);

                    if (max.StartsWith(dateString))
                    {
                        long numeric;
                        if (Int64.TryParse(max, out numeric))
                        {
                            result = (++numeric).ToString().PadLeft(9, '0');
                        }
                    }
                }
            }
            return(result);
        }
예제 #3
0
        public static void GetRechnungsNummer(this Rechnungen value)
        {
            var    today      = DateTime.Today;
            var    dateString = today.Year.ToString() + '-';
            string result     = dateString + "001";

            using (var dw = Application.Current.CreateDataWorkspace())
            {
                var query = dw.ApplicationData.RechnungenSet.OfType <Rechnungen>();
                if (query.Count() > 0)
                {
                    string max = query.Where(n => !String.IsNullOrWhiteSpace(n.Rechnungsnummer)).Max(n => n.Rechnungsnummer);

                    if (max != null)
                    {
                        if (max.StartsWith(dateString))
                        {
                            int numeric;
                            if (Int32.TryParse(max.Substring(5), out numeric))
                            {
                                result = dateString + (++numeric).ToString().PadLeft(3, '0');
                            }
                        }
                    }
                }
            }
            value.Rechnungsnummer = result;
        }
예제 #4
0
 private void CancelChanges()
 {
     foreach (Rechnungen item in this.DataWorkspace.ApplicationData.Details.GetChanges().AddedEntities.OfType <Rechnungen>())
     {
         item.Details.DiscardChanges();
     }
     newItem = null;
 }
예제 #5
0
        public static DocDescriptor CreateRechnung(Rechnungen value)
        {
            DocDescriptor result = new DocDescriptor(value.Referenznummer, "Rechnung");

            result.Adresse = value.Adresse;
            if (!String.IsNullOrWhiteSpace(value.Rechnungsnummer))
            {
                result.Rechnungsnummer = value.Rechnungsnummer;
            }
            if (value.Rechnungsdatum.HasValue)
            {
                result.Rechnungsdatum = value.Rechnungsdatum.Value.ToShortDateString();
            }
            if (value.Versanddatum.HasValue)
            {
                result.Versanddatum = value.Versanddatum.Value.ToShortDateString();
            }
            if (!String.IsNullOrWhiteSpace(value.Lieferscheinnummer))
            {
                result.Lieferscheinnummer = value.Lieferscheinnummer;
            }

            if (value.Lieferkosten.HasValue)
            {
                result.Lieferkosten = value.Lieferkosten.Value.ToString("C");
            }
            if (value.Rechnungsbetrag_Brutto.HasValue)
            {
                result.Brutto = value.Rechnungsbetrag_Brutto.Value.ToString("C");
            }
            if (value.Mehrwertsteuer.HasValue)
            {
                result.Mehrwertsteuer = value.Mehrwertsteuer.Value.ToString("C");
            }
            if (value.Netto_Gesamtbetrag.HasValue)
            {
                result.Netto = value.Netto_Gesamtbetrag.Value.ToString("C");
            }
            if (value.Mahnung.GetValueOrDefault(false))
            {
                result.Mahnkosten = value.Mahnkosten.ToString("C");
            }

            foreach (var art in value.ArtikellisteCollection)
            {
                result.Positionen.Add((Position)art);
            }

            return(result);
        }
예제 #6
0
        partial void InBearbeitungAddAndEditNew_Execute()
        {
            current = null;
            current = InBearbeitung.AddNew();
            InBearbeitung.SelectedItem = current;
            current.Referenznummer     = current.GetAuftragsNummer();
            current.RequiresProcessing = true;
            current.Bestelldatum       = DateTime.Now;
            current.Status             = (int)Bestellstatus.Neu;

            modal = new ModalWrapper(this, FRM_NEW, TXT_NEW, "Neue Bestellung eingeben...")
            {
                CancelMethod = () =>
                {
                    foreach (Rechnungen item in DataWorkspace.ApplicationData.Details.GetChanges().AddedEntities.OfType <Rechnungen>())
                    {
                        if (item.Id == current.Id)
                        {
                            foreach (ArtikellisteItem pos in DataWorkspace.ApplicationData.Details.GetChanges().AddedEntities.OfType <ArtikellisteItem>())
                            {
                                pos.Details.DiscardChanges();
                            }
                            foreach (ArtikellisteItem pos in DataWorkspace.ApplicationData.Details.GetChanges().ModifiedEntities.OfType <ArtikellisteItem>())
                            {
                                pos.Details.DiscardChanges();
                            }

                            item.Details.DiscardChanges();
                        }
                    }
                    current = null;
                },
                ProceedMethod = () =>
                {
                    this.Details.Commands.Save.ExecuteAsync();
                }
            };

            InBearbeitung.SelectedItem = current;
            modal.Show();
        }
예제 #7
0
        public static DocDescriptor CreateLieferschein(Rechnungen value)
        {
            DocDescriptor result = new DocDescriptor(value.Auftragsnummer, "Lieferschein");

            result.Adresse = value.Lieferadresse == null ? value.Adresse : value.Lieferadresse.ToString();
            if (!String.IsNullOrWhiteSpace(value.Kunde.Kundennummer))
            {
                result.Kundennummer = value.Kunde.Kundennummer;
            }
            if (value.Rechnungsbetrag_Brutto.HasValue)
            {
                result.Brutto = value.Rechnungsbetrag_Brutto.Value.ToString("C");
            }
            if (value.Versanddatum.HasValue)
            {
                result.Versanddatum = value.Versanddatum.Value.ToShortDateString();
            }
            if (value.Lieferkosten.HasValue)
            {
                result.Lieferkosten = value.Lieferkosten.Value.ToString("C");
            }
            if (!String.IsNullOrWhiteSpace(value.Lieferscheinnummer))
            {
                result.Lieferscheinnummer = value.Lieferscheinnummer;
            }
            if (value.Mehrwertsteuer.HasValue)
            {
                result.Mehrwertsteuer = value.Mehrwertsteuer.Value.ToString("C");
            }
            if (value.Netto_Gesamtbetrag.HasValue)
            {
                result.Netto = value.Netto_Gesamtbetrag.Value.ToString("C");
            }

            foreach (var art in value.ArtikellisteCollection)
            {
                result.Positionen.Add((Position)art);
            }

            return(result);
        }
예제 #8
0
 partial void CreateNewRechnungen_Activated()
 {
     header  = "Rechnungsposition hinzufügen...";
     newItem = this.RechnungenProperty;
     this.OpenModalWindow();
 }
예제 #9
0
        partial void Test_Execute()
        {
            Rechnungen tmp = new Rechnungen();

            tmp.Kunde = new KundenItem()
            {
                Anrede     = "Herr",
                Hausnummer = 1,
                Land       = "Deutschland",
                Nachnahme  = "Mustermann",
                PLZ        = 12345,
                Stadt      = "Musterstadt",
                Straße     = "Musterstraße",
                Vorname    = "Max"
            };
            tmp.GetRechnungsNummer();
            tmp.Auftragsnummer     = tmp.GetAuftragsNummer();
            tmp.Bestelldatum       = DateTime.Today;
            tmp.Rechnungsdatum     = DateTime.Today;
            tmp.Lieferdatum        = DateTime.Today;
            tmp.Lieferscheinnummer = "L-0001";
            tmp.Lieferkosten       = 6M;
            tmp.Referenznummer     = "R-00001";
            tmp.Versanddatum       = DateTime.Today;

            tmp.ArtikellisteCollection.Add(new ArtikellisteItem()
            {
                Anzahl           = 2,
                Rabatt           = 3,
                ArtikelstammItem = new ArtikelstammItem()
                {
                    Artikelnummer       = "A00001",
                    Artikelbeschreibung = "Testartikel",
                    Vertriebsname       = "Testartikel",
                    VK_pro_PK           = 10M
                }
            });
            tmp.ArtikellisteCollection.Add(new ArtikellisteItem()
            {
                Anzahl           = 1,
                Rabatt           = 0,
                ArtikelstammItem = new ArtikelstammItem()
                {
                    Artikelnummer       = "A00002",
                    Artikelbeschreibung = "Testartikel 2",
                    Vertriebsname       = "Testartikel 2",
                    VK_pro_PK           = 19.9M
                }
            });

            DocDescriptor test = DocDescriptor.CreateRechnung(tmp);

            byte[] documentBytes = null;
            using (var dw = Application.Current.CreateDataWorkspace())
            {
                var newDoc = dw.ApplicationData.DocumentsSet.AddNew();
                newDoc.Bezeichnung = "Vorlagentest";
                newDoc.Datum       = DateTime.Now;
                newDoc.Data        = test.ToByteArray();
                dw.ApplicationData.SaveChanges();
                documentBytes = newDoc.GeneratedDocument.Bytes;
                newDoc.Delete();
                dw.ApplicationData.SaveChanges();
            }

            Refresh();

            if (documentBytes != null)
            {
                string file = Helper.GetFreeTempFilename("pdf");
                File.WriteAllBytes(file, documentBytes);
                Helper.ShellExecute(file);
            }
        }
예제 #10
0
		partial void Test_Execute()
		{
			Rechnungen tmp = new Rechnungen();
			tmp.Kunde = new KundenItem()
			{
				Anrede = "Herr",
				Hausnummer = 1,
				Land = "Deutschland",
				Nachnahme = "Mustermann",
				PLZ = 12345,
				Stadt = "Musterstadt",
				Straße = "Musterstraße",
				Vorname = "Max"
			};
			tmp.GetRechnungsNummer();
			tmp.Auftragsnummer = tmp.GetAuftragsNummer();
			tmp.Bestelldatum = DateTime.Today;
			tmp.Rechnungsdatum = DateTime.Today;
			tmp.Lieferdatum = DateTime.Today;
			tmp.Lieferscheinnummer = "L-0001";
			tmp.Lieferkosten = 6M;
			tmp.Referenznummer = "R-00001";
			tmp.Versanddatum = DateTime.Today;

			tmp.ArtikellisteCollection.Add(new ArtikellisteItem()
			{
				Anzahl = 2,
				Rabatt = 3,
				ArtikelstammItem = new ArtikelstammItem()
				{
					Artikelnummer = "A00001",
					Artikelbeschreibung = "Testartikel",
					Vertriebsname = "Testartikel",
					VK_pro_PK = 10M
				}
			});
			tmp.ArtikellisteCollection.Add(new ArtikellisteItem()
			{
				Anzahl = 1,
				Rabatt = 0,
				ArtikelstammItem = new ArtikelstammItem()
				{
					Artikelnummer = "A00002",
					Artikelbeschreibung = "Testartikel 2",
					Vertriebsname = "Testartikel 2",
					VK_pro_PK = 19.9M
				}
			});

			DocDescriptor test = DocDescriptor.CreateRechnung(tmp);

			byte[] documentBytes = null;
			using (var dw = Application.Current.CreateDataWorkspace())
			{
				var newDoc = dw.ApplicationData.DocumentsSet.AddNew();
				newDoc.Bezeichnung = "Vorlagentest";
				newDoc.Datum = DateTime.Now;
				newDoc.Data = test.ToByteArray();
				dw.ApplicationData.SaveChanges();
				documentBytes = newDoc.GeneratedDocument.Bytes;
				newDoc.Delete();
				dw.ApplicationData.SaveChanges();
			}

			Refresh();

			if (documentBytes != null)
			{
				string file = Helper.GetFreeTempFilename("pdf");
				File.WriteAllBytes(file, documentBytes);
				Helper.ShellExecute(file);
			}
		}
		private void CancelChanges()
		{
			foreach (Rechnungen item in this.DataWorkspace.ApplicationData.Details.GetChanges().AddedEntities.OfType<Rechnungen>())
				item.Details.DiscardChanges();
			newItem = null;
		}
		partial void CreateNewRechnungen_Activated()
		{
			header = "Rechnungsposition hinzufügen...";
			newItem = this.RechnungenProperty;
			this.OpenModalWindow();
		}
예제 #13
0
		public static DocDescriptor CreateRechnung(Rechnungen value)
		{
			DocDescriptor result = new DocDescriptor(value.Referenznummer, "Rechnung");

			result.Adresse = value.Adresse;
			if (!String.IsNullOrWhiteSpace(value.Rechnungsnummer))
				result.Rechnungsnummer = value.Rechnungsnummer;
			if (value.Rechnungsdatum.HasValue)
				result.Rechnungsdatum = value.Rechnungsdatum.Value.ToShortDateString();
			if (value.Versanddatum.HasValue)
				result.Versanddatum = value.Versanddatum.Value.ToShortDateString();
			if (!String.IsNullOrWhiteSpace(value.Lieferscheinnummer))
				result.Lieferscheinnummer = value.Lieferscheinnummer;

			if (value.Lieferkosten.HasValue)
				result.Lieferkosten = value.Lieferkosten.Value.ToString("C");
			if (value.Rechnungsbetrag_Brutto.HasValue)
				result.Brutto = value.Rechnungsbetrag_Brutto.Value.ToString("C");
			if (value.Mehrwertsteuer.HasValue)
				result.Mehrwertsteuer = value.Mehrwertsteuer.Value.ToString("C");
			if (value.Netto_Gesamtbetrag.HasValue)
				result.Netto = value.Netto_Gesamtbetrag.Value.ToString("C");
			if (value.Mahnung.GetValueOrDefault(false))
				result.Mahnkosten = value.Mahnkosten.ToString("C");

			foreach (var art in value.ArtikellisteCollection)
				result.Positionen.Add((Position)art);
					
			return result;
		}
예제 #14
0
		public static DocDescriptor CreateLieferschein(Rechnungen value)
		{
			DocDescriptor result = new DocDescriptor(value.Auftragsnummer, "Lieferschein");

			result.Adresse = value.Lieferadresse == null ? value.Adresse : value.Lieferadresse.ToString();
			if (!String.IsNullOrWhiteSpace(value.Kunde.Kundennummer))
				result.Kundennummer = value.Kunde.Kundennummer;
			if (value.Rechnungsbetrag_Brutto.HasValue)
				result.Brutto = value.Rechnungsbetrag_Brutto.Value.ToString("C");
			if (value.Versanddatum.HasValue)
				result.Versanddatum = value.Versanddatum.Value.ToShortDateString();
			if (value.Lieferkosten.HasValue)
				result.Lieferkosten = value.Lieferkosten.Value.ToString("C");
			if (!String.IsNullOrWhiteSpace(value.Lieferscheinnummer))
				result.Lieferscheinnummer = value.Lieferscheinnummer;
			if (value.Mehrwertsteuer.HasValue)
				result.Mehrwertsteuer = value.Mehrwertsteuer.Value.ToString("C");
			if (value.Netto_Gesamtbetrag.HasValue)
				result.Netto = value.Netto_Gesamtbetrag.Value.ToString("C");

			foreach (var art in value.ArtikellisteCollection)
				result.Positionen.Add((Position)art);

			return result;
		}
예제 #15
0
		private void StartVersendeDialog()
		{
			current = InBearbeitung.SelectedItem;
			current.Versanddatum = DateTime.Today;
			LieferscheinDruck = false;

			modal = new ModalWrapper(this, FRM_VERSENDE, TXT_VERSENDE, "Bitte ergänzen Sie den Versanddaten...")
			{
				CancelMethod = () =>
				{
					foreach (Rechnungen item in DataWorkspace.ApplicationData.Details.GetChanges().ModifiedEntities.OfType<Rechnungen>())
						if (item.Id == current.Id)
							item.Details.DiscardChanges();
					current = null;
				},
				ProceedMethod = () =>
				{
					current.Status = (int)Bestellstatus.Versendet;
					current.RequiresProcessing = LieferscheinDruck.GetValueOrDefault(false);
					this.Details.Commands.Save.ExecuteAsync();
				}
			};
			modal.Show();
		}
예제 #16
0
		partial void InBearbeitungAddAndEditNew_Execute()
		{
			current = null;
			current = InBearbeitung.AddNew();
			InBearbeitung.SelectedItem = current;
			current.Referenznummer = current.GetAuftragsNummer();
			current.RequiresProcessing = true;
			current.Bestelldatum = DateTime.Now;
			current.Status = (int)Bestellstatus.Neu;

			modal = new ModalWrapper(this, FRM_NEW, TXT_NEW, "Neue Bestellung eingeben...")
			{
				CancelMethod = () =>
				{
					foreach (Rechnungen item in DataWorkspace.ApplicationData.Details.GetChanges().AddedEntities.OfType<Rechnungen>())
						if (item.Id == current.Id)
						{
							foreach (ArtikellisteItem pos in DataWorkspace.ApplicationData.Details.GetChanges().AddedEntities.OfType<ArtikellisteItem>())
								pos.Details.DiscardChanges();
							foreach (ArtikellisteItem pos in DataWorkspace.ApplicationData.Details.GetChanges().ModifiedEntities.OfType<ArtikellisteItem>())
								pos.Details.DiscardChanges();

							item.Details.DiscardChanges();
						}
					current = null;
				},
				ProceedMethod = () =>
				{
					this.Details.Commands.Save.ExecuteAsync();
				}
			};

			InBearbeitung.SelectedItem = current;
			modal.Show();
		}