/// <summary> /// Creates the charge lines from a charge info collection and calculates the shipping charge amount from charge lines. /// </summary> /// <param name="chargeInfoCollection">The charge info collection.</param> /// <param name="shippingChargeCode">The shipping charge code.</param> /// <param name="beginDateTime">The begin date time of order.</param> /// <param name="shippingChargeAmount">The amount of shipping charges.</param> /// <returns>The shipping charge amount.</returns> private static List <ChargeLine> CreateChargeLines(IEnumerable <ChargeInfo> chargeInfoCollection, string shippingChargeCode, DateTimeOffset beginDateTime, out decimal shippingChargeAmount) { List <ChargeLine> chargeLines = new List <ChargeLine>(); shippingChargeAmount = decimal.Zero; foreach (ChargeInfo charge in chargeInfoCollection) { ChargeLine chargeLine = SalesOrderHelper.CreateChargeLine(charge); if (!chargeLine.BeginDateTime.IsValidAxDateTime()) { chargeLine.BeginDateTime = beginDateTime.UtcDateTime; } if (!chargeLine.EndDateTime.IsValidAxDateTime()) { chargeLine.EndDateTime = DateTimeOffsetExtensions.AxMaxDateValue.UtcDateTime; } chargeLines.Add(chargeLine); if (chargeLine.ChargeCode.Equals(shippingChargeCode, StringComparison.OrdinalIgnoreCase)) { shippingChargeAmount += chargeLine.CalculatedAmount; } } return(chargeLines); }
public static void Delete(ChargeLine instance) { var db = new DefaultConnection(); db.OrderLines.Remove(new LineViewModel(instance)); db.SaveChanges(); }
private static ChargeLine addChargeLine(LineViewModel l) { var o = new ChargeLine(); l.Update(o); return(o); }
public override void Execute() { var components = ChargeLine.Split("|"); var otherCost = new OtherCost(); otherCost.InvoiceNumber = components[1]; Record = otherCost; }
public void Update(ChargeLine line) { line.ExpectedDeliveryDate = ExpectedDeliveryDate; line.UniqueId = UniqueId; line.OrderId = OrderId; line.OrderLineId = OrderLineId; line.Comment = Comment; line.Amount = Amount; }
public LineEditModel(ChargeLine line) { ExpectedDeliveryDate = line.ExpectedDeliveryDate; UniqueId = line.UniqueId; OrderLineId = line.OrderLineId; OrderId = line.OrderId; Comment = line.Comment; Amount = line.Amount; }
public void AddChargeLineTest() { var fakeChargeLineOne = new ChargeLine(); var fakeChargeLineTwo = new ChargeLine(); M.AddChargeLine(fakeChargeLineOne); Assert.AreEqual(1, ChargeLines.Instance.Count); M.AddChargeLine(fakeChargeLineTwo); Assert.AreEqual(2, ChargeLines.Instance.Count); }
public LineViewModel(ChargeLine line) { ExpectedDeliveryDate = line.ExpectedDeliveryDate; LineType = line.GetType().Name; UniqueId = line.UniqueId; OrderId = line.OrderId; OrderLineId = line.OrderLineId; Comment = line.Comment; Amount = line.Amount; }
public void RemoveChargeLineTest() { var fakeChargeLineOne = ChargeLine.Random(); var fakeChargeLineTwo = ChargeLine.Random(); Obj.AddChargeLine(fakeChargeLineOne); Obj.AddChargeLine(fakeChargeLineTwo); Assert.AreEqual(2, OrderLines.Instance.Count); Obj.RemoveChargeLine(fakeChargeLineOne); Assert.AreEqual(1, OrderLines.Instance.Count); }
public ActionResult CreateChargeLine( [Bind(Include = "UniqueId, OrderId, OrderLineId, ExpectedDeliveryDate, Amount, Comment")] LineEditModel k) { if (!ModelState.IsValid) { return(View("EditChargeLine", k)); } var line = new ChargeLine(); k.Update(line); OrderLines.Instance.Add(line); return(RedirectToAction("OrderDetails", "Order", new { id = k.OrderId })); }
public void RemoveChargeLineTest() { var fakeChargeLineOne = new ChargeLine(); fakeChargeLineOne.id = new OrderLineIdentifier(); var fakeChargeLineTwo = new ChargeLine(); fakeChargeLineTwo.id = new OrderLineIdentifier(); M.AddChargeLine(fakeChargeLineOne); M.AddChargeLine(fakeChargeLineTwo); Assert.AreEqual(2, ChargeLines.Instance.Count); M.RemoveChargeLine(fakeChargeLineOne.id); Assert.AreEqual(1, ChargeLines.Instance.Count); }
private SingleEntityDataServiceResponse <ChargeLine> GetChargeDetails(GetChargeLinesDataRequest request) { ThrowIf.Null(request, "request"); ThrowIf.Null(request.QueryResultSettings, "request.QueryResultSettings"); ThrowIf.Null(request.ChargeCode, "request.ChargeCode"); ChargeL2CacheDataStoreAccessor level2CacheDataAccessor = this.GetChargeL2CacheDataStoreAccessor(request.RequestContext); bool found; bool updateL2Cache; string dataAreaId = request.RequestContext.GetChannelConfiguration().InventLocationDataAreaId; ChargeLine result = DataManager.GetDataFromCache(() => level2CacheDataAccessor.GetChargeDetails(dataAreaId, request.ChargeCode, request.ChargeModule, request.QueryResultSettings), out found, out updateL2Cache); if (!found) { var query = new SqlPagedQuery(request.QueryResultSettings) { From = ChargesView, Where = "MARKUPCODE = @MarkupCode AND MODULETYPE = @ModuleType And DATAAREAID = @DataAreaId" }; query.Parameters["@MarkupCode"] = request.ChargeCode; query.Parameters["@ModuleType"] = request.ChargeModule; query.Parameters["@DataAreaId"] = dataAreaId; using (DatabaseContext databaseContext = new DatabaseContext(request.RequestContext)) { result = databaseContext.ReadEntity <ChargeLine>(query).FirstOrDefault(); } if (result == null) { result = new ChargeLine(); } updateL2Cache &= result != null; } if (updateL2Cache) { level2CacheDataAccessor.PutChargeDetails(dataAreaId, request.ChargeCode, request.ChargeModule, request.QueryResultSettings, result); } return(new SingleEntityDataServiceResponse <ChargeLine>(result)); }
/// <summary> /// Create a charge line from the charge info object. /// </summary> /// <param name="charge">The charge info object.</param> /// <returns>The created charge line.</returns> private static ChargeLine CreateChargeLine(ChargeInfo charge) { var lineCharge = new ChargeLine { NetAmount = charge.Amount, CalculatedAmount = charge.Amount, NetAmountPerUnit = charge.Amount, Quantity = 1, ChargeCode = charge.Code ?? string.Empty, SalesTaxGroupId = charge.SalesTaxGroup ?? string.Empty, ItemTaxGroupId = charge.TaxGroup ?? string.Empty, ModuleType = ChargeModule.Sales, ChargeType = ChargeType.ManualCharge, GrossAmount = charge.Amount, NetAmountWithAllInclusiveTax = charge.Amount }; return(lineCharge); }
public ChargeLineDetailsViewModel(ChargeLine chargeline) { UniqueId = chargeline.UniqueId; Amount = chargeline.Amount; }
private static void CalculateTaxForCharge(ChargeLine charge) { ChargeLineTotaler.CalculateTax(charge); }