/// <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()}
     };
 }
Пример #2
0
        /// <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;
        }
Пример #3
0
        /// <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;

            }
        }
Пример #4
0
		private void detach_DocketList(DocketList entity)
		{
			this.SendPropertyChanging();
			entity.Adress = null;
		}
Пример #5
0
		private void attach_DocketList(DocketList entity)
		{
			this.SendPropertyChanging();
			entity.Adress = this;
		}
Пример #6
0
 partial void DeleteDocketList(DocketList instance);
Пример #7
0
 partial void UpdateDocketList(DocketList instance);
Пример #8
0
 partial void InsertDocketList(DocketList instance);