}//End of BtnPrintDetails_Click(..) private void BtnComplete_Click(object sender, EventArgs e) { _myOrder = _myOrderManager.GetOrderByID(_myOrderId); _myOrder.ShippingOrderLineItemList = _myOrderDetails.GetLineItemsByID(_myOrderId); Boolean success = _myOrderManager.UpdatePickedTrue(_myOrder); Boolean success2 = _myOrderManager.ClearUserId(_myOrderManager.GetOrderByID(_myOrderId)); if (success == true && success2 == true) { if (lvItemsForPick.Items.Count.Equals(0)) { Close(); MessageBox.Show("Order has been sent to shipping.", "Pick Complete"); } } else { if (success == false) { MessageBox.Show("Error picking order.", "Pick Fail"); } if (success == false) { MessageBox.Show("Error shifting ownership.", "Ownership Change Fail"); } } }//End of BtnComplete_Click(..)
}//End PopulatePackListView(..) private void btnPackComplete_Click(object sender, EventArgs e) { ListView.SelectedListViewItemCollection selectedOrder = this.lvPackList.SelectedItems; try { int selectedOrderId = Convert.ToInt32(selectedOrder[0].SubItems[0].Text); ShippingOrder currentOrder = _myOrderManager.GetOrderByID(selectedOrderId); currentOrder.ShippingOrderLineItemList = _shippingLineItemMan.GetLineItemsByID(selectedOrderId); Boolean success = _myOrderManager.UpdateShippedDate(currentOrder); _myOrderManager.UpdateUserId(currentOrder, _myAccessToken.UserID); if (success == true) { MessageBox.Show("Now Printing Pack Slip", "Packing Complete"); RefreshPackView(); frmPrintPackReport packReport = new frmPrintPackReport(currentOrder, _myAccessToken); packReport.ShowDialog(); packReport = null; } else { MessageBox.Show("Cannot complete action.", "Refreshing"); RefreshPackView(); } } catch (ArgumentOutOfRangeException) { MessageBox.Show("Please select an order from the list", "No Order Selected"); } }//End btnPackComplete_Click(..)
}//End PopulateMasterListView(..) private void btnClearUser_Click(object sender, EventArgs e) { ListView.SelectedListViewItemCollection selectedOrder = this.lvAllOrders.SelectedItems; try { int selectedOrderId = Convert.ToInt32(selectedOrder[0].SubItems[0].Text); ShippingOrder currentOrder = _myOrderManager.GetOrderByID(selectedOrderId); if (currentOrder.Picked == true && currentOrder.UserId.HasValue) { MessageBox.Show("That order has already been shipped.", "Cannot Change Employee"); } else { Boolean success = _myOrderManager.ClearUserId(currentOrder); if (success == true) { PopulateMasterListView(lvAllOrders, _myOrderManager.GetAllShippingOrders()); } else { MessageBox.Show("Cannot complete operation.", "Operation Failed"); } } } catch (ArgumentOutOfRangeException) { MessageBox.Show("Please select an order from the list", "No Order Selected"); } }//btnClearUser_Click(..)
}//End of btnPackComplete_Click(..) private void btnClearUser_Click(object sender, EventArgs e) { try { int selectedOrderId = (int)this.lvAllOrders.SelectedIndices[0] + 1; ShippingOrder currentOrder = _myOrderManager.GetOrderByID(selectedOrderId); if (currentOrder.Picked == true && currentOrder.UserId.HasValue) { MessageBox.Show("That order has already been shipped.", "Cannot Change Employee"); } else { Boolean success = _myOrderManager.ClearUserId(currentOrder); if (success == true) { RefreshOrderViews(); } else { MessageBox.Show("Cannot complete operation.", "Operation Failed"); } } } catch (ArgumentOutOfRangeException) { MessageBox.Show("Please select an order from the list", "No Order Selected"); } }//End of btnClearUser_Click(..)
private void btnStartPick_Click(object sender, EventArgs e) { try { int selectedOrder = (int)this.lvPickList.SelectedIndices[0] + 1; ShippingOrder myOrder = _myOrderManager.GetOrderByID(selectedOrder); if (myOrder.UserId.HasValue) { MessageBox.Show("Ownership belongs to another", "Already Assigned"); } else { Boolean success = _myOrderManager.UpdateUserId(myOrder, _myAccessToken.UserID); if (success == true) { RefreshOrderViews(); InitPick(selectedOrder); } else { MessageBox.Show("Ownership of pick to you has failed", "Assignment Failed"); RefreshOrderViews(); } } } catch (ArgumentOutOfRangeException) { MessageBox.Show("Please select an order from the list", "No Order Selected"); } }//End btnStartPick(..)
public void It_Should_Discount_Cheapest_Small_Parcel_When_At_Lest_Four_Small_Parcels() { var expectedDiscountParcel = new Parcel(5, 9, 1); var parcels = new List <Parcel> { new Parcel(5, 9, 10), new Parcel(5, 9, 30), expectedDiscountParcel, new Parcel(5, 9, 10), new Parcel(5, 9, 31), }; var underTest = new ShippingOrder(parcels, shippingRatesByCode); Assert.Equal(expectedDiscountParcel.TotalPrice, underTest.TotalDiscount); Assert.Contains(parcels[0], underTest.Discounts[0].Parcels); Assert.Contains(parcels[1], underTest.Discounts[0].Parcels); Assert.Contains(parcels[2], underTest.Discounts[0].Parcels); Assert.Contains(parcels[3], underTest.Discounts[0].Parcels); Assert.DoesNotContain(parcels[4], underTest.Discounts[0].Parcels); var expectedOrderTotal = parcels.Sum(parcel => parcel.TotalPrice) - expectedDiscountParcel.TotalPrice; Assert.Equal(expectedOrderTotal, underTest.TotalPrice); }
public void It_Should_Apply_Multiple_Discounts_Wiht_Parcels_Used_Only_Once_Per_Discount() { var discountedParcelOne = new Parcel(30, 30, 1); var discountedParcelTwo = new Parcel(30, 30, 4); var parcels = new List <Parcel> { discountedParcelOne, discountedParcelTwo, new Parcel(30, 30, 5), new Parcel(30, 30, 6), new Parcel(30, 30), new Parcel(30, 30), }; var underTest = new ShippingOrder(parcels, shippingRatesByCode); var expectedTotalDiscount = discountedParcelOne.TotalPrice + discountedParcelTwo.TotalPrice; Assert.Equal(expectedTotalDiscount, underTest.TotalDiscount); Assert.Contains(parcels[0], underTest.Discounts[0].Parcels); Assert.Contains(parcels[4], underTest.Discounts[0].Parcels); Assert.Contains(parcels[5], underTest.Discounts[0].Parcels); Assert.Contains(parcels[1], underTest.Discounts[1].Parcels); Assert.Contains(parcels[2], underTest.Discounts[1].Parcels); Assert.Contains(parcels[3], underTest.Discounts[1].Parcels); }
public static List <CLSPackDetails> FetchCLSPackDetails(ShippingOrder order, SqlConnection myConnection) { List <CLSPackDetails> reportLines = new List <CLSPackDetails>(); SqlConnection conn = myConnection; try { conn.Open(); SqlCommand cmd = new SqlCommand("proc_GetCLSPackDetails", conn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@ShippingOrderId", order.ID); SqlDataReader reader = cmd.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { var reportLine = new CLSPackDetails(reader.GetInt32(0)) { ShippingTermId = reader.GetInt32(1), ShippingVendorId = reader.GetInt32(2), ShippingDescription = reader.GetString(3), ShippingVendorName = reader.IsDBNull(4) ? "" : reader.GetString(4), ShippingTermDescription = reader.GetString(5), ProductId = reader.GetInt32(6), ProductName = reader.GetString(7), Quantity = reader.GetInt32(8), ShipDate = reader.GetDateTime(9), ShipToName = reader.IsDBNull(10) ? "" : reader.GetString(10), ShipToAddress = reader.IsDBNull(11) ? "" : reader.GetString(11), ShipToCity = reader.IsDBNull(12) ? "" : reader.GetString(12), ShipToState = reader.IsDBNull(13) ? "" : reader.GetString(13), ShipToZip = reader.IsDBNull(14) ? "" : reader.GetString(14) }; reportLines.Add(reportLine); } } reader.Close(); } catch (DataException ex) { Console.WriteLine(ex.Message); throw new ApplicationException(Messeges.GetMessage("DatabaseException"), ex); } catch (SqlException ex) { Console.WriteLine(ex.Message); throw new ApplicationException(Messeges.GetMessage("SqlException"), ex); } catch (Exception ex) { Console.WriteLine(ex.Message); throw new ApplicationException(Messeges.GetMessage("Exception"), ex); } finally { conn.Close(); } return(reportLines); }// End FetchCLSPackDetails(.)
} //end AddShippingOrder public static bool UpdateShippingOrder(ShippingOrder shippingOrder, ShippingOrder origShippingOrder, SqlConnection myConnection) { myConnection = myConnection ?? GetInventoryDbConnection(); try { var mySqlCommand = new SqlCommand("proc_UpdateShippingOrder", myConnection) { CommandType = CommandType.StoredProcedure }; mySqlCommand.Parameters.AddWithValue("@purchaseOrderID", shippingOrder.PurchaseOrderId); mySqlCommand.Parameters.AddWithValue("@userID", shippingOrder.UserId ?? Convert.DBNull); //could be null mySqlCommand.Parameters.AddWithValue("@picked", shippingOrder.Picked ? 1 : 0); mySqlCommand.Parameters.AddWithValue("@shipDate", (shippingOrder.ShipDate) ?? Convert.DBNull); mySqlCommand.Parameters.AddWithValue("@shippingTermID", shippingOrder.ShippingTermId); mySqlCommand.Parameters.AddWithValue("@shipToName", shippingOrder.ShipToName ?? Convert.DBNull); mySqlCommand.Parameters.AddWithValue("@shipToAddress", shippingOrder.ShipToAddress ?? Convert.DBNull); mySqlCommand.Parameters.AddWithValue("@shipToCity", shippingOrder.ShipToCity ?? Convert.DBNull); mySqlCommand.Parameters.AddWithValue("@shipToState", shippingOrder.ShipToState ?? Convert.DBNull); mySqlCommand.Parameters.AddWithValue("@shipToZip", shippingOrder.ShipToZip ?? Convert.DBNull); mySqlCommand.Parameters.AddWithValue("@orig_ShippingOrderID", origShippingOrder.ID); mySqlCommand.Parameters.AddWithValue("@orig_PurchaseOrderID", origShippingOrder.PurchaseOrderId); mySqlCommand.Parameters.AddWithValue("@orig_UserID", origShippingOrder.UserId ?? Convert.DBNull); mySqlCommand.Parameters.AddWithValue("@orig_Picked", origShippingOrder.Picked ? 1 : 0); mySqlCommand.Parameters.AddWithValue("@orig_ShipDate", (origShippingOrder.ShipDate) ?? Convert.DBNull); mySqlCommand.Parameters.AddWithValue("@orig_ShippingTermID", origShippingOrder.ShippingTermId); mySqlCommand.Parameters.AddWithValue("@orig_ShipToName", origShippingOrder.ShipToName ?? Convert.DBNull); mySqlCommand.Parameters.AddWithValue("@orig_ShipToAddress", origShippingOrder.ShipToAddress ?? Convert.DBNull); mySqlCommand.Parameters.AddWithValue("@orig_ShipToCity", origShippingOrder.ShipToCity ?? Convert.DBNull); mySqlCommand.Parameters.AddWithValue("@orig_ShipToState", origShippingOrder.ShipToState ?? Convert.DBNull); mySqlCommand.Parameters.AddWithValue("@orig_ShipToZip", origShippingOrder.ShipToZip ?? Convert.DBNull); myConnection.Open(); if (mySqlCommand.ExecuteNonQuery() == 1) { return(true); } } catch (DataException ex) { Console.WriteLine(ex.Message); throw new ApplicationException(Messeges.GetMessage("DatabaseException"), ex); } catch (SqlException ex) { Console.WriteLine(ex.Message); throw new ApplicationException(Messeges.GetMessage("SqlException"), ex); } catch (Exception ex) { Console.WriteLine(ex.Message); throw new ApplicationException(Messeges.GetMessage("Exception"), ex); } finally { myConnection.Close(); } return(false); } // end UpdateShippingOrder(...)
public ActionResult Confirm(FormCollection collection) { string str = collection["checkitem"]; string[] strDelete = str.Split(','); foreach (var i in strDelete) { if (i != "false") { string[] str_arr = i.Split('_'); int value = int.Parse(str_arr[0]); Order _order = db.Orders.FirstOrDefault(x => x.Id == value); _order.Status = true; //db.SaveChanges(); ShippingOrder ShippingOrder = new ShippingOrder { ID = "S" + DateTime.Now.ToString("yyyyMMdd") + str_arr[0], OrderID = str_arr[1], Status = "New", CreatedDateTime = DateTime.Now }; db.ShippingOrders.Add(ShippingOrder); db.SaveChanges(); } } return(Redirect("Index")); }
public ActionResult ShippingOrderDestroy([DataSourceRequest] DataSourceRequest request, ShippingOrder shippingorders) { BL.ShippingOrders blShippingOrders = new BL.ShippingOrders(); ShippingOrder model = blShippingOrders.SoftDelete(shippingorders); return(Json(new[] { model }.ToDataSourceResult(request, ModelState), JsonRequestBehavior.AllowGet)); }
static void Main(string[] args) { try { // this method takes information from user and converts it to appropriate format for calling api ShippingOrder shippingData = GetShippingInfoFromUser(); // this methods gets companies info from DB and call their api's GetCompaniesInfoFromDB(); foreach (CompanyInfo companyInfo in companyList) { // first we must convert the input data to API input format string convertedShippingData = ConvertShippingDataToAPIFormat(companyInfo.InputFormat, shippingData); // if convertedShippingData is empty it means we problem with converting data, so no need to call api, just log the error for trouble shooting if (convertedShippingData == string.Empty) { Console.WriteLine($" Error ConvertShippingDataToAPIFormat {companyInfo.InputFormat}"); continue; } CallCompaniesWebApi(companyInfo, convertedShippingData).Wait(); } Console.WriteLine($"The best Price belong to {selectedCompany.CompanyName} , the price is {selectedCompany.Price}"); } catch (Exception ex) { Console.WriteLine($"Freight App exception: {ex.ToString()}"); } }
// Identify device to shipping order public ShippingOrder identifyDevice(String username_ad, String password_ad, ShippingOrder soc, string serial_number, int tp_id, int model_id) { Authentication_class var_auth = new Authentication_class(); AuthenticationHeader authHeader = var_auth.getAuthHeader(username_ad, password_ad); AsmRepository.SetServiceLocationUrl(var_auth.var_service_location_url); //var docmService = AsmRepository.GetServiceProxy<IDocumentManagementService>(authHeader); var soService = AsmRepository.AllServices.GetOrderManagementService(authHeader); var faService = AsmRepository.AllServices.GetFinanceService(authHeader); var sbService = AsmRepository.AllServices.GetSandBoxManagerService(authHeader); var agService = AsmRepository.AllServices.GetAgreementManagementService(authHeader); var deviceService = AsmRepository.AllServices.GetDevicesService(authHeader); var viewfService = AsmRepository.AllServices.GetViewFacadeService(authHeader); try { var so_lineitem = soc.ShippingOrderLines.Items.Find(t => t.TechnicalProductId == tp_id); if (so_lineitem == null) { //Console.WriteLine("Can't find techinical product with id : " + tp_id + " in shipping order with id : " + soc.Id.Value); return(null); } var buildlist = new BuildList { OrderLineId = so_lineitem.Id, OrderId = soc.Id, ModelId = model_id, StockHandlerId = soc.ShipFromStockHandlerId, TransactionType = BuildListTransactionType.ShippingSerializedProducts }; var b_build_list = deviceService.CreateBuildList(buildlist); var d_a_list = deviceService.AddDeviceToBuildListManually(b_build_list.Id.Value, serial_number); if (d_a_list.Accepted.Value) { var dblist = deviceService.PerformBuildListAction(b_build_list.Id.Value); } else { //Console.WriteLine("Failed to attach decoder with SN : " + serial_number + " to Shipping Order : Error : " + d_a_list.Error); return(null); } return(soc); } catch (Exception ex) { //msg = "Errors : " + ex.Message + " ------ Exception Stack : " + ex.StackTrace; //Console.WriteLine("Errors : " + ex.Message); //Console.WriteLine("Stack : " + ex.StackTrace); //logger.Error(msg); return(null); } }
public HttpResponseMessage GetShippingOrderById(String username_ad, String password_ad, int id) { Authentication_class var_auth = new Authentication_class(); AuthenticationHeader ah = var_auth.getAuthHeader(username_ad, password_ad); AsmRepository.SetServiceLocationUrl(var_auth.var_service_location_url); var TSService = AsmRepository.GetServiceProxyCachedOrDefault <IOrderManagementService>(ah); BaseQueryRequest request = new BaseQueryRequest(); request.FilterCriteria = new CriteriaCollection(); request.FilterCriteria.Add(new Criteria("Id", id)); ShippingOrder servicetype = TSService.GetShippingOrder(id); if (servicetype != null) { return(Request.CreateResponse(HttpStatusCode.OK, servicetype)); } else { var message = string.Format("error"); HttpError err = new HttpError(message); return(Request.CreateResponse(HttpStatusCode.OK, message)); } }
}//End of PopulatePickListView(..) private void btnStartPick_Click(object sender, EventArgs e) { ListView.SelectedListViewItemCollection selectedOrder = this.lvPickList.SelectedItems; try { int selectedOrderId = Convert.ToInt32(selectedOrder[0].SubItems[0].Text); ShippingOrder myOrder = _myOrderManager.GetOrderByID(selectedOrderId); if (myOrder.UserId.Equals(_myAccessToken.Id)) { MessageBox.Show("Order is already in your 'My Orders' queue", "Action Unnecessary"); } else if (myOrder.UserId.HasValue) { MessageBox.Show("Order already belongs to another person", "Action Failed"); } else { Boolean success = _myOrderManager.UpdateUserId(myOrder, _myAccessToken.Id); if (success == true) { RefreshPickView(); InitPick(selectedOrderId); } else { MessageBox.Show("Ownership of pick to you has failed", "Assignment Failed"); RefreshPickView(); } } } catch (ArgumentOutOfRangeException) { MessageBox.Show("Please select an order from the list", "No Order Selected"); } }//End btnStartPick_Click(..)
public frmPrintPackReport(ShippingOrder order, AccessToken _myAccessToken) { InitializeComponent(); var RoleAccess = new RoleAccess(_myAccessToken, this); _currentOrder = order; Instance = this; }//frmPrintPackReport(.)
}//End of ClearShippedDate(.) public bool UpdateUserId(ShippingOrder order, int employeeID) { //If the UserId of the current ShippingOrder is the same value as the new value do not call the update procedure. { //Need to do error checking... Try/Catch. return(ShippingOrderDAL.AssignShippingOrder(order, employeeID, _connection)); } }//End of UpdateUserId..)
}//End of UpdatePickedTrue(.) //When would this be done? public bool UpdatePickedFalse(ShippingOrder order) { foreach (ShippingOrderLineItem item in order.ShippingOrderLineItemList) { prodMan.AddToAvailable(item.Quantity, item.ProductId); } //Need to do error checking... Try/Catch. return(ShippingOrderDAL.UnpickShippingOrder(order, _connection)); }//End of UpdatePickedFalse(.)
}//End of UpdateShippedDate(.) //When would this be done? public bool ClearShippedDate(ShippingOrder order) { //Need to do error checking... Try/Catch. foreach (ShippingOrderLineItem item in order.ShippingOrderLineItemList) { prodMan.AddToOnHand(item.Quantity, item.ProductId); } return(ShippingOrderDAL.UnshipShippingOrder(order, _connection)); }//End of ClearShippedDate(.)
}//End of UpdatePickedFalse(.) public bool UpdateShippedDate(ShippingOrder order) { //Need to do error checking... Try/Catch. foreach (ShippingOrderLineItem item in order.ShippingOrderLineItemList) { prodMan.RemoveFromOnHand(item.Quantity, item.ProductId); } return(ShippingOrderDAL.ShipShippingOrder(order, _connection)); //Need to update on-hand inventory for all line items once the shipped date is set. }//End of UpdateShippedDate(.)
public async Task <ActionResult> StatusTracking(string shippingTrackingNo) { ShippingOrder shippingOrder = await this.HttpContext.GetOwinContext().Get <CMSDbContext>().Set <ShippingOrder>().Where(x => x.TrackingId == shippingTrackingNo).FirstOrDefaultAsync(); if (shippingOrder == null || (this.User.IsInRole("Customer") && shippingOrder.ShipmentOwnerId != this.User.Identity.GetUserId())) { return(new HttpStatusCodeResult(404)); } return(View(new ShippingStatusViewModel { ShippingOrderId = shippingOrder.Id, ShippingStatus = shippingOrder.Status })); }
public void It_Should_Only_Charge_1kg_Per_Kg_Overweight_For_Heavy_Parcels() { var expectedCost = 51.00; var parcels = new List <Parcel> { new Parcel(5, 9, 51) }; var underTest = new ShippingOrder(parcels, shippingRatesByCode); Assert.Equal(expectedCost, underTest.TotalPrice); }
public async Task <ActionResult> Assignment(ShippingAssignmentViewModel model) { model.Containers = await this.HttpContext.GetOwinContext().Get <CMSDbContext>().Set <Container>().ToListAsync(); ShippingOrder shippingOrder = await this.HttpContext.GetOwinContext().Get <CMSDbContext>().Set <ShippingOrder>().FirstOrDefaultAsync(x => x.TrackingId == model.OrderTrackingId.ToString()); model.Items = shippingOrder.Items.ToList(); if (!ModelState.IsValid) { return(View(model)); } try { ShippingAssignment shippingAssignment = await this.HttpContext.GetOwinContext().Get <CMSDbContext>().Set <ShippingAssignment>().FirstOrDefaultAsync(x => x.ShippingOrderId == model.ShippingOrderId); if (shippingAssignment == null) { shippingAssignment = new ShippingAssignment(); this.HttpContext.GetOwinContext().Get <CMSDbContext>().Set <ShippingAssignment>().Add(new ShippingAssignment { ContainerId = model.ContainerId, ShippingOrderId = model.ShippingOrderId, }); if (shippingOrder != null) { shippingOrder.ActualTonnage = model.ActualWeight; } } else { shippingAssignment.ContainerId = model.ContainerId; shippingAssignment.ShippingOrder.ActualTonnage = model.ActualWeight; } shippingAssignment.AssignorId = this.User.Identity.GetUserId(); shippingAssignment.AssignedDateTime = DateTime.Now; await this.HttpContext.GetOwinContext().Get <CMSDbContext>().SaveChangesAsync(); model.Message = "Shipping assignment has been saved."; } catch (Exception ex) { model.Message = "Error occured. Failed to save shipping assignment."; } return(View(model)); }
}//End of Update(..) public bool UpdatePickedTrue(ShippingOrder order) { //Need to do error checking... Try/Catch. foreach (ShippingOrderLineItem item in order.ShippingOrderLineItemList) { prodMan.RemoveFromAvailable(item.Quantity, item.ProductId); } return(ShippingOrderDAL.PickShippingOrder(order, _connection)); //Should also clear the current UserId. //Can also call ShippingOrderDAL.UnpickShippingOrder... When would this be done? //If necessary add logic to determine which method is called. }//End of UpdatePickedTrue(.)
/// <summary> /// 新增配送訂單 /// </summary> /// <param name="orderId">訂單編號</param> public void InsertShippingOrder(string orderId) { ShippingOrder model = new ShippingOrder() { Id = this.GetShippingOrderSequence(), OrderId = orderId, Status = 1, CteatedAt = DateTime.Now }; ShippingOrderQueryBuilder builder = new ShippingOrderQueryBuilder(); string sql = builder.GetInsertShippingOrderSql(); this.ShippingOrderRepository.Execute(sql, model); }
private static ShippingOrder GetShippingInfoFromUser() { // we need to take the shipping info including source address, destination address // and package dimension from user and convert it to appropriate json or xml ShippingOrder shippingOrder = new ShippingOrder(); shippingOrder.SourceAddress = new Address(100, "Marine Dr", "Vancouver", "V3C YPZ"); shippingOrder.TargetAddress = new Address(200, "Marine Dr", "Toronto", "C4C YPZ"); shippingOrder.PackageDimension = new PackageDimension(20, 50, 30); return(shippingOrder); }
public void Should_Correctly_Total_The_Price_Of_An_Order() { var expectedCost = 51.00; var parcels = new List <Parcel> { new Parcel(5, 9), new Parcel(11, 49), new Parcel(5, 51), new Parcel(101, 9), }; var underTest = new ShippingOrder(parcels, shippingRatesByCode); Assert.Equal(expectedCost, underTest.TotalPrice); }
public void Should_Double_The_Price_Of_An_Order_When_Speedy_Shipping() { var expectedCost = 102.00; var parcels = new List <Parcel> { new Parcel(5, 9), new Parcel(11, 49), new Parcel(5, 51), new Parcel(101, 9), }; var underTest = new ShippingOrder(parcels, shippingRatesByCode, true); Assert.Equal(expectedCost, underTest.TotalPrice); }
public void Should_Include_The_Speedy_Shipping_Charge_When_Speedy_Shipping() { var expectedCost = 51.00; var parcels = new List <Parcel> { new Parcel(5, 9), new Parcel(11, 49), new Parcel(5, 51), new Parcel(101, 9), }; var underTest = new ShippingOrder(parcels, shippingRatesByCode, true); Assert.Equal(expectedCost, underTest.SpeedyShippingPrice); }
public void It_Should_Charge_An_Extra_2kg_For_A_Package_When_It_Is_Overweight() { var expectedCost = 59.00; var parcels = new List <Parcel> { new Parcel(5, 9, 2), new Parcel(11, 49, 4), new Parcel(5, 51, 7), new Parcel(101, 9, 11), }; var underTest = new ShippingOrder(parcels, shippingRatesByCode); Assert.Equal(expectedCost, underTest.TotalPrice); }