/// <summary> /// Adds the specified order product. /// </summary> /// <param name="shipmentProduct">The order product.</param> /// <returns></returns> public tbl_ShipmentProducts Add(tbl_ShipmentProducts shipmentProduct) { shipmentProduct.ID = Guid.NewGuid(); _dataContext.tbl_ShipmentProducts.AddObject(shipmentProduct); _dataContext.SaveChanges(); return(shipmentProduct); }
protected void rbtnGenerateShipment_OnClick(object sender, EventArgs e) { var shipmentType = _dataManager.ShipmentType.SelectAll(CurrentUser.Instance.SiteID).SingleOrDefault(o => o.IsDefault); if (!InvoiceId.HasValue) { return; } if (shipmentType == null) { ucMessage.Text = "Необходимо указать тип документа по умолчанию"; return; } var invoice = _dataManager.Invoice.SelectById(InvoiceId.Value); var shipment = new tbl_Shipment { CreatedAt = DateTime.Now, ShipmentTypeID = shipmentType.ID, ShipmentStatusID = (int)ShipmentStatus.Prepared, Note = invoice.Note, ExecutorCompanyID = invoice.ExecutorCompanyID, BuyerCompanyID = invoice.BuyerCompanyID, ExecutorCompanyLegalAccountID = invoice.ExecutorCompanyLegalAccountID, BuyerCompanyLegalAccountID = invoice.BuyerCompanyLegalAccountID, BuyerContactID = invoice.BuyerContactID, ExecutorContactID = invoice.ExecutorContactID, SendDate = null, PriceListID = null, OrderID = invoice.OrderID, ShipmentAmount = invoice.InvoiceAmount }; shipment.tbl_Invoice.Clear(); shipment.tbl_Invoice.Add(invoice); shipment.SiteID = invoice.SiteID; shipment.OwnerID = CurrentUser.Instance.ContactID; var documentNumerator = DocumentNumerator.GetNumber((Guid)shipmentType.NumeratorID, shipment.CreatedAt, shipmentType.tbl_Numerator.Mask, "tbl_Shipment"); shipment.Number = documentNumerator.Number; shipment.SerialNumber = documentNumerator.SerialNumber; foreach (var product in invoice.tbl_InvoiceProducts.ToList()) { var shipmentProduct = new tbl_ShipmentProducts { ID = Guid.NewGuid(), Amount = product.Amount, AnyProductName = product.AnyProductName, CurrencyAmount = product.CurrencyAmount, CurrencyDiscountAmount = product.CurrencyDiscountAmount, CurrencyID = product.CurrencyID, CurrencyPrice = product.CurrencyPrice, CurrencyTotalAmount = product.CurrencyTotalAmount, Discount = product.Discount, DiscountAmount = product.DiscountAmount, Price = product.Price, PriceListID = product.PriceListID, ProductID = product.ProductID, Quantity = product.Quantity, Rate = product.Rate, SerialNumber = product.SerialNumber, ShipmentID = shipment.ID, SpecialOfferPriceListID = product.SpecialOfferPriceListID, TaskID = product.TaskID, TotalAmount = product.TotalAmount, UnitID = product.UnitID }; shipment.tbl_ShipmentProducts.Add(shipmentProduct); } _dataManager.Shipment.Add(shipment); Response.Redirect(UrlsData.AP_ShipmentEdit(shipment.ID)); }