public int Create(WareDocument document, int WareID, decimal UnitQuantity, decimal?SecondaryUnitQuantity, decimal PriceForUnit, decimal?DiscountForUnit, decimal?EndPriceForUnit, decimal EndPrice, int CurrencyID) { int result = 1; int userId = Compas.Logic.Security.CurrentSecurityContext.Identity.ID; WareDocumentDetail sr = new WareDocumentDetail(); sr.WareID = WareID; sr.UnitQuantity = UnitQuantity; if (SecondaryUnitQuantity != null) { sr.SecondaryUnitQuantity = Convert.ToDecimal(SecondaryUnitQuantity); } sr.DiscountForUnit = DiscountForUnit; sr.CurrencyID = CurrencyID; context.AddToWareDocumentDetails(sr); WareRemainsLogic remainsLogic = new WareRemainsLogic(manager); //remainsLogic.UpdateCurrentRemainByDocumentDetail(sr); return(result); }
public void SaveDocumentWithDetails(WareDocument Document, List <WareDocumentDetail> Details, string Mode) { //System.Data.Objects.DataClasses.IEntityWithChangeTracker changeTracker0 = Document; //changeTracker0.SetChangeTracker(null); foreach (WareDocumentDetail detail in Details) { //придодаванні detail виникала помилка, яку не знав як швидко виправити //тому створюємо новий обєкт класу WareDocumentDetail WareDocumentDetail d = new WareDocumentDetail(); d.CurrencyID = Document.CurrencyID; d.DiscountForUnit = detail.DiscountForUnit; d.EndPrice = detail.EndPrice; d.EndPriceForUnit = detail.EndPriceForUnit; d.PriceForUnit = detail.PriceForUnit; d.SecondaryUnitQuantity = detail.SecondaryUnitQuantity; d.UnitQuantity = detail.UnitQuantity; d.WareID = detail.WareID; Document.WareDocumentDetails.Add(d); context.AddToWareDocumentDetails(d); } if (Mode == "new") { if (Document.Number.Trim().Length == 0) { Document.Number = Document.CreatedDate.ToString("yyyyMMddHHmmss"); } context.AddToWareDocuments(Document); } }