Пример #1
0
        /// <summary>
        /// Erstellt eine Verknuepfung zwischen einem Auftrag und einer Rechnung.
        /// </summary>
        /// <param name="OrderNumber">Id des Auftrags.</param>
        /// <param name="invoiceId">Id der Rechnung.</param>
        /// <param name="dbContext">Datenbankkontext für die Transaktion.</param>
        /// <returns>Die neue Verknüpfung.</returns>
        public static OrderInvoice CreateOrderInvoice(Order order, Invoice invoice, DataClasses1DataContext dbContext)
        {
            OrderInvoice item = new OrderInvoice()
            {
                Order = order,
                Invoice = invoice
            };

            dbContext.OrderInvoice.InsertOnSubmit(item);
            ///  var invoiceNumber = dbContext.Invoice.Where(q => q.Id == invoiceId).Select(q => q.InvoiceNumber).Single();
            var orderNumber = dbContext.Order.Where(q => q.OrderNumber == order.OrderNumber).Select(q => q.OrderNumber).Single();
            dbContext.WriteLogItem("Rechnung wurde mit Auftrag " + orderNumber + " verknüpft.", LogTypes.INSERT, order.OrderNumber, "OrderInvoice", invoice.Id);
            return item;
        }
Пример #2
0
        /// <summary>
        /// Erstellt einen Auftrag.
        /// </summary>
        /// <param name="userId">Id des Benutzers.</param>
        /// <param name="customerId">Id des Kunden.</param>
        /// <param name="orderTypeId">Id der Auftragsart.</param>
        /// <param name="dbContext">Datenbankkontext für die Transaktion.</param>
        /// <returns>Den neuen Auftrag.</returns>
        public static Order CreateOrder(int userId, int customerId, int orderTypeId, int zulassungsstelleId, DataClasses1DataContext dbContext)
        {
            if (userId == 0)
            {
                throw new Exception("Die BenutzerId ist nicht gesetzt.");
            }

            Order order = new Order()
            {
                CreateDate = DateTime.Now,
                CustomerId = customerId,
                Status = (int)OrderStatusTypes.Open,
                OrderTypeId = orderTypeId,
                UserId = userId,
                Zulassungsstelle = zulassungsstelleId
            };

            dbContext.Order.InsertOnSubmit(order);
            dbContext.SubmitChanges();
            dbContext.WriteLogItem("Auftrag angelegt.", LogTypes.INSERT, order.OrderNumber, "Order");
            return order;
        }
Пример #3
0
 //falls benötigt, wird der Status per Email gesendet
 protected void SendStatusByEmail(Guid customerId, Order orderToSend)
 {
     DataClasses1DataContext dbContext = new DataClasses1DataContext(new Guid(Session["CurrentUserId"].ToString()));
     var customerAuswahl = dbContext.LargeCustomer.SingleOrDefault(q => q.CustomerId == customerId);
     string fromEmail = ConfigurationManager.AppSettings["FromEmail"];
     string smtp = ConfigurationManager.AppSettings["smtpHost"];
     if (customerAuswahl.OrderFinishedNoteSendType == 1) //sofort gesendet
     {
         try
         {
             Order.SendOrderFinishedNote(orderToSend, fromEmail, smtp, dbContext);
         }
         catch
         {
             throw new Exception("Email mit OrderStatus konnte nicht gesendet werden.");
         }
     }
 }
Пример #4
0
        /// <summary>
        /// Sendet eine Benachrichtigungsemail über den Abschluss des angegebenen Auftrag.
        /// </summary>
        /// <param name="order">Der Auftrag.</param>
        /// <param name="fromEmailAddress">Absenderemailadresse.</param>
        /// <param name="smtpServer">SMTP-Server für den Emailversand.</param>
        /// <param name="dbContext">Datenbankkontext für die Transaktion.</param>
        /// <remarks>Die Methode ruft dbContext.SubmitChanges() auf, um den Status der Versendung zu speichern.</remarks>
        public static void SendOrderFinishedNote(Order order, string fromEmailAddress, string smtpServer, DataClasses1DataContext dbContext)
        {
            List<string> emails = new List<string>();
            var customer = order.Customer.LargeCustomer;
            if (customer == null)
            {
                return;
            }

            if (customer.SendOrderFinishedNoteToLocation.GetValueOrDefault(false))
            {
                emails.AddRange(order.Location.Mailinglist.Where(q => q.MailinglistType.Name == "Auftragserledigung").Select(q => q.Email).ToList());
            }

            if (customer.SendOrderFinishedNoteToCustomer.GetValueOrDefault(false))
            {
                emails.AddRange(customer.Mailinglist.Where(q => q.MailinglistType.Name == "Auftragserledigung").Select(q => q.Email).ToList());
            }

            if (emails.Count > 0)
            {
                SendOrderFinishedNote(new List<Order>() { order }.AsEnumerable(), emails, fromEmailAddress, smtpServer);
                order.LogDBContext = dbContext;
                order.HasFinishedNoteBeenSent = true;
                dbContext.SubmitChanges();
            }
        }
Пример #5
0
		private void detach_Order(Order entity)
		{
			this.SendPropertyChanging();
			entity.User = null;
		}
Пример #6
0
		private void attach_Order(Order entity)
		{
			this.SendPropertyChanging();
			entity.User = this;
		}
Пример #7
0
		private void detach_Order(Order entity)
		{
			this.SendPropertyChanging();
			entity.DocketList = null;
		}
Пример #8
0
		private void attach_Order(Order entity)
		{
			this.SendPropertyChanging();
			entity.DocketList = this;
		}
Пример #9
0
		private void detach_Order(Order entity)
		{
			this.SendPropertyChanging();
			entity.RegistrationLocation = null;
		}
Пример #10
0
 partial void DeleteOrder(Order instance);
Пример #11
0
 partial void UpdateOrder(Order instance);
Пример #12
0
 partial void InsertOrder(Order instance);