internal CostEstimate GetCostEstimateFor(Carrier carrier, Invoice invoice, Dimensions dimensions, float[] parcelWeights) { int numParcels = parcelWeights.Length; CostEstimate estimate = new CostEstimate(); double weightTotal = 0.0f, sizeTotal = 0.0f; string new_temp_city = invoice.InvoiceCustomer.City; int parcelNumber = 1; //int numSizeWeights = txtBox_input_dimensions.Text == "" ? 0 : txtBox_input_dimensions.Text.Split('/').Length; // Split the weights and do separate checks for each foreach (float weight in parcelWeights) { if (weight > MAXIMUM_WEIGHT) { throw new PricingException($"Parcel weight is larger than {MAXIMUM_WEIGHT}KGs!"); } Parcel p = new Parcel(weight, parcelNumber, 0.0d, numParcels); p.Size = dimensions; API.InvoicesAPI.AddParcelToInvoice(invoice, p); float sizeWeight = p.getSizeWeight() * carrier.DimensionWeightRate; weightTotal += GetCostEstimate(carrier, p, invoice); sizeTotal += sizeWeight == 0 ? 0.0f : GetCostEstimateByWeight(sizeWeight, carrier, p, invoice); parcelNumber++; } return estimate; }
public IActionResult Create([FromBody] CostEstimate costEstimate) { var res = _costEstimate.add(costEstimate); if (res == true) { return(CreatedAtRoute("CostEstimateById", new { Controller = "CostEstimate", id = costEstimate.CostEstimateId }, costEstimate)); } return(StatusCode(500)); }
public bool add(CostEstimate costEstimate) { try { _context.CostEstimates.Add(costEstimate); _context.SaveChanges(); } catch (Exception e) { Console.WriteLine(e.StackTrace); return(false); } return(true); }
public bool update(int id, CostEstimate costEstimate) { costEstimate.CostEstimateId = id; try { _context.CostEstimates.Update(costEstimate); _context.SaveChanges(); } catch (Exception e) { Console.WriteLine(e.StackTrace); return(false); } return(true); }
private async Task GetCostEstimate(BasicGeoposition start, BasicGeoposition end, LyftConstants.RideType rideType) { var costEstimates = await AppConstants.ShyftClient.RetrieveRideEstimates(start.Latitude, start.Longitude, end.Latitude, end.Longitude, rideType); foreach (var costEstimate in costEstimates) { if (costEstimate.RideType == rideType) { currentCostEstimate = costEstimate; costTextBlock.Text = string.Empty; if (!costEstimate.IsValidEstimate) { costTextBlock.Text = "Unknown cost!\n"; } else { costTextBlock.Text = $"${costEstimate.EstimatedCostCentsMin / 100f}"; if (costEstimate.EstimatedCostCentsMin != costEstimate.EstimatedCostCentsMax) { costTextBlock.Text += $" - ${costEstimate.EstimatedCostCentsMax / 100f}"; } } if (costEstimate.PrimetimePercentage != "0%") { costTextBlock.Text += $"\nPrimetime: {costEstimate.PrimetimePercentage}"; } TimeSpan timeEstimate = TimeSpan.FromSeconds(costEstimate.EstimatedDurationSeconds); costTextBlock.Text += $"\n{Math.Round(timeEstimate.TotalMinutes)} min"; costTextBlock.Text += $"\n{costEstimate.EstimatedDistanceMiles} miles"; break; } } }
public IActionResult Update(int id, [FromBody] CostEstimate costEstimate) { return(_costEstimate.update(id, costEstimate) ? new NoContentResult() : StatusCode(500)); }