/// <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; }
/// <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; }
//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."); } } }
/// <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(); } }
private void detach_Order(Order entity) { this.SendPropertyChanging(); entity.User = null; }
private void attach_Order(Order entity) { this.SendPropertyChanging(); entity.User = this; }
private void detach_Order(Order entity) { this.SendPropertyChanging(); entity.DocketList = null; }
private void attach_Order(Order entity) { this.SendPropertyChanging(); entity.DocketList = this; }
private void detach_Order(Order entity) { this.SendPropertyChanging(); entity.RegistrationLocation = null; }
partial void DeleteOrder(Order instance);
partial void UpdateOrder(Order instance);
partial void InsertOrder(Order instance);