private static void CountExportFormTotals(List <Ingredient> ingredients, CigaretteExportForm form) { form.Ingredients = ingredients.OrderBy(x => { IPRIngredient y = x as IPRIngredient; if (y == null) { return(" "); } else { return(y.DocumentNoumber); } }).ToArray(); form.IPTMaterialQuantityTotal = 0; form.RegularMaterialQuantityTotal = 0; form.IPTDutyVatTotals = new TotalAmountOfMoney(); foreach (Ingredient _item in ingredients) { if (_item is IPRIngredient) { IPRIngredient _iprItem = (IPRIngredient)_item; form.IPTMaterialQuantityTotal += _iprItem.TobaccoQuantity; form.IPTDutyVatTotals.Add(new AmountOfMoney(_iprItem.TobaccoValue, _iprItem.Duty, _iprItem.VAT, _iprItem.Currency)); } else { RegularIngredient _rglrItem = (RegularIngredient)_item; form.RegularMaterialQuantityTotal += _rglrItem.TobaccoQuantity; } } form.IPTMaterialQuantityTotal = form.IPTMaterialQuantityTotal.RountMass(); form.IPTDutyVatTotals.AssignTotals(); form.RegularMaterialQuantityTotal = form.RegularMaterialQuantityTotal.RountMass(); }
private static void ExportMaterial(Entities entities, Material material, List <Ingredient> formsList, bool closingBatch, InvoiceContent invoiceContent, int sadConsignmentNumber, NamedTraceLogger.TraceAction trace) { trace("Entering FinishedGoodsFormFactory.ExportMaterial", 171, TraceSeverity.Verbose); string _at = "Beginning"; try { if (material.ProductType.Value == IPR.WebsiteModel.Linq.ProductType.IPRTobacco) { List <Disposal> _dspsls = new List <Disposal>(); material.Export(entities, closingBatch, invoiceContent, _dspsls, sadConsignmentNumber, trace); foreach (Disposal _dx in _dspsls) { formsList.Add(GetIPRIngredient(_dx)); } } else if (material.ProductType.Value == IPR.WebsiteModel.Linq.ProductType.Tobacco) { _at = "RegularIngredient"; RegularIngredient _ri = new RegularIngredient(material.Batch, material.SKU, Convert.ToDouble(material.CalculatedQuantity(invoiceContent))); formsList.Add(_ri); } } catch (ApplicationError _ae) { throw _ae; } catch (Exception _ex) { string _ms = "Cannot proceed with export of Material: {0} because of error: {1}."; _ms = String.Format(_ms, material.Material2BatchIndex.Title, _ex.Message); trace("ApplicationError at FinishedGoodsFormFactory.ExportMaterial: " + _ms + "StackTrace: " + _ex.StackTrace, 141, TraceSeverity.Verbose); throw new ApplicationError("Material.Export", _at, _ms, _ex); } }