/// <summary> /// Standardkonstruktor zum erstellen des Laufzettels /// </summary> /// <param name="docketList">Laufzettel Objekt</param> /// <param name="logoFilePath">Pfad zum Logo</param> /// <param name="dbContext">DB Kontext</param> public PackingListPDF_Zulassungsstelle(DocketList docketList, string logoFilePath, DataClasses1DataContext dbContext) : base(dbContext,logoFilePath) { this.DocketList = docketList; this.Headline = "Laufzettel " + docketList.DocketListNumber.ToString(); this.Letterhead = new LetterHead(dbContext) { Lines = new List<string>(){ //this.PackingList.Order.First().Customer.Name, this.DocketList.Recipient, //this.PackingList.Adress.Street + " " + this.PackingList.Adress.StreetNumber, //this.PackingList.Adress.Zipcode + " " + this.PackingList.Adress.City, "Erstellungsdatum: " + DateTime.Now.ToShortDateString()} }; }
/// <summary> /// Erstellt einen neuen Laufzetteldatensatz. /// </summary> /// <param name="recipient">Empfänger des Laufzettels.</param> /// <param name="recipientAdressId">Id der Adresse für den Laufzettel.</param> /// <param name="dbContext">Datenbankkontext für die Transaktion.</param> /// <returns>Den neuen Lieferscheindatensatz.</returns> public static DocketList CreateDocketList(string recipient, Adress recipientAdress, DataClasses1DataContext dbContext) { if (recipient == null) { throw new Exception("Der Empfänger des Lieferscheins darf nicht leer sein."); } DocketList docketList = new DocketList() { Adress = recipientAdress, Recipient = recipient }; dbContext.DocketList.InsertOnSubmit(docketList); dbContext.SubmitChanges(); dbContext.WriteLogItem("Laufzettel erstellt.", LogTypes.INSERT, docketList.DocketListNumber, "DocketList"); return docketList; }
/// <summary> /// Event fuer den Lieferschein erstellen Button /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void ZulassungsstelleLieferscheineButton_Clicked(object sender, EventArgs e) { TransactionScope ts = null; try { if (String.IsNullOrEmpty(ZulassungsDatumPicker.SelectedDate.ToString())) { LieferscheinePath.Text = "Wählen Sie bitte das Zulassungsdatum aus!"; LieferscheinePath.Visible = true; } else { var laufzettel = new List<string>(); script.RegisterPostBackControl(ZulassungsstelleLieferscheineButton); using (DataClasses1DataContext con = new DataClasses1DataContext(Int32.Parse(Session["CurrentUserId"].ToString()))) { using (ts = new TransactionScope()) { var zulQuery2 = from ord in con.Order join ordtype in con.OrderType on ord.OrderTypeId equals ordtype.Id join regLoc in con.RegistrationLocation on ord.Zulassungsstelle equals regLoc.ID join regord in con.RegistrationOrder on ord.OrderNumber equals regord.OrderNumber where ord.Status == (int)OrderStatusTypes.Open && ordtype.Id == (int)OrderTypes.Admission && ord.HasError.GetValueOrDefault(false) != true && ord.RegistrationOrder.Registration.RegistrationDate <= ZulassungsDatumPicker.SelectedDate select ord; var grouptedOrders = zulQuery2.GroupBy(q => q.Zulassungsstelle.Value); foreach (var location in grouptedOrders) { var docketList = new DocketList(); var ms = new MemoryStream(); if (location.Count() > 0) { docketList = DocketList.CreateDocketList( location.First().RegistrationLocation.RegistrationLocationName, location.First().RegistrationLocation.Adress, con); docketList.LogDBContext = con; docketList.IsSelfDispatch = true; } foreach (var order in location) { if (order != null) { docketList.AddOrderById(order.OrderNumber, con); //updating order status order.LogDBContext = con; order.Status = (int)OrderStatusTypes.AdmissionPoint; //updating orderitems status foreach (OrderItem ordItem in order.OrderItem) { ordItem.LogDBContext = con; if (ordItem.Status != (int)OrderItemStatusTypes.Cancelled) { ordItem.Status = (int)OrderItemStatusTypes.InProgress; } } } } con.SubmitChanges(); string myPackListFileName = EmptyStringIfNull.CheckIfFolderExistsAndReturnPathForPdf(Session["CurrentUserId"].ToString(), true); docketList.Print(ms, string.Empty, con, "/UserData/" + Session["CurrentUserId"].ToString() + "/" + Path.GetFileName(myPackListFileName), true); con.SubmitChanges(); string fromEmail = ConfigurationManager.AppSettings["FromEmail"]; string host = ConfigurationManager.AppSettings["smtpHost"]; //File.WriteAllBytes(myPackListFileName, ms.ToArray()); PdfDocument d = PdfReader.Open(new MemoryStream(ms.ToArray(), 0, Convert.ToInt32(ms.Length))); d.Save(myPackListFileName); docketList.SendByEmail(ms, fromEmail, host); docketList = null; d = null; ms.Close(); ms = null; laufzettel.Add(myPackListFileName); // break; } ts.Complete(); } RadGridOffNeuzulassung.MasterTableView.ClearChildEditItems(); RadGridOffNeuzulassung.MasterTableView.ClearEditItems(); RadGridOffNeuzulassung.Rebind(); CheckOpenedOrders(); if (laufzettel.Count > 1) { string myMergedFileName = EmptyStringIfNull.CheckIfFolderExistsAndReturnPathForPdf(Session["CurrentUserId"].ToString(), true); PackingList.MergePackingLists(laufzettel.ToArray(), myMergedFileName); myMergedFileName = myMergedFileName.Replace(ConfigurationManager.AppSettings["BasePath"], ConfigurationManager.AppSettings["BaseUrl"]); // myInvoiceListFileName = myInvoiceListFileName.Replace("//", "/"); //myMergedFileName = myMergedFileName.Replace(@"\", ""); //myMergedFileName = myMergedFileName.Replace(@"/\", @"/"); //myMergedFileName = myMergedFileName.Replace(@"\", @"/"); myMergedFileName = myMergedFileName.Replace(@"\\", @"/"); myMergedFileName = myMergedFileName.Replace(@"\", @"/"); LieferscheinePath.Text = "<a href=" + '\u0022' + myMergedFileName + '\u0022' + " target=" + '\u0022' + "_blank" + '\u0022' + "> Laufzettel öffnen</a>"; LieferscheinePath.Visible = true; } else if (laufzettel.Count == 1) { string myMergedFileName = laufzettel[0]; //PackingList.MergePackingLists(lieferscheine.ToArray(), myMergedFileName); myMergedFileName = myMergedFileName.Replace(ConfigurationManager.AppSettings["BasePath"], ConfigurationManager.AppSettings["BaseUrl"]); // myInvoiceListFileName = myInvoiceListFileName.Replace("//", "/"); //myMergedFileName = myMergedFileName.Replace(@"\", ""); //myMergedFileName = myMergedFileName.Replace(@"/\", @"/"); //myMergedFileName = myMergedFileName.Replace(@"\", @"/"); myMergedFileName = myMergedFileName.Replace(@"\\", @"/"); myMergedFileName = myMergedFileName.Replace(@"\", @"/"); LieferscheinePath.Text = "<a href=" + '\u0022' + myMergedFileName + '\u0022' + " target=" + '\u0022' + "_blank" + '\u0022' + "> Laufzettel öffnen</a>"; LieferscheinePath.Visible = true; } else { LieferscheinePath.Text = "Keine Lieferscheine vorhanden!"; LieferscheinePath.Visible = true; } } } } catch (Exception ex) { if (ts != null) ts.Dispose(); ZulassungErrLabel.Visible = true; ZulassungErrLabel.Text = "Fehler: " + ex.Message; } }
private void detach_DocketList(DocketList entity) { this.SendPropertyChanging(); entity.Adress = null; }
private void attach_DocketList(DocketList entity) { this.SendPropertyChanging(); entity.Adress = this; }
partial void DeleteDocketList(DocketList instance);
partial void UpdateDocketList(DocketList instance);
partial void InsertDocketList(DocketList instance);