public void GetAllCustomersShouldReturnAllDataWhenDefaultValuesUsed() { // Arrange var interceptors = new DefaultRepositoryInterceptors(new NorthwindQueryRepositoryInterceptor()); var repository = new InMemoryRepository(interceptors); for (int i = 0; i < 15; i++) { repository.Add(EntityGenerator.Create<Customer>( p => p.CompanyName = p.CompanyName + i, p => p.CustomerID = i.ToString(), p => p.Orders.First().OrderDetails.First().Quantity = (short)i, p => p.Orders.First().OrderDetails.First().UnitPrice = 100.0M)); } // Act var ordersController = new OrdersController(repository); var results = ordersController.GetAllCustomers().Result; // Assert results.Count().ShouldEqual(15); for (int i = 0; i < 15; i++) { results.ElementAt(i).CustomerId.ShouldEqual(i.ToString()); results.ElementAt(i).CompanyName.ShouldEqual("CompanyName" + i); results.ElementAt(i).CombinedOrderValue.ShouldEqual(100 * i); } }
public OrdersControllerTests() { _amazonOrderService = A.Fake<IAmazonOrderService>(); _amazonAppSettings = A.Fake<AmazonAppSettings>(); _amazonOrderSearchService = A.Fake<IAmazonOrderSearchService>(); _ecommerceSettings = new SiteSettings() { DefaultPageSize = 10 }; _amazonOrderSyncService = A.Fake<IAmazonOrderSyncService>(); _ordersController = new OrdersController(_amazonOrderService,_amazonAppSettings, _amazonOrderSearchService,_ecommerceSettings,_amazonOrderSyncService); }
public void GetOrderWithId() { //Arrange var mock = new Mock<IOrderRepository>(); var controller = new OrdersController(mock.Object); mock.Setup(x => x.GetOrder(3)).Returns(new Order { id = 3 }); //Act var actionResult = controller.Get(3); //Assert Assert.IsNotNull(actionResult); Assert.AreEqual(3, actionResult.id); }
public void GetAllCustomersQueryShouldUseCorrectStrategies(int take, int skip, string orderBy, bool ascending, decimal? minOrderValue) { // Arrange var events = new RecordedRepositoryEvents(); var repository = new InMemoryRepository(events); // Act var notUsed = new OrdersController(repository).GetAllCustomers(take, skip, orderBy, ascending, minOrderValue).Result; // Assert var allStrategies = events.QueryEvents.Single().GetQueryStrategies(); allStrategies.Count().ShouldEqual(4); allStrategies.First().GetType().ShouldEqual(typeof(DefaultSpecificationQueryStrategy<AggregateCustomerSales>)); allStrategies.Second().GetType().ShouldEqual(typeof(ConditionalQueryStrategy)); allStrategies.Third().GetType().ShouldEqual(typeof(ConditionalQueryStrategy)); allStrategies.Fourth().GetType().ShouldEqual(typeof(ConditionalQueryStrategy)); }
public void GetVeryImportantCustomersShouldReturnCorrectData() { // Arrange var events = new RecordedRepositoryEvents(); var repository = new InMemoryRepository(events); var customerSales = Enumerable.Repeat(EntityGenerator.Create<AggregateCustomerSales>(), 20).ToList(); customerSales.ForEach(repository.Add); // Act var ordersController = new OrdersController(repository); var results = ordersController.GetVeryImportantCustomers().Result; // Assert results.Count().ShouldEqual(10); var allStrategies = events.QueryEvents.Single().GetQueryStrategies(); // check the strategies used in this call allStrategies.Count().ShouldEqual(2); allStrategies.First().GetType().ShouldEqual(typeof(DefaultSpecificationQueryStrategy<AggregateCustomerSales>)); allStrategies.Second().GetType().ShouldEqual(typeof(FindVeryImportantCustomersQueryStrategy)); }
public void GetCustomerOrderHistoryShouldReturnCorrectData() { // Arrange var events = new RecordedRepositoryEvents(); var repository = new InMemoryRepository(events); // Act var ordersController = new OrdersController(repository); var result = ordersController.GetCustomerOrderHistory("NotUsed").Result; result.Count().ShouldEqual(TestsEntityFrameworkRepositoryExtensions.CustomerOrderHistories.Count()); var allStrategies = events.QueryEvents.Single().GetQueryStrategies(); allStrategies.Count().ShouldEqual(3); allStrategies.First().GetType().ShouldEqual(typeof(DefaultSpecificationQueryStrategy<CustomerOrderHistory>)); allStrategies.Second().GetType().ShouldEqual(typeof(CustomerOrderHistoryStoredProcQueryStrategy)); allStrategies.Third().GetType().ShouldEqual(typeof(ConditionalQueryStrategy)); }
private void bwLoadData_DoWork(object sender, DoWorkEventArgs e) { insockMaterialList = InsockMaterialController.Select(); orderList = OrdersController.SelectByOutsoleMaterial(); insockSupplierList = InsockSuppliersController.Select(); insockRawMaterialList = InsockRawMaterialController.Select(); List <String> lastCodeList = orderList.Select(o => o.LastCode).Distinct().ToList(); foreach (string lastCode in lastCodeList) { var productNoList = orderList.Where(w => w.LastCode == lastCode).Select(s => s.ProductNo).Distinct().ToList(); var insockMaterialList_D1 = insockMaterialList.Where(w => productNoList.Contains(w.ProductNo)).ToList(); var supplierPerLastCode = insockMaterialList_D1.Select(s => s.InsockSupplierId).Distinct().ToList(); suppIdShowInGridviewList.AddRange(supplierPerLastCode); } suppIdShowInGridviewList = suppIdShowInGridviewList.Distinct().OrderBy(s => s).ToList(); DataTable dt = new DataTable(); Dispatcher.Invoke(new Action(() => { dt.Columns.Add("LastCode", typeof(String)); DataGridTextColumn columnLastCode = new DataGridTextColumn(); columnLastCode.Header = "Last Code"; columnLastCode.Binding = new Binding("LastCode"); columnLastCode.FontWeight = FontWeights.Bold; dgInsockDelivery.Columns.Add(columnLastCode); Binding bindingWidth1 = new Binding(); bindingWidth1.Source = columnLastCode; bindingWidth1.Path = new PropertyPath("ActualWidth"); ColumnDefinition cd1 = new ColumnDefinition(); cd1.SetBinding(ColumnDefinition.WidthProperty, bindingWidth1); gridTotal.ColumnDefinitions.Add(cd1); dt.Columns.Add("Quantity", typeof(Int32)); DataGridTextColumn columnQuantity = new DataGridTextColumn(); columnQuantity.Header = "Quantity"; columnQuantity.Binding = new Binding("Quantity"); dgInsockDelivery.Columns.Add(columnQuantity); Binding bindingWidth2 = new Binding(); bindingWidth2.Source = columnQuantity; bindingWidth2.Path = new PropertyPath("ActualWidth"); ColumnDefinition cd2 = new ColumnDefinition(); cd2.SetBinding(ColumnDefinition.WidthProperty, bindingWidth2); gridTotal.ColumnDefinitions.Add(cd2); dt.Columns.Add("Reject", typeof(Int32)); DataGridTextColumn column4 = new DataGridTextColumn(); column4.Header = "Reject"; column4.Binding = new Binding("Reject"); dgInsockDelivery.Columns.Add(column4); Binding bindingWidth4 = new Binding(); bindingWidth4.Source = column4; bindingWidth4.Path = new PropertyPath("ActualWidth"); ColumnDefinition cd4 = new ColumnDefinition(); cd4.SetBinding(ColumnDefinition.WidthProperty, bindingWidth4); gridTotal.ColumnDefinitions.Add(cd4); dgInsockDelivery.FrozenColumnCount = 3; for (int i = 0; i < suppIdShowInGridviewList.Count; i++) { var insockSupplier = insockSupplierList.FirstOrDefault(f => f.InsockSupplierId == suppIdShowInGridviewList[i]); if (insockSupplier != null) { dt.Columns.Add(String.Format("Column{0}", suppIdShowInGridviewList[i]), typeof(String)); DataGridTextColumn column = new DataGridTextColumn(); column.Header = insockSupplier.InsockSupplierName; column.Binding = new Binding(String.Format("Column{0}", suppIdShowInGridviewList[i])); column.FontWeight = FontWeights.Bold; Style style = new Style(typeof(DataGridCell)); style.Setters.Add(new Setter(TextBlock.TextAlignmentProperty, TextAlignment.Center)); Setter setterBackground = new Setter(); setterBackground.Property = DataGridCell.BackgroundProperty; setterBackground.Value = new Binding(String.Format("Column{0}Background", suppIdShowInGridviewList[i])); style.Setters.Add(setterBackground); Setter setterToolTip = new Setter(); setterToolTip.Property = DataGridCell.ToolTipProperty; setterToolTip.Value = new Binding(String.Format("Column{0}ToolTip", suppIdShowInGridviewList[i])); style.Setters.Add(setterToolTip); column.CellStyle = style; dgInsockDelivery.Columns.Add(column); Binding bindingWidth = new Binding(); bindingWidth.Source = column; bindingWidth.Path = new PropertyPath("ActualWidth"); ColumnDefinition cd = new ColumnDefinition(); cd.SetBinding(ColumnDefinition.WidthProperty, bindingWidth); gridTotal.ColumnDefinitions.Add(cd); DataColumn columnBackground = new DataColumn(String.Format("Column{0}Background", suppIdShowInGridviewList[i]), typeof(SolidColorBrush)); DataColumn columnToolTip = new DataColumn(String.Format("Column{0}ToolTip", suppIdShowInGridviewList[i]), typeof(String)); columnBackground.DefaultValue = Brushes.White; dt.Columns.Add(columnBackground); dt.Columns.Add(columnToolTip); } } })); foreach (var lastCode in lastCodeList) { DataRow dr = dt.NewRow(); dr["LastCode"] = lastCode; var productNoList = orderList.Where(w => w.LastCode == lastCode).Select(s => s.ProductNo).Distinct().ToList(); var insockMaterialList_D1 = insockMaterialList.Where(w => productNoList.Contains(w.ProductNo)).ToList(); var insockSupplierIdList = insockMaterialList_D1.Select(s => s.InsockSupplierId).Distinct().ToList(); var qtyTotalList = new List <Int32>(); var qtyRejectList = new List <Int32>(); foreach (var insockSupplierId in insockSupplierIdList) { var outsoleMaterialList_D2 = insockMaterialList_D1.Where(o => o.InsockSupplierId == insockSupplierId).ToList(); int qtyTotal = 0; int qtyRejectTotal = 0; foreach (string productNo in productNoList) { var insockMaterialList_D3 = outsoleMaterialList_D2.Where(w => w.ProductNo == productNo).ToList(); var sizeNoList = insockMaterialList.Where(w => w.ProductNo == productNo).Select(s => s.SizeNo).Distinct().ToList(); foreach (var sizeNo in sizeNoList) { int qtyMax = insockMaterialList_D3.Where(w => w.SizeNo == sizeNo).Sum(s => s.Quantity - s.QuantityReject); int qtyReject = insockMaterialList_D3.Where(w => w.SizeNo == sizeNo).Sum(s => s.QuantityReject); qtyTotal += qtyMax; qtyRejectTotal += qtyReject; } } dr[String.Format("Column{0}", insockSupplierId)] = "x"; dr[String.Format("Column{0}Background", insockSupplierId)] = Brushes.Green; var suppName = insockSupplierList.FirstOrDefault(f => f.InsockSupplierId == insockSupplierId).InsockSupplierName; if (suppName != null) { dr[String.Format("Column{0}ToolTip", insockSupplierId)] = string.Format("{0}{1}", suppName, qtyRejectTotal > 0 ? String.Format("\nQtyReject: {0}", qtyRejectTotal.ToString()) : ""); } qtyTotalList.Add(qtyTotal); qtyRejectList.Add(qtyRejectTotal); } if (qtyRejectList.Count > 0) { dr["Reject"] = qtyRejectList.Max(); } if (qtyTotalList.Count > 0) { dr["Quantity"] = qtyTotalList.Max(); } dt.Rows.Add(dr); } Dispatcher.Invoke(new Action(() => { dgInsockDelivery.ItemsSource = dt.AsDataView(); // Row Tail TextBlock lblTotal = new TextBlock(); lblTotal.Text = "TOTAL"; lblTotal.Margin = new Thickness(1, 0, 0, 0); lblTotal.FontWeight = FontWeights.Bold; Border bdrTotal = new Border(); Grid.SetColumn(bdrTotal, 2); Grid.SetColumnSpan(bdrTotal, 1); bdrTotal.BorderThickness = new Thickness(1, 0, 1, 1); bdrTotal.BorderBrush = Brushes.Black; bdrTotal.Child = lblTotal; gridTotal.Children.Add(bdrTotal); TextBlock lblQuantityTotal = new TextBlock(); lblQuantityTotal.Text = dt.Compute("Sum(Quantity)", "").ToString(); lblQuantityTotal.Margin = new Thickness(1, 0, 0, 0); lblQuantityTotal.FontWeight = FontWeights.Bold; Border bdrQuantityTotal = new Border(); Grid.SetColumn(bdrQuantityTotal, 3); bdrQuantityTotal.BorderThickness = new Thickness(0, 0, 1, 1); bdrQuantityTotal.BorderBrush = Brushes.Black; bdrQuantityTotal.Child = lblQuantityTotal; gridTotal.Children.Add(bdrQuantityTotal); dgInsockDelivery.ItemsSource = dt.AsDataView(); TextBlock lblRejectMaximunTotal = new TextBlock(); lblRejectMaximunTotal.Text = dt.Compute("Sum(Reject)", "").ToString(); lblRejectMaximunTotal.Margin = new Thickness(1, 0, 0, 0); lblRejectMaximunTotal.FontWeight = FontWeights.Bold; Border bdrRejectMaximumTotal = new Border(); Grid.SetColumn(bdrRejectMaximumTotal, 4); bdrRejectMaximumTotal.BorderThickness = new Thickness(0, 0, 1, 1); bdrRejectMaximumTotal.BorderBrush = Brushes.Black; bdrRejectMaximumTotal.Child = lblRejectMaximunTotal; gridTotal.Children.Add(bdrRejectMaximumTotal); dgInsockDelivery.ItemsSource = dt.AsDataView(); })); }
public static void ClassInitialize(TestContext context) { TestDAL DAL = new TestDAL(); order = new OrdersController(DAL); }
public void ReturnDefaultView_WithIPagedListOfOrderViewModels_WithSpecifiedPageSize_WhenCalled() { // Arrange IEnumerable <ApplicationUser> users = new List <ApplicationUser>() { new ApplicationUser() }; IEnumerable <Pizza> pizzas = Helper.GetPizzas(); IEnumerable <CustomPizza> customPizzas = Helper.GetCustomPizzas(); IEnumerable <Order> orders = new List <Order>() { new Order() { Id = Guid.NewGuid(), CreatedOn = DateTime.Today, Pizzas = new List <BasePizza>(), Customer = new ApplicationUser() }, new Order() { Id = Guid.NewGuid(), CreatedOn = DateTime.Now, Pizzas = new List <BasePizza>(), Customer = new ApplicationUser() } }; var pizzaContextMock = new Mock <IPizzaFactoryDbContext>(); var orderContextMock = new Mock <IOrderDbContext>(); var userContextMock = new Mock <IIdentityDbContext>() { CallBase = true }; var mapper = new Mapper(); var validator = new Validator(); var pizzaDbSetMock = QueryableDbSetMock.GetQueryableMockDbSet(pizzas); var customPizzaDbSetMock = QueryableDbSetMock.GetQueryableMockDbSet(customPizzas); var userDbSetMock = QueryableDbSetMock.GetQueryableMockDbSet(users); var orderDbSetMock = QueryableDbSetMock.GetQueryableMockDbSet(orders); userContextMock.Setup(ctx => ctx.Users).Returns(userDbSetMock.Object); pizzaContextMock.Setup(ctx => ctx.Pizzas).Returns(pizzaDbSetMock.Object); pizzaContextMock.Setup(ctx => ctx.CustomPizzas).Returns(customPizzaDbSetMock.Object); orderContextMock.Setup(ctx => ctx.Orders).Returns(orderDbSetMock.Object); IApplicationUserService userService = new ApplicationUserService(userContextMock.Object, pizzaContextMock.Object, orderContextMock.Object, mapper, validator); OrdersController controller = new OrdersController(userService, validator); int page = 1; int pageSize = 1; // Act & Assert controller .WithCallTo(c => c.Index(page, pageSize)) .ShouldRenderDefaultView() .WithModel <StaticPagedList <OrderViewModel> >(vm => { Assert.AreEqual(pageSize, vm.Count); }); }
public OrdersControllerTests() { _ordersController = new OrdersController(new Repository.Repository()); }
private void bwLoadData_DoWork(object sender, DoWorkEventArgs e) { var regex = new Regex(@"[a-z]|[A-Z]"); outsoleRawMaterialList = OutsoleRawMaterialController.Select(); outsoleMaterialList = OutsoleMaterialController.SelectByOutsoleRawMaterial(); sizeRunList = SizeRunController.SelectByOutsoleRawMaterial(); outsoleSupplierList = OutsoleSuppliersController.Select(); ordersList = OrdersController.SelectByOutsoleRawMaterial(); DataTable dt = new OutsoleDelayDataSet().Tables["OutsoleDelayTable"]; List <String> productNoList = outsoleRawMaterialList.Select(r => r.ProductNo).Distinct().ToList(); foreach (string productNo in productNoList) { OrdersModel order = ordersList.Where(o => o.ProductNo == productNo).FirstOrDefault(); List <OutsoleRawMaterialModel> outsoleRawMaterialList_D1 = outsoleRawMaterialList.Where(o => o.ProductNo == productNo).ToList(); List <SizeRunModel> sizeRunList_D1 = sizeRunList.Where(s => s.ProductNo == productNo).OrderBy(o => Double.Parse(regex.IsMatch(o.SizeNo) ? regex.Replace(o.SizeNo, "") : o.SizeNo)).ToList(); //List<SizeRunModel> sizeRunList_CHECK = sizeRunList.Where(w => w.ProductNo == productNo).OrderBy(o => Double.Parse(regex.IsMatch(o.SizeNo) ? regex.Replace(o.SizeNo, "") : o.SizeNo)).ToList(); List <OutsoleMaterialModel> outsoleMaterialList_D1 = outsoleMaterialList.Where(o => o.ProductNo == productNo).ToList(); foreach (OutsoleRawMaterialModel outsoleRawMaterial in outsoleRawMaterialList_D1) { List <OutsoleMaterialModel> outsoleMaterialList_D2 = outsoleMaterialList_D1.Where(o => o.OutsoleSupplierId == outsoleRawMaterial.OutsoleSupplierId).ToList(); OutsoleSuppliersModel outsoleSupplier = outsoleSupplierList.FirstOrDefault(f => f.OutsoleSupplierId == outsoleRawMaterial.OutsoleSupplierId); DateTime etd = outsoleRawMaterial.ETD.Date; //bool isFull = OutsoleRawMaterialController.IsFull(sizeRunList_D1, new List<OutsoleRawMaterialModel>() { outsoleRawMaterial }, outsoleMaterialList_D1); //if (etd != new DateTime(2000, 1, 1) && etd < DateTime.Now.Date && isFull == false) var productNoList_OutsoleCode = ordersList.Where(w => w.OutsoleCode == order.OutsoleCode).Select(s => s.ProductNo).ToList(); if (etd != new DateTime(2000, 1, 1) && etd < DateTime.Now.Date) { foreach (SizeRunModel sizeRun in sizeRunList_D1) { int qtyDelay = sizeRun.Quantity - outsoleMaterialList_D2.Where(o => o.SizeNo == sizeRun.SizeNo).Sum(o => o.Quantity); if (qtyDelay > 0) { DataRow dr = dt.NewRow(); dr["ProductNo"] = productNo; string sizeOutsole = sizeRun.SizeNo; var sizeNo_OutsoleCode = sizeRunList.Where(w => productNoList_OutsoleCode.Contains(w.ProductNo) && w.SizeNo == sizeOutsole).FirstOrDefault(); if (sizeNo_OutsoleCode != null) { if (String.IsNullOrEmpty(sizeNo_OutsoleCode.OutsoleSize) == false) { sizeOutsole = sizeNo_OutsoleCode.OutsoleSize; } } string sizeNoString = regex.IsMatch(sizeOutsole) == true?regex.Replace(sizeOutsole, "") : sizeOutsole; double sizeNoDouble = 0; Double.TryParse(sizeNoString, out sizeNoDouble); dr["SizeNoDouble"] = sizeNoDouble; dr["SizeNo"] = sizeRun.SizeNo; dr["SizeOutsole"] = sizeOutsole; dr["SupplierETD"] = outsoleRawMaterial.ETD; if (order != null) { dr["OutsoleCode"] = order.OutsoleCode; dr["ArticleNo"] = order.ArticleNo; dr["ETD"] = order.ETD; } if (outsoleSupplier != null) { dr["OutsoleSupplier"] = outsoleSupplier.Name; } dr["QuantityDelay"] = qtyDelay; dt.Rows.Add(dr); } } } } } e.Result = dt; }
public virtual void SetUp() { orderManagmentServiceMock = new Mock <IOrderManagmentService>(); testable = new OrdersController(orderManagmentServiceMock.Object); }
public static void SetUpClass() { controller = GetClient().Orders; applyConfiguration(); }
public static void UpdateStatusAsync_NullModel_ThrowsException( OrdersController controller) { Assert.ThrowsAsync <ArgumentNullException>(async() => await controller.UpdateStatusAsync(default, null));
public static void CreateOrderAsync_NullModel_ThrowsArgumentNullException( OrdersController controller) { Assert.ThrowsAsync <ArgumentNullException>(async() => await controller.CreateOrderAsync(null)); }
private void bwDelete_DoWork(object sender, DoWorkEventArgs e) { OrdersController.Delete(productNo); }
private void bwUpdateOrders_DoWork(object sender, DoWorkEventArgs e) { ordersToUpdate.ProductNo = productNo; OrdersController.Update(ordersToUpdate); }
private void bwSearch_DoWork(object sender, DoWorkEventArgs e) { orders = OrdersController.SelectTop1(productNo); sizeRunList = SizeRunController.Select(productNo); }
public OrdersControllerTest() { _service = new TestOrder(); _controller = new OrdersController(_service); }
public void GetAllCustomersShouldReturnCorrectDataWhenOrderedByDesc() { // Arrange var interceptors = new DefaultRepositoryInterceptors(new NorthwindQueryRepositoryInterceptor()); var repository = new InMemoryRepository(interceptors); for (int i = 0; i < 15; i++) { repository.Add(EntityGenerator.Create<Customer>( p => p.CompanyName = p.CompanyName + i, p => p.CustomerID = i.ToString(), p => p.Orders.First().OrderDetails.First().Quantity = (short)i, p => p.Orders.First().OrderDetails.First().UnitPrice = 100.0M)); } // Act var ordersController = new OrdersController(repository); var results = ordersController.GetAllCustomers(take: 1, skip: 0, ascending: false).Result; // Assert results.Single().CustomerId.ShouldEqual("14"); }
private void bwLoad_DoWork(object sender, DoWorkEventArgs e) { upperComponentMaterialList = UpperComponentMaterialController.Select(); orderList = OrdersController.SelectByOutsoleMaterial(); upperComponentList = UpperComponentController.Select(); upperComponentRawMaterialList = UpperComponentRawMaterialController.Select(); List <String> outsoleCodeList = orderList.Select(o => o.OutsoleCode).Distinct().ToList(); foreach (string outsoleCode in outsoleCodeList) { List <String> productNoList = orderList.Where(o => o.OutsoleCode == outsoleCode).Select(o => o.ProductNo).Distinct().ToList(); List <UpperComponentMaterialModel> upperComponentMaterialList_D1 = upperComponentMaterialList.Where(o => productNoList.Contains(o.ProductNo)).ToList(); List <Int32> upperComponentPerOutsole = upperComponentMaterialList_D1.Select(o => o.UpperComponentID).Distinct().ToList(); upperComponentIDShowInGridviewList.AddRange(upperComponentPerOutsole); } upperComponentIDShowInGridviewList = upperComponentIDShowInGridviewList.Distinct().OrderBy(s => s).ToList(); DataTable dt = new DataTable(); Dispatcher.Invoke(new Action(() => { dt.Columns.Add("OutsoleCode", typeof(String)); DataGridTextColumn column1 = new DataGridTextColumn(); column1.Header = "O/S Code"; column1.Binding = new Binding("OutsoleCode"); column1.FontWeight = FontWeights.Bold; dgInventory.Columns.Add(column1); Binding bindingWidth1 = new Binding(); bindingWidth1.Source = column1; bindingWidth1.Path = new PropertyPath("ActualWidth"); ColumnDefinition cd1 = new ColumnDefinition(); cd1.SetBinding(ColumnDefinition.WidthProperty, bindingWidth1); gridTotal.ColumnDefinitions.Add(cd1); dt.Columns.Add("Quantity", typeof(Int32)); DataGridTextColumn column2 = new DataGridTextColumn(); column2.Header = "Quantity"; column2.Binding = new Binding("Quantity"); dgInventory.Columns.Add(column2); Binding bindingWidth2 = new Binding(); bindingWidth2.Source = column2; bindingWidth2.Path = new PropertyPath("ActualWidth"); ColumnDefinition cd2 = new ColumnDefinition(); cd2.SetBinding(ColumnDefinition.WidthProperty, bindingWidth2); gridTotal.ColumnDefinitions.Add(cd2); dt.Columns.Add("Matching", typeof(Int32)); DataGridTextColumn column3 = new DataGridTextColumn(); column3.Header = "Matching"; column3.Binding = new Binding("Matching"); dgInventory.Columns.Add(column3); Binding bindingWidth3 = new Binding(); bindingWidth3.Source = column3; bindingWidth3.Path = new PropertyPath("ActualWidth"); ColumnDefinition cd3 = new ColumnDefinition(); cd3.SetBinding(ColumnDefinition.WidthProperty, bindingWidth3); gridTotal.ColumnDefinitions.Add(cd3); dt.Columns.Add("RejectMaximum", typeof(Int32)); DataGridTextColumn column4 = new DataGridTextColumn(); column4.Header = "Reject"; column4.Binding = new Binding("RejectMaximum"); dgInventory.Columns.Add(column4); Binding bindingWidth4 = new Binding(); bindingWidth4.Source = column4; bindingWidth4.Path = new PropertyPath("ActualWidth"); ColumnDefinition cd4 = new ColumnDefinition(); cd4.SetBinding(ColumnDefinition.WidthProperty, bindingWidth4); gridTotal.ColumnDefinitions.Add(cd4); dgInventory.FrozenColumnCount = 4; for (int i = 0; i < upperComponentIDShowInGridviewList.Count; i++) { UpperComponentModel upperComponent = upperComponentList.Where(w => w.UpperComponentID == upperComponentIDShowInGridviewList[i]).FirstOrDefault(); if (upperComponent != null) { dt.Columns.Add(String.Format("Column{0}", upperComponentIDShowInGridviewList[i]), typeof(String)); DataGridTextColumn column = new DataGridTextColumn(); column.Width = 30; column.Binding = new Binding(String.Format("Column{0}", upperComponentIDShowInGridviewList[i])); column.FontWeight = FontWeights.Bold; Style style = new Style(typeof(DataGridCell)); style.Setters.Add(new Setter(TextBlock.TextAlignmentProperty, TextAlignment.Center)); Setter setterBackground = new Setter(); setterBackground.Property = DataGridCell.BackgroundProperty; setterBackground.Value = new Binding(String.Format("Column{0}Background", upperComponentIDShowInGridviewList[i])); style.Setters.Add(setterBackground); Setter setterToolTip = new Setter(); setterToolTip.Property = DataGridCell.ToolTipProperty; setterToolTip.Value = new Binding(String.Format("Column{0}ToolTip", upperComponentIDShowInGridviewList[i])); style.Setters.Add(setterToolTip); column.CellStyle = style; dgInventory.Columns.Add(column); Binding bindingWidth = new Binding(); bindingWidth.Source = column; bindingWidth.Path = new PropertyPath("ActualWidth"); ColumnDefinition cd = new ColumnDefinition(); cd.SetBinding(ColumnDefinition.WidthProperty, bindingWidth); gridTotal.ColumnDefinitions.Add(cd); DataColumn columnBackground = new DataColumn(String.Format("Column{0}Background", upperComponentIDShowInGridviewList[i]), typeof(SolidColorBrush)); DataColumn columnToolTip = new DataColumn(String.Format("Column{0}ToolTip", upperComponentIDShowInGridviewList[i]), typeof(String)); columnBackground.DefaultValue = Brushes.White; dt.Columns.Add(columnBackground); dt.Columns.Add(columnToolTip); } } })); foreach (string outsoleCode in outsoleCodeList) { DataRow dr = dt.NewRow(); dr["OutsoleCode"] = outsoleCode; List <String> productNoList = orderList.Where(o => o.OutsoleCode == outsoleCode).Select(o => o.ProductNo).Distinct().ToList(); List <UpperComponentMaterialModel> upperComponentMaterialList_D1 = upperComponentMaterialList.Where(o => productNoList.Contains(o.ProductNo)).ToList(); //List<OutsoleReleaseMaterialModel> outsoleReleaseMaterialList_D1 = outsoleReleaseMaterialList.Where(o => productNoList.Contains(o.ProductNo)).ToList(); List <Int32> upperComponentIDList = upperComponentMaterialList_D1.Select(o => o.UpperComponentID).Distinct().ToList(); List <Int32> qtyTotalList = new List <Int32>(); List <Int32> qtyRejectList = new List <Int32>(); foreach (Int32 upperComponentID in upperComponentIDList) { List <UpperComponentMaterialModel> upperComponentMaterialList_D2 = upperComponentMaterialList_D1.Where(o => o.UpperComponentID == upperComponentID).ToList(); int qtyTotal = 0; int qtyRejectTotal = 0; foreach (string productNo in productNoList) { List <UpperComponentMaterialModel> upperComponentMaterialList_D3 = upperComponentMaterialList_D2.Where(o => o.ProductNo == productNo).ToList(); //List<OutsoleReleaseMaterialModel> outsoleReleaseMaterialList_D3 = outsoleReleaseMaterialList_D1.Where(o => o.ProductNo == productNo).ToList(); List <String> sizeNoList = upperComponentMaterialList.Where(o => o.ProductNo == productNo).Select(o => o.SizeNo).Distinct().ToList(); foreach (string sizeNo in sizeNoList) { int qtyMax = upperComponentMaterialList_D3.Where(o => o.SizeNo == sizeNo).Sum(o => o.Quantity - o.QuantityReject); int qtyReject = upperComponentMaterialList_D3.Where(o => o.SizeNo == sizeNo).Sum(o => o.QuantityReject); //int qtyRelease = outsoleReleaseMaterialList_D3.Where(o => o.SizeNo == sizeNo).Sum(o => o.Quantity); //int qty = qtyMax - qtyRelease; int qty = qtyMax; if (qty < 0) { qty = 0; } qtyTotal += qty; qtyRejectTotal += qtyReject; } } dr[String.Format("Column{0}", upperComponentID)] = "x"; dr[String.Format("Column{0}Background", upperComponentID)] = Brushes.Green; var upperComponentName = upperComponentList.Where(w => w.UpperComponentID == upperComponentID).Select(s => s.UpperComponentName).FirstOrDefault(); if (upperComponentName != null) { dr[String.Format("Column{0}ToolTip", upperComponentID)] = string.Format("{0}{1}", upperComponentName, qtyRejectTotal > 0 ? String.Format("\nQtyReject: {0}", qtyRejectTotal.ToString()) : ""); //upperComponentName; } qtyTotalList.Add(qtyTotal); qtyRejectList.Add(qtyRejectTotal); } int qtyMatchTotal = 0; foreach (string productNo in productNoList) { List <UpperComponentMaterialModel> upperComponentMaterialList_D2 = upperComponentMaterialList_D1.Where(o => o.ProductNo == productNo).ToList(); //List<OutsoleReleaseMaterialModel> outsoleReleaseMaterialList_D2 = outsoleReleaseMaterialList_D1.Where(o => o.ProductNo == productNo).ToList(); List <String> sizeNoList = upperComponentMaterialList.Where(o => o.ProductNo == productNo).Select(o => o.SizeNo).Distinct().ToList(); foreach (string sizeNo in sizeNoList) { int qtyMin = upperComponentMaterialList_D2.Where(o => o.SizeNo == sizeNo).Select(o => o.Quantity - o.QuantityReject).Min(); //int qtyRelease = outsoleReleaseMaterialList_D2.Where(o => o.SizeNo == sizeNo).Sum(o => o.Quantity); //int qtyMatch = qtyMin - qtyRelease; int qtyMatch = qtyMin; if (qtyMatch < 0) { qtyMatch = 0; } qtyMatchTotal += qtyMatch; } } if (qtyRejectList.Count > 0) { dr["RejectMaximum"] = qtyRejectList.Max(); } if (qtyTotalList.Count > 0) { dr["Quantity"] = qtyTotalList.Max(); dr["Matching"] = qtyMatchTotal; dt.Rows.Add(dr); } } Dispatcher.Invoke(new Action(() => { dgInventory.ItemsSource = dt.AsDataView(); TextBlock lblTotal = new TextBlock(); lblTotal.Text = "TOTAL"; lblTotal.Margin = new Thickness(1, 0, 0, 0); lblTotal.FontWeight = FontWeights.Bold; Border bdrTotal = new Border(); Grid.SetColumn(bdrTotal, 1); Grid.SetColumnSpan(bdrTotal, 2); bdrTotal.BorderThickness = new Thickness(1, 0, 1, 1); bdrTotal.BorderBrush = Brushes.Black; bdrTotal.Child = lblTotal; gridTotal.Children.Add(bdrTotal); TextBlock lblQuantityTotal = new TextBlock(); lblQuantityTotal.Text = dt.Compute("Sum(Quantity)", "").ToString(); lblQuantityTotal.Margin = new Thickness(1, 0, 0, 0); lblQuantityTotal.FontWeight = FontWeights.Bold; Border bdrQuantityTotal = new Border(); Grid.SetColumn(bdrQuantityTotal, 3); bdrQuantityTotal.BorderThickness = new Thickness(0, 0, 1, 1); bdrQuantityTotal.BorderBrush = Brushes.Black; bdrQuantityTotal.Child = lblQuantityTotal; gridTotal.Children.Add(bdrQuantityTotal); dgInventory.ItemsSource = dt.AsDataView(); TextBlock lblMatchingTotal = new TextBlock(); lblMatchingTotal.Text = dt.Compute("Sum(Matching)", "").ToString(); lblMatchingTotal.Margin = new Thickness(1, 0, 0, 0); lblMatchingTotal.FontWeight = FontWeights.Bold; Border bdrMatchingTotal = new Border(); Grid.SetColumn(bdrMatchingTotal, 4); bdrMatchingTotal.BorderThickness = new Thickness(0, 0, 1, 1); bdrMatchingTotal.BorderBrush = Brushes.Black; bdrMatchingTotal.Child = lblMatchingTotal; gridTotal.Children.Add(bdrMatchingTotal); dgInventory.ItemsSource = dt.AsDataView(); TextBlock lblRejectMaximunTotal = new TextBlock(); lblRejectMaximunTotal.Text = dt.Compute("Sum(RejectMaximum)", "").ToString(); lblRejectMaximunTotal.Margin = new Thickness(1, 0, 0, 0); lblRejectMaximunTotal.FontWeight = FontWeights.Bold; Border bdrRejectMaximumTotal = new Border(); Grid.SetColumn(bdrRejectMaximumTotal, 5); bdrRejectMaximumTotal.BorderThickness = new Thickness(0, 0, 1, 1); bdrRejectMaximumTotal.BorderBrush = Brushes.Black; bdrRejectMaximumTotal.Child = lblRejectMaximunTotal; gridTotal.Children.Add(bdrRejectMaximumTotal); dgInventory.ItemsSource = dt.AsDataView(); })); }
void threadLoad_DoWork(object sender, DoWorkEventArgs e) { //outsoleRawMaterialList = OutsoleRawMaterialController.Select(); outsoleRawMaterialList = OutsoleRawMaterialController.SelectFull(etdStartSelect, etdEndSelect); outsoleMaterialList = OutsoleMaterialController.SelectByOutsoleRawMaterialFull(etdStartSelect, etdEndSelect); sizeRunList = SizeRunController.SelectByOutsoleRawMaterialFull(etdStartSelect, etdEndSelect); outsoleSupplierList = OutsoleSuppliersController.Select(); orderList = OrdersController.SelectByOutsoleRawMaterialFull(etdStartSelect, etdEndSelect); sewingMasterList = SewingMasterController.SelectFull(etdStartSelect, etdEndSelect); List <String> productNoList = outsoleRawMaterialList.Select(r => r.ProductNo).Distinct().ToList(); foreach (string productNo in productNoList) { OrdersModel order = orderList.FirstOrDefault(f => f.ProductNo == productNo); List <OutsoleRawMaterialModel> outsoleRawMaterialList_D1 = outsoleRawMaterialList.Where(o => o.ProductNo == productNo).ToList(); List <SizeRunModel> sizeRunList_D1 = sizeRunList.Where(s => s.ProductNo == productNo).ToList(); List <OutsoleMaterialModel> outsoleMaterialList_D1 = outsoleMaterialList.Where(o => o.ProductNo == productNo).ToList(); var sewingMasterList_D1 = sewingMasterList.Where(w => w.ProductNo == productNo).ToList(); foreach (OutsoleRawMaterialModel outsoleRawMaterial in outsoleRawMaterialList_D1) { // 108a-2279 //bool isFull = OutsoleRawMaterialController.IsFull(sizeRunList_D1, new List<OutsoleRawMaterialModel>() { outsoleRawMaterial, }, outsoleMaterialList_D1); if ( //isFull == false && outsoleRawMaterial.ETD.Date != dtDefault //&& outsoleRawMaterial.ActualDate.Date == dtDefault ) { OutsoleDeliveryStatusViewModel outsoleDeliveryStatusView = new OutsoleDeliveryStatusViewModel(); outsoleDeliveryStatusView.ProductNo = productNo; if (order != null) { outsoleDeliveryStatusView.Country = order.Country; outsoleDeliveryStatusView.ShoeName = order.ShoeName; outsoleDeliveryStatusView.ArticleNo = order.ArticleNo; outsoleDeliveryStatusView.OutsoleCode = order.OutsoleCode; outsoleDeliveryStatusView.Quantity = order.Quantity; outsoleDeliveryStatusView.ETD = order.ETD; } OutsoleSuppliersModel outsoleSupplier = outsoleSupplierList.FirstOrDefault(f => f.OutsoleSupplierId == outsoleRawMaterial.OutsoleSupplierId); if (outsoleSupplier != null) { outsoleDeliveryStatusView.Supplier = outsoleSupplier.Name; } outsoleDeliveryStatusView.SupplierETD = outsoleRawMaterial.ETD; //outsoleDeliveryStatusView.Actual = sizeRunList_D1.Sum(s => (s.Quantity - outsoleMaterialList_D1.Where(o => o.OutsoleSupplierId == outsoleRawMaterial.OutsoleSupplierId && o.SizeNo == s.SizeNo).Sum(o => (o.Quantity - o.QuantityReject)))).ToString(); //int actualQty = sizeRunList_D1.Sum(s => (outsoleMaterialList_D1.Where(o => o.OutsoleSupplierId == outsoleRawMaterial.OutsoleSupplierId && o.SizeNo == s.SizeNo).Sum(o => (o.Quantity - o.QuantityReject)))); //int actualQty = outsoleMaterialList_D1.Where(w => w.OutsoleSupplierId == outsoleRawMaterial.OutsoleSupplierId).Sum(s => s.Quantity - s.QuantityReject); int actualQty = outsoleMaterialList_D1.Where(w => w.OutsoleSupplierId == outsoleRawMaterial.OutsoleSupplierId).Sum(s => s.Quantity); if (actualQty > 0) { outsoleDeliveryStatusView.ActualQuantity = actualQty.ToString(); } int rejectQty = outsoleMaterialList_D1.Where(w => w.OutsoleSupplierId == outsoleRawMaterial.OutsoleSupplierId).Sum(s => s.QuantityReject); if (rejectQty > 0) { outsoleDeliveryStatusView.RejectQuantity = rejectQty.ToString(); } outsoleDeliveryStatusView.IsFinished = true; int balance = order.Quantity - actualQty + rejectQty; if (balance > 0) { //outsoleDeliveryStatusView.Balance = balance.ToString(); outsoleDeliveryStatusView.IsFinished = false; } if (outsoleRawMaterial.ActualDate != dtDefault) { outsoleDeliveryStatusView.Actual = string.Format("{0:M/d}", outsoleRawMaterial.ActualDate); } outsoleDeliveryStatusView.SewingStartDate = dtDefault; var sewingMasterModel = sewingMasterList_D1.FirstOrDefault(); if (sewingMasterModel != null) { outsoleDeliveryStatusView.SewingStartDate = sewingMasterModel.SewingStartDate; } outsoleDeliveryStatusViewList.Add(outsoleDeliveryStatusView); } } } }
public void CalculateBestService_WithValidResults_ShouldReturnResults() { // Arrange Dictionary <MealType, int> orders = new Dictionary <MealType, int>() { { MealType.Others, 40 }, { MealType.Vegetarian, 5 }, { MealType.GlutenFree, 2 } }; // A sample of valid result List <Result> expectedResult = new List <Result>() { new Result() { Restaurant = new Restaurant() { Name = "Restaurant A" }, ProvidedFoods = new Dictionary <MealType, int>() { { MealType.Others, 36 }, { MealType.Vegetarian, 4 }, } }, new Result() { Restaurant = new Restaurant() { Name = "Restaurant B" }, ProvidedFoods = new Dictionary <MealType, int>() { { MealType.Others, 4 }, { MealType.Vegetarian, 1 }, { MealType.GlutenFree, 2 } } } }; bool isGetBestServicesCalled = false; bool isOrderRemainingCalled = false; VizWorxCodeChallenge.Services.Fakes.StubIAnalysisService stubIAnalysisService = new VizWorxCodeChallenge.Services.Fakes.StubIAnalysisService() { GetBestServiceDictionaryOfMealTypeInt32ListOfRestaurant = (restaurants, order) => { isGetBestServicesCalled = true; return(expectedResult); }, IsOrderRemainingDictionaryOfMealTypeInt32 = (order) => { isOrderRemainingCalled = true; return(false); } }; OrdersController controller = new OrdersController(stubIAnalysisService); // Act var actionResult = controller.CalculateBestService(orders); Assert.IsTrue(isGetBestServicesCalled); Assert.IsInstanceOfType(actionResult, typeof(OkNegotiatedContentResult <List <Result> >)); Assert.IsTrue(isOrderRemainingCalled); }
// Notifications private void bwLoadDelivery_DoWork(object sender, DoWorkEventArgs e) { outsoleSupplierList = OutsoleSuppliersController.Select(); outsoleMaterialList = OutsoleMaterialController.Select(); outsoleReleaseMaterialList = OutsoleReleaseMaterialController.SelectByOutsoleMaterial(); outsoleOutputList = OutsoleOutputController.SelectByAssemblyMaster(); sewingMasterList = SewingMasterController.Select(); assemblyMasterList = AssemblyMasterController.Select(); outsoleMasterList = OutsoleMasterController.Select(); orderList = OrdersController.Select(); outsoleRawMaterialList = OutsoleRawMaterialController.Select(); var outsoleCodeList = orderList.Select(o => o.OutsoleCode).Distinct().ToList(); DateTime dtNow = DateTime.Now; DateTime dtDefault = new DateTime(2000, 1, 1); DateTime deliveryEFDDate = dtDefault; // Delay Shipment Notifications foreach (var order in orderList) { bool needToShow = false; int assemblyBalance = 0, sewingBalance = 0, outsoleBalance = 0; var assemblyMaster = assemblyMasterList.FirstOrDefault(f => f.ProductNo == order.ProductNo); var sewingMaster = sewingMasterList.FirstOrDefault(f => f.ProductNo == order.ProductNo); var outsoleMaster = outsoleMasterList.FirstOrDefault(f => f.ProductNo == order.ProductNo); if (assemblyMaster == null || sewingMaster == null || outsoleMaster == null) { continue; } if (assemblyMaster.AssemblyBalance != "") { Int32.TryParse(assemblyMaster.AssemblyBalance, out assemblyBalance); } else { assemblyBalance = order.Quantity; } if (sewingMaster.SewingBalance != "") { Int32.TryParse(sewingMaster.SewingBalance, out sewingBalance); } else { sewingBalance = order.Quantity; } if (outsoleMaster.OutsoleBalance != "") { Int32.TryParse(outsoleMaster.OutsoleBalance, out outsoleBalance); } else { outsoleBalance = order.Quantity; } if (dtNow.AddDays(5) < order.ETD) { needToShow = false; } else { if (assemblyBalance > 0 || sewingBalance > 0 || outsoleBalance > 0) { needToShow = true; } if (assemblyBalance > 0 && sewingBalance == 0 && outsoleBalance == 0) { needToShow = false; } } if (needToShow == true) { var delayShipment = new DelayShipmentViewModel(); delayShipment.Style = order.ShoeName; delayShipment.ProductNo = order.ProductNo; delayShipment.OrderCSD = order.ETD.AddDays(10); if (assemblyBalance > 0) { delayShipment.AssemblyBalance = assemblyBalance; } if (sewingBalance > 0) { delayShipment.SewingBalance = sewingBalance; } if (outsoleBalance > 0) { delayShipment.OutsoleBalance = outsoleBalance; } if (delayShipment.OrderCSD < DateTime.Now.Date) { delayShipmentList.Add(delayShipment); } } } // OSWH Notifications foreach (string outsoleCode in outsoleCodeList) { var productNoList = orderList.Where(o => o.OutsoleCode == outsoleCode && o.IsEnable == true).Select(o => o.ProductNo).Distinct().ToList(); foreach (var productNo in productNoList) { var sewingMasterModel = sewingMasterList.Where(w => w.ProductNo == productNo).FirstOrDefault(); var orderModel = orderList.Where(w => w.ProductNo == productNo).FirstOrDefault(); if (sewingMasterModel == null || orderModel == null) { continue; } var outsoleMaterialList_D1 = outsoleMaterialList.Where(w => w.ProductNo == productNo).ToList(); var supplierIdList = outsoleMaterialList_D1.Select(s => s.OutsoleSupplierId).Distinct().ToList(); foreach (var supplierId in supplierIdList) { int quantityDelivery = outsoleMaterialList_D1.Where(w => w.OutsoleSupplierId == supplierId).Sum(s => s.Quantity) - outsoleMaterialList_D1.Where(w => w.OutsoleSupplierId == supplierId).Sum(s => s.QuantityReject); int quantityDelivery1 = outsoleMaterialList_D1.Where(w => w.OutsoleSupplierId == supplierId).Sum(s => s.Quantity - s.QuantityReject); var outsoleMaterialDelivery = outsoleMaterialList_D1.Where(w => w.OutsoleSupplierId == supplierId).FirstOrDefault(); if (quantityDelivery > 0) { var outsoleRawMaterialModel = outsoleRawMaterialList.Where(w => w.ProductNo == productNo && w.OutsoleSupplierId == supplierId).FirstOrDefault(); if (outsoleRawMaterialModel != null) { deliveryEFDDate = outsoleRawMaterialModel.ETD; } if (deliveryEFDDate != dtDefault && deliveryEFDDate > dtNow.AddDays(15) && sewingMasterModel.SewingStartDate > dtNow.AddDays(25)) { var deliveryEarly = new NoticeOutsoleWHInventoryViewModel() { Style = orderModel.ShoeName, ProductNo = productNo, QuantityDelivery = quantityDelivery, Supplier = outsoleSupplierList.Where(w => w.OutsoleSupplierId == supplierId).Select(s => s.Name).FirstOrDefault(), OutsoleCode = outsoleCode, DeliveryEFDDate = deliveryEFDDate, SewingStartDate = sewingMasterModel.SewingStartDate, }; noticeOSWHInventoryDeliveryEarlyList.Add(deliveryEarly); } } var outsoleRawMaterialLateModel = outsoleRawMaterialList.Where(w => w.ETD <= dtNow && w.ProductNo == productNo && w.OutsoleSupplierId == supplierId).FirstOrDefault(); if (outsoleRawMaterialLateModel != null) { int quantityOrder = orderModel.Quantity; if (quantityOrder - quantityDelivery > 0) { var notDelivery = new NoticeOutsoleWHInventoryViewModel() { Style = orderModel.ShoeName, ProductNo = productNo, QuantityNotDelivery = quantityOrder - quantityDelivery, Supplier = outsoleSupplierList.Where(w => w.OutsoleSupplierId == supplierId).Select(s => s.Name).FirstOrDefault(), OutsoleCode = outsoleCode, DeliveryEFDDate = outsoleRawMaterialLateModel.ETD, OrderCSD = orderModel.ETD.AddDays(10) }; noticeOSWHInventoryNotDeliveryList.Add(notDelivery); } } int quantityReject = outsoleMaterialList_D1.Where(w => w.OutsoleSupplierId == supplierId).Sum(s => s.QuantityReject); var outsoleMaterialReject = outsoleMaterialList_D1.Where(w => w.OutsoleSupplierId == supplierId).FirstOrDefault(); // allways not null var outsoleRawMaterialReject = outsoleRawMaterialList.Where(w => w.ETD <= dtNow && w.ProductNo == productNo && w.OutsoleSupplierId == supplierId).FirstOrDefault(); if (quantityReject > 0 && outsoleMaterialReject.ModifiedTimeReject < dtNow.AddDays(-2) && outsoleRawMaterialReject != null) { var reject = new NoticeOutsoleWHInventoryViewModel() { Style = orderModel.ShoeName, ProductNo = productNo, OrderEFD = orderModel.ETD, QuantityReject = quantityReject, Supplier = outsoleSupplierList.Where(w => w.OutsoleSupplierId == supplierId).Select(s => s.Name).FirstOrDefault(), OutsoleCode = outsoleCode, DeliveryEFDDate = outsoleRawMaterialReject.ETD }; noticeOSWHInventoryRejectList.Add(reject); } } } } }
private void bwLoadData_DoWork(object sender, DoWorkEventArgs e) { assemblyMasterList = AssemblyMasterController.Select(); sewingOutputList = SewingOutputController.SelectByAssemblyMaster(); outsoleOutputList = OutsoleOutputController.SelectByAssemblyMaster(); assemblyReleaseList = AssemblyReleaseController.SelectByAssemblyMaster(); orderList = OrdersController.SelectByAssemblyMaster(); List <UpperWHInventoryViewModel> upperWHInventoryViewList = new List <UpperWHInventoryViewModel>(); assemblyLineList = assemblyMasterList.Where(a => String.IsNullOrEmpty(a.AssemblyLine) == false).Select(a => a.AssemblyLine).Distinct().OrderBy(l => l).ToList(); foreach (string assemblyLine in assemblyLineList) { List <String> productNoList = assemblyMasterList.Where(a => a.AssemblyLine == assemblyLine).Select(o => o.ProductNo).Distinct().ToList(); List <AssemblyReleaseModel> assemblyReleaseList_D1 = assemblyReleaseList.Where(a => productNoList.Contains(a.ProductNo) == true).ToList(); List <SewingOutputModel> sewingOutputList_D1 = sewingOutputList.Where(s => productNoList.Contains(s.ProductNo) == true).ToList(); List <OutsoleOutputModel> outsoleOutputList_D1 = outsoleOutputList.Where(o => productNoList.Contains(o.ProductNo) == true).ToList(); int qtyUpperTotal = 0; int qtyOutsoleTotal = 0; int qtyMatchTotal = 0; foreach (string productNo in productNoList) { List <AssemblyReleaseModel> assemblyReleaseList_D2 = assemblyReleaseList_D1.Where(a => a.ProductNo == productNo).ToList(); List <SewingOutputModel> sewingOutputList_D2 = sewingOutputList_D1.Where(s => s.ProductNo == productNo).ToList(); List <OutsoleOutputModel> outsoleOutputList_D2 = outsoleOutputList_D1.Where(o => o.ProductNo == productNo).ToList(); List <String> sizeNoList = sewingOutputList_D2.Select(s => s.SizeNo).Distinct().ToList(); if (sizeNoList.Count == 0) { sizeNoList = outsoleOutputList_D2.Select(o => o.SizeNo).Distinct().ToList(); } foreach (string sizeNo in sizeNoList) { int qtyRelease = assemblyReleaseList_D2.Where(a => a.SizeNo == sizeNo).Sum(a => a.Quantity); int qtyUpper = sewingOutputList_D2.Where(s => s.SizeNo == sizeNo).Sum(s => s.Quantity) - qtyRelease; int qtyOutsole = outsoleOutputList_D2.Where(o => o.SizeNo == sizeNo).Sum(o => o.Quantity) - qtyRelease; int qtyMatch = MatchingHelper.Calculate(sewingOutputList_D2.Where(s => s.SizeNo == sizeNo).Sum(s => s.Quantity), outsoleOutputList_D2.Where(o => o.SizeNo == sizeNo).Sum(o => o.Quantity), sizeNo) - qtyRelease; if (qtyUpper < 0) { qtyUpper = 0; } qtyUpperTotal += qtyUpper; if (qtyOutsole < 0) { qtyOutsole = 0; } qtyOutsoleTotal += qtyOutsole; if (qtyMatch < 0) { qtyMatch = 0; } qtyMatchTotal += qtyMatch; } } UpperWHInventoryViewModel upperWHInventoryView = new UpperWHInventoryViewModel { AssemblyLine = assemblyLine, ProductNoList = productNoList, SewingOutput = qtyUpperTotal, OutsoleOutput = qtyOutsoleTotal, Matching = qtyMatchTotal, }; upperWHInventoryViewList.Add(upperWHInventoryView); } e.Result = upperWHInventoryViewList; }
public void SetUp() { _createOrderHandler = new Mock <ICreateOrderHandler>(); _getOrderHandler = new Mock <IGetOrderHandler>(); _ordersController = new OrdersController(_createOrderHandler.Object, _getOrderHandler.Object); }
public void Index_WhenCalled_ShouldReturnOK() { //Initial var _mockBookMarkletHelper = new Mock <Controller>(); var config = new MapperConfiguration(c => c.AddProfile(new MappingProfile())); var mapper = config.CreateMapper(); var unitOfWork = new UnitOfWork(_context); var emailHelper = new EmailHelper(); var accountHelper = new AccountHelper(emailHelper); //creating 2 orders var orders = Odin.Data.Builders.OrderBuilder.New(2); orders.ForEach(o => o.ConsultantId = _dsc.Id); orders.ForEach(o => o.TransfereeId = _transferee.Id); orders.ForEach(o => o.ProgramManagerId = _pm.Id); orders.ForEach(o => o.TrackingId = TokenHelper.NewToken()); var testDateTime = new DateTime(1999, 6, 14); orders.ForEach(o => o.PreTripDate = testDateTime); _controller = new OrdersController(unitOfWork, mapper, accountHelper); _context.Orders.AddRange(orders); _controller.MockCurrentUser(_dsc.Id, _dsc.UserName); //creating managers var managerStore = new UserStore <Manager>(new ApplicationDbContext()); var managerManager = new UserManager <Manager>(managerStore); //Manager 1 string _odinPmUserName1 = "*****@*****.**"; var pmUser1 = managerManager.FindByName(_odinPmUserName1); if (pmUser1 == null) { var newPm = new Manager() { UserName = _odinPmUserName1, FirstName = "Odin", LastName = "Pm", Email = _odinPmUserName1, PhoneNumber = "2166824239" }; managerManager.Create(newPm, "OdinOdin5$"); managerManager.AddToRole(newPm.Id, UserRoles.ProgramManager); pmUser1 = managerManager.FindByName(_odinPmUserName1); } //Manager 2 string _odinPmUserName2 = "*****@*****.**"; var pmUser2 = managerManager.FindByName(_odinPmUserName2); if (pmUser2 == null) { var newPm = new Manager() { UserName = _odinPmUserName2, FirstName = "Pratik", LastName = "Pm", Email = _odinPmUserName2, PhoneNumber = "21689578545" }; managerManager.Create(newPm, "OdinOdin5$"); managerManager.AddToRole(newPm.Id, UserRoles.ProgramManager); pmUser2 = managerManager.FindByName(_odinPmUserName2); } //putting Orders in DB _context.Orders.AddRange(orders); _context.SaveChanges(); //ManagerViewModels ManagerViewModel mngrvms1 = new ManagerViewModel(); mngrvms1.FirstName = pmUser1.FirstName; mngrvms1.Id = pmUser1.Id; mngrvms1.LastName = pmUser1.LastName; mngrvms1.phoneNumber = pmUser1.PhoneNumber; mngrvms1.Email = pmUser1.Email; ManagerViewModel mngrvms2 = new ManagerViewModel(); mngrvms2.FirstName = pmUser2.FirstName; mngrvms2.Id = pmUser2.Id; mngrvms2.LastName = pmUser2.LastName; mngrvms2.phoneNumber = pmUser2.PhoneNumber; mngrvms2.Email = pmUser2.Email; //Creating view models OrdersIndexViewModel ordersIndexViewModel1 = new OrdersIndexViewModel(); ordersIndexViewModel1.Id = orders[0].Id; ordersIndexViewModel1.ProgramManager = mngrvms1; OrdersIndexViewModel ordersIndexViewModel2 = new OrdersIndexViewModel(); ordersIndexViewModel1.Id = orders[1].Id; ordersIndexViewModel1.ProgramManager = mngrvms2; OrderIndexManagerViewModel orderIndexManagerViewModel = new OrderIndexManagerViewModel(Enumerable.Repeat(ordersIndexViewModel1, 1), Enumerable.Repeat(mngrvms1, 1)); orderIndexManagerViewModel.Managers = Enumerable.Repeat(mngrvms2, 1); orderIndexManagerViewModel.OrdersIndexVm = Enumerable.Repeat(ordersIndexViewModel2, 1); //act var OrdersIndexViewModelres = _controller.Index(pmUser1.Id) as ViewResult; //assert OrdersIndexViewModelres.Model.Equals(orderIndexManagerViewModel); }
public void Initialize() { _orderUseCases = new Mock <IOrderUseCases>(); _ordersController = new OrdersController(_orderUseCases.Object); }
public void Initialize() { // ARRANGE _ordersController = new OrdersController(); }
public OrderTests() { _repo = new GenericRepository <Order>(); _controller = new OrdersController(); }
private void bwLoad_DoWork(object sender, DoWorkEventArgs e) { orderList = OrdersController.Select(); rawMaterialList = RawMaterialController.Select(); sewingMasterList = SewingMasterController.Select(); outsoleMasterList = OutsoleMasterController.Select(); productionMemoList = ProductionMemoController.Select(); //sewingMasterList.RemoveAll(s => DateTimeHelper.Create(s.SewingBalance) != dtDefault && DateTimeHelper.Create(s.SewingBalance) != dtNothing); sewingMasterList = sewingMasterList.OrderBy(s => s.Sequence).ToList(); int[] materialIdUpperArray = { 1, 2, 3, 4, 10 }; int[] materialIdSewingArray = { 5, 7 }; int[] materialIdOutsoleArray = { 6 }; foreach (SewingMasterModel sewingMaster in sewingMasterList) { SewingMasterExportViewModel sewingMasterExportView = new SewingMasterExportViewModel(); sewingMasterExportView.Sequence = sewingMaster.Sequence; sewingMasterExportView.ProductNo = sewingMaster.ProductNo; OrdersModel order = orderList.Where(o => o.ProductNo == sewingMaster.ProductNo).FirstOrDefault(); string memoId = ""; if (order != null) { sewingMasterExportView.Country = order.Country; sewingMasterExportView.ShoeName = order.ShoeName; sewingMasterExportView.ArticleNo = order.ArticleNo; sewingMasterExportView.PatternNo = order.PatternNo; sewingMasterExportView.Quantity = order.Quantity; sewingMasterExportView.ETD = order.ETD; List <ProductionMemoModel> productionMemoByProductionNumberList = productionMemoList.Where(p => p.ProductionNumbers.Contains(order.ProductNo) == true).ToList(); for (int p = 0; p <= productionMemoByProductionNumberList.Count - 1; p++) { ProductionMemoModel productionMemo = productionMemoByProductionNumberList[p]; memoId += productionMemo.MemoId; if (p < productionMemoByProductionNumberList.Count - 1) { memoId += "\n"; } } sewingMasterExportView.MemoId = memoId; } MaterialArrivalViewModel materialArrivalUpper = MaterialArrival(order.ProductNo, materialIdUpperArray); sewingMasterExportView.IsUpperMatsArrivalOk = false; if (materialArrivalUpper != null) { sewingMasterExportView.UpperMatsArrival = String.Format(new CultureInfo("en-US"), "{0:dd-MMM}", materialArrivalUpper.Date); sewingMasterExportView.IsUpperMatsArrivalOk = materialArrivalUpper.IsMaterialArrivalOk; } MaterialArrivalViewModel materialArrivalSewing = MaterialArrival(order.ProductNo, materialIdSewingArray); sewingMasterExportView.IsSewingMatsArrivalOk = false; if (materialArrivalSewing != null) { sewingMasterExportView.SewingMatsArrival = String.Format(new CultureInfo("en-US"), "{0:dd-MMM}", materialArrivalSewing.Date); sewingMasterExportView.IsSewingMatsArrivalOk = materialArrivalSewing.IsMaterialArrivalOk; } MaterialArrivalViewModel materialArrivalOutsole = MaterialArrival(order.ProductNo, materialIdOutsoleArray); sewingMasterExportView.IsOSMatsArrivalOk = false; if (materialArrivalOutsole != null) { sewingMasterExportView.OSMatsArrival = String.Format(new CultureInfo("en-US"), "{0:dd-MMM}", materialArrivalOutsole.Date); sewingMasterExportView.IsOSMatsArrivalOk = materialArrivalOutsole.IsMaterialArrivalOk; } sewingMasterExportView.SewingLine = sewingMaster.SewingLine; sewingMasterExportView.CutAStartDate = sewingMaster.CutAStartDate; sewingMasterExportView.SewingStartDate = sewingMaster.SewingStartDate; sewingMasterExportView.SewingFinishDate = sewingMaster.SewingFinishDate; sewingMasterExportView.SewingQuota = sewingMaster.SewingQuota; sewingMasterExportView.SewingBalance = sewingMaster.SewingBalance; sewingMasterExportView.CutABalance = sewingMaster.CutABalance; sewingMasterExportView.CutBBalance = sewingMaster.CutBBalance; OutsoleMasterModel outsoleMaster = outsoleMasterList.Where(o => o.ProductNo == sewingMaster.ProductNo).FirstOrDefault(); if (outsoleMaster != null) { sewingMasterExportView.OSBalance = outsoleMaster.OutsoleBalance; } else { sewingMasterExportView.OSBalance = ""; } sewingMasterExportViewList.Add(sewingMasterExportView); } }
public void GetCustomerOrderHistoryShouldReturnCorrectDataWhenFilteredByProductName() { // Arrange var repository = new InMemoryRepository(); // Act var ordersController = new OrdersController(repository); var result = ordersController.GetCustomerOrderHistory("NotUsed", "2").Result; // Assert result.Count().ShouldEqual(1); result.First().ProductName.ShouldEqual("ProductName2"); }
public OrderUnitTest() { controller = new OrdersController(); }
private void bwLoad_DoWork(object sender, DoWorkEventArgs e) { orderList = OrdersController.Select(); rawMaterialList = RawMaterialController.Select(); sewingMasterList = SewingMasterController.Select(); outsoleMasterList = OutsoleMasterController.Select(); sockliningMasterList = SockliningMasterController.Select(); assemblyMasterList = AssemblyMasterController.Select(); productionMemoList = ProductionMemoController.Select(); //sewingMasterList.RemoveAll(s => DateTimeHelper.Create(s.SewingBalance) != dtDefault && DateTimeHelper.Create(s.SewingBalance) != dtNothing); assemblyMasterList = assemblyMasterList.OrderBy(s => s.Sequence).ToList(); int[] materialIdUpperArray = { 1, 2, 3, 4, 10 }; int[] materialIdSewingArray = { 5, 7 }; int[] materialIdOutsoleArray = { 6 }; int[] materialIdAssemblyArray = { 8, 9 }; int[] materialIdCartonArray = { 11 }; foreach (AssemblyMasterModel assemblyMaster in assemblyMasterList) { AssemblyMasterExportViewModel assemblyMasterExportView = new AssemblyMasterExportViewModel(); assemblyMasterExportView.Sequence = assemblyMaster.Sequence; assemblyMasterExportView.ProductNo = assemblyMaster.ProductNo; OrdersModel order = orderList.Where(o => o.ProductNo == assemblyMaster.ProductNo).FirstOrDefault(); string memoId = ""; if (order != null) { assemblyMasterExportView.Country = order.Country; assemblyMasterExportView.ShoeName = order.ShoeName; assemblyMasterExportView.ArticleNo = order.ArticleNo; assemblyMasterExportView.LastCode = order.LastCode; assemblyMasterExportView.Quantity = order.Quantity; assemblyMasterExportView.ETD = order.ETD; List <ProductionMemoModel> productionMemoByProductionNumberList = productionMemoList.Where(p => p.ProductionNumbers.Contains(order.ProductNo) == true).ToList(); for (int p = 0; p <= productionMemoByProductionNumberList.Count - 1; p++) { ProductionMemoModel productionMemo = productionMemoByProductionNumberList[p]; memoId += productionMemo.MemoId; if (p < productionMemoByProductionNumberList.Count - 1) { memoId += "\n"; } } assemblyMasterExportView.MemoId = memoId; } MaterialArrivalViewModel materialArrivalOutsole = MaterialArrival(order.ProductNo, materialIdOutsoleArray); assemblyMasterExportView.IsOutsoleMatsArrivalOk = false; if (materialArrivalOutsole != null) { assemblyMasterExportView.OutsoleMatsArrival = String.Format(new CultureInfo("en-US"), "{0:dd-MMM}", materialArrivalOutsole.Date); assemblyMasterExportView.IsOutsoleMatsArrivalOk = materialArrivalOutsole.IsMaterialArrivalOk; } MaterialArrivalViewModel materialArrivalAssembly = MaterialArrival(order.ProductNo, materialIdAssemblyArray); assemblyMasterExportView.IsAssemblyMatsArrivalOk = false; if (materialArrivalAssembly != null) { assemblyMasterExportView.AssemblyMatsArrival = String.Format(new CultureInfo("en-US"), "{0:dd-MMM}", materialArrivalAssembly.Date); assemblyMasterExportView.IsAssemblyMatsArrivalOk = materialArrivalAssembly.IsMaterialArrivalOk; } MaterialArrivalViewModel materialArrivalCarton = MaterialArrival(order.ProductNo, materialIdCartonArray); if (materialArrivalCarton != null) { assemblyMasterExportView.CartonMatsArrival = String.Format(new CultureInfo("en-US"), "{0:dd-MMM}", materialArrivalCarton.Date); } assemblyMasterExportView.AssemblyLine = assemblyMaster.AssemblyLine; assemblyMasterExportView.AssemblyStartDate = assemblyMaster.AssemblyStartDate; assemblyMasterExportView.AssemblyFinishDate = assemblyMaster.AssemblyFinishDate; assemblyMasterExportView.AssemblyQuota = assemblyMaster.AssemblyQuota; assemblyMasterExportView.AssemblyBalance = assemblyMaster.AssemblyBalance; SewingMasterModel sewingMaster = sewingMasterList.Where(o => o.ProductNo == assemblyMaster.ProductNo).FirstOrDefault(); if (sewingMaster != null) { assemblyMasterExportView.SewingStartDate = sewingMaster.SewingStartDate; assemblyMasterExportView.SewingFinishDate = sewingMaster.SewingFinishDate; assemblyMasterExportView.SewingBalance = sewingMaster.SewingBalance; } else { assemblyMasterExportView.SewingStartDate = dtDefault; assemblyMasterExportView.SewingFinishDate = dtDefault; assemblyMasterExportView.SewingBalance = ""; } OutsoleMasterModel outsoleMaster = outsoleMasterList.Where(o => o.ProductNo == assemblyMaster.ProductNo).FirstOrDefault(); if (outsoleMaster != null) { assemblyMasterExportView.OutsoleBalance = outsoleMaster.OutsoleBalance; } else { assemblyMasterExportView.OutsoleBalance = ""; } SockliningMasterModel sockliningMaster = sockliningMasterList.Where(o => o.ProductNo == assemblyMaster.ProductNo).FirstOrDefault(); if (sockliningMaster != null) { assemblyMasterExportView.InsoleBalance = sockliningMaster.InsoleBalance; assemblyMasterExportView.InsockBalance = sockliningMaster.InsockBalance; } else { assemblyMasterExportView.InsoleBalance = ""; assemblyMasterExportView.InsockBalance = ""; } assemblyMasterExportViewList.Add(assemblyMasterExportView); } }
public async Task Put_Success(int quantity) { // Arrange var dbContext = _fixture.Context; var mapper = MapperMock.Get(); var fileService = FileServiceMock.FilesService(); var user = NewDatas.NewUser(); await dbContext.Users.AddAsync(user); await dbContext.SaveChangesAsync(); var product1 = NewDatas.NewProduct(); await dbContext.Products.AddRangeAsync(product1); await dbContext.SaveChangesAsync(); #region create intial order data var order = NewDatas.NewOrder(); dbContext.Orders.Add(order); await dbContext.SaveChangesAsync(); var orderDetail1 = NewDatas.NewOrderDetail(); orderDetail1.productId = product1.productId; orderDetail1.orderId = order.orderId; int initialQuantity = orderDetail1.quantity; await dbContext.OrderDetails.AddRangeAsync(orderDetail1); await dbContext.SaveChangesAsync(); order.orderDetails = new List <OrderDetail> { orderDetail1 }; order.user = user; await dbContext.SaveChangesAsync(); #endregion var orderCreateRequest = NewDatas.NewOrderDetailRequest(); orderCreateRequest.productId = product1.productId; orderCreateRequest.quantity = quantity; int afterPostQuantity = quantity; var ordersService = new OrderService(dbContext, mapper); var ordersController = new OrdersController(ordersService, mapper, fileService); #region set controller user ordersController.ControllerContext = new ControllerContext { HttpContext = new DefaultHttpContext { User = new ClaimsPrincipal(new ClaimsIdentity(new Claim[] { new Claim(ClaimTypes.Name, user.UserName), new Claim(ClaimTypes.NameIdentifier, user.Id.ToString(CultureInfo.InvariantCulture)) }, "Bearer") ) } }; #endregion // Act var result = await ordersController.PostOrder(orderCreateRequest); // Assert var ordersResult = Assert.IsType <CreatedAtActionResult>(result.Result); var productInOrderResult = (ordersResult.Value as Order).orderDetails.First(x => x.productId == product1.productId); Assert.Equal(productInOrderResult.quantity, initialQuantity + afterPostQuantity); }
public void GetAllCustomersShouldReturnCorrectDataWhenMinOrderSupplied() { // Arrange var interceptors = new DefaultRepositoryInterceptors(new NorthwindQueryRepositoryInterceptor()); var repository = new InMemoryRepository(interceptors); for (int i = 0; i < 15; i++) { repository.Add(EntityGenerator.Create<Customer>( p => p.CompanyName = p.CompanyName + i, p => p.CustomerID = i.ToString(), p => p.Orders.First().OrderDetails.First().Quantity = (short)i, p => p.Orders.First().OrderDetails.First().UnitPrice = 100.0M)); } // Act var ordersController = new OrdersController(repository); // Assert var results = ordersController.GetAllCustomers(minOrderValue: 100 * 10).Result; results.Count().ShouldEqual(5); }
protected void gridMain_ItemCommand(object sender, GridCommandEventArgs e) { if (e.CommandName == "invPrint") { GridDataItem item = (GridDataItem)e.Item; int orderID = (int)((GridDataItem)e.Item).GetDataKeyValue("ID"); OrdersController oCont = new OrdersController(); OrderB curOrder = oCont.GetOrder(orderID); TasksController lCont = new TasksController(); List <TaskB> tasksForOrder = lCont.GetTasksForOrder(orderID); CustomersController cCont = new CustomersController(); CustomerB curCust = cCont.GetCustomer(curOrder.Customer1.ID); try { DocumentReplacemetsController cont = new DocumentReplacemetsController(); List <DocumentReplacemetB> reps = new List <DocumentReplacemetB>(); reps = cont.GetDocumentReplacemets(sqlUniqueName); DocumentReplacemetB curRep; string imgFolderPath = Server.MapPath(fileUploadFolder); RadFlowDocument curDoc = LoadTemplateDocument(docTemplate); RadFlowDocumentEditor editor = new RadFlowDocumentEditor(curDoc); Run currRun; Paragraph currPar; currPar = insertParagraph(editor); currPar = insertParagraph(editor); currPar = insertParagraph(editor); currPar.TextAlignment = Alignment.Right; currRun = editor.InsertText("ATHENS " + DateTime.Now.ToString("dd/MM/yyyy")); currRun.Properties.FontWeight.LocalValue = FontWeights.Bold; currPar = insertParagraph(editor); currPar.TextAlignment = Alignment.Right; string regNo = curOrder.RegNo == null ? "" : curOrder.RegNo; currRun = editor.InsertText("REF. " + regNo); currRun.Properties.FontWeight.LocalValue = FontWeights.Bold; currPar = insertParagraph(editor); currPar = insertParagraph(editor); Telerik.Windows.Documents.Flow.Model.Table infoTable = editor.InsertTable(4, 2); infoTable.Borders = new TableBorders(new Border(Telerik.Windows.Documents.Flow.Model.Styles.BorderStyle.None)); currPar = infoTable.Rows[0].Cells[0].Blocks.AddParagraph(); currPar.Spacing.SpacingAfter = 0; currRun = currPar.Inlines.AddRun("Information:"); currPar = infoTable.Rows[0].Cells[1].Blocks.AddParagraph(); currPar.Spacing.SpacingAfter = 0; curRep = reps.Where(o => o.Title == "Πληροφορίες").FirstOrDefault(); if (curRep != null) { currRun = currPar.Inlines.AddRun(curRep.Text); currRun.Properties.FontWeight.LocalValue = FontWeights.Bold; } currPar = infoTable.Rows[1].Cells[0].Blocks.AddParagraph(); currPar.Spacing.SpacingAfter = 0; currRun = currPar.Inlines.AddRun("Phone:"); currPar = infoTable.Rows[1].Cells[1].Blocks.AddParagraph(); currPar.Spacing.SpacingAfter = 0; curRep = reps.Where(o => o.Title == "Τηλέφωνο").FirstOrDefault(); if (curRep != null) { currRun = currPar.Inlines.AddRun(curRep.Text); currRun.Properties.FontWeight.LocalValue = FontWeights.Bold; } currPar = infoTable.Rows[2].Cells[0].Blocks.AddParagraph(); currPar.Spacing.SpacingAfter = 0; currRun = currPar.Inlines.AddRun("FAX:"); currPar = infoTable.Rows[2].Cells[1].Blocks.AddParagraph(); currPar.Spacing.SpacingAfter = 0; curRep = reps.Where(o => o.Title == "FAX").FirstOrDefault(); if (curRep != null) { currRun = currPar.Inlines.AddRun(curRep.Text); currRun.Properties.FontWeight.LocalValue = FontWeights.Bold; } currPar = infoTable.Rows[3].Cells[0].Blocks.AddParagraph(); currPar.Spacing.SpacingAfter = 0; currRun = currPar.Inlines.AddRun("Email:"); currPar = infoTable.Rows[3].Cells[1].Blocks.AddParagraph(); currPar.Spacing.SpacingAfter = 0; curRep = reps.Where(o => o.Title == "Email").FirstOrDefault(); if (curRep != null) { Run currRun2 = currPar.Inlines.AddRun(); editor.MoveToInlineEnd(currRun2); editor.InsertHyperlink(curRep.Text, "mailto:" + curRep.Text, false); editor.MoveToTableEnd(infoTable); } currPar = insertParagraph(editor); editor.MoveToParagraphStart(currPar); Telerik.Windows.Documents.Flow.Model.Table toTable = editor.InsertTable(3, 2); toTable.Borders = new TableBorders(new Border(Telerik.Windows.Documents.Flow.Model.Styles.BorderStyle.None)); currPar = toTable.Rows[0].Cells[0].Blocks.AddParagraph(); currPar.Spacing.SpacingAfter = 0; currRun = currPar.Inlines.AddRun("ATT.:"); currPar = toTable.Rows[0].Cells[1].Blocks.AddParagraph(); currPar.Spacing.SpacingAfter = 0; if (!string.IsNullOrEmpty(tasksForOrder[0].Customer.NameEN)) { currRun = currPar.Inlines.AddRun(tasksForOrder[0].Customer.NameEN); currRun.Properties.FontWeight.LocalValue = FontWeights.Bold; } currPar = toTable.Rows[1].Cells[0].Blocks.AddParagraph(); currPar.Spacing.SpacingAfter = 0; currRun = currPar.Inlines.AddRun("Phone:"); currPar = toTable.Rows[1].Cells[1].Blocks.AddParagraph(); currPar.Spacing.SpacingAfter = 0; if (!string.IsNullOrEmpty(tasksForOrder[0].Customer.Telephone1)) { currRun = currPar.Inlines.AddRun(tasksForOrder[0].Customer.Telephone1); currRun.Properties.FontWeight.LocalValue = FontWeights.Bold; } currPar = toTable.Rows[2].Cells[0].Blocks.AddParagraph(); currPar.Spacing.SpacingAfter = 0; currRun = currPar.Inlines.AddRun("FAX:"); currPar = toTable.Rows[2].Cells[1].Blocks.AddParagraph(); currPar.Spacing.SpacingAfter = 0; if (!string.IsNullOrEmpty(tasksForOrder[0].Customer.FAX1)) { currRun = currPar.Inlines.AddRun(tasksForOrder[0].Customer.FAX1); currRun.Properties.FontWeight.LocalValue = FontWeights.Bold; } currPar = insertParagraph(editor); currPar = insertParagraph(editor); currRun = editor.InsertText("SUBJECT: TEMPORARΥ TELEPHONE LINES"); currRun.Properties.FontWeight.LocalValue = FontWeights.Bold; currPar = insertParagraph(editor); currPar = insertParagraph(editor); currPar.TextAlignment = Alignment.Justified; currRun = editor.InsertText("You are kindly requested to provide " + tasksForOrder.Count.ToString() + " temporary telephone lines."); currPar = insertParagraph(editor); Telerik.Windows.Documents.Flow.Model.Table eventTable = editor.InsertTable(2, 2); eventTable.Borders = new TableBorders(new Border(Telerik.Windows.Documents.Flow.Model.Styles.BorderStyle.None)); currPar = eventTable.Rows[0].Cells[0].Blocks.AddParagraph(); currPar.Spacing.SpacingAfter = 0; currRun = currPar.Inlines.AddRun("in:"); currPar = eventTable.Rows[0].Cells[1].Blocks.AddParagraph(); currPar.Spacing.SpacingAfter = 0; string curP = curOrder.Event.Place.NameEN == null ? "" : curOrder.Event.Place.NameEN; currRun = currPar.Inlines.AddRun(curP); currRun.Properties.FontWeight.LocalValue = FontWeights.Bold; currPar = eventTable.Rows[1].Cells[0].Blocks.AddParagraph(); currPar.Spacing.SpacingAfter = 0; currRun = currPar.Inlines.AddRun("event:"); currPar = eventTable.Rows[1].Cells[1].Blocks.AddParagraph(); currPar.Spacing.SpacingAfter = 0; string curE = curOrder.Event.NameEN == null ? "" : curOrder.Event.NameEN; currRun = currPar.Inlines.AddRun(curE); currRun.Properties.FontWeight.LocalValue = FontWeights.Bold; currPar = insertParagraph(editor); currPar = insertParagraph(editor); int tRows = tasksForOrder.Count + 1; Telerik.Windows.Documents.Flow.Model.Table contentTable = editor.InsertTable(tRows, 5); toTable.Borders = new TableBorders(new Border(Telerik.Windows.Documents.Flow.Model.Styles.BorderStyle.None)); currPar = contentTable.Rows[0].Cells[0].Blocks.AddParagraph(); currRun = currPar.Inlines.AddRun("Customer Name"); currRun.Properties.FontWeight.LocalValue = FontWeights.Bold; currPar = contentTable.Rows[0].Cells[1].Blocks.AddParagraph(); currRun = currPar.Inlines.AddRun("From"); currRun.Properties.FontWeight.LocalValue = FontWeights.Bold; currPar = contentTable.Rows[0].Cells[2].Blocks.AddParagraph(); currRun = currPar.Inlines.AddRun("To"); currRun.Properties.FontWeight.LocalValue = FontWeights.Bold; currPar = contentTable.Rows[0].Cells[3].Blocks.AddParagraph(); currRun = currPar.Inlines.AddRun("Place of Instal."); currRun.Properties.FontWeight.LocalValue = FontWeights.Bold; currPar = contentTable.Rows[0].Cells[4].Blocks.AddParagraph(); currRun = currPar.Inlines.AddRun(""); currRun.Properties.FontWeight.LocalValue = FontWeights.Bold; int curRow = 1; foreach (TaskB curTask in tasksForOrder) { currPar = contentTable.Rows[curRow].Cells[0].Blocks.AddParagraph(); currRun = currPar.Inlines.AddRun(curCust.NameEN); currPar = contentTable.Rows[curRow].Cells[1].Blocks.AddParagraph(); currRun = currPar.Inlines.AddRun(curTask.DateTimeStartOrder.ToString()); currPar = contentTable.Rows[curRow].Cells[2].Blocks.AddParagraph(); currRun = currPar.Inlines.AddRun(curTask.DateTimeEndOrder.ToString()); currPar = contentTable.Rows[curRow].Cells[3].Blocks.AddParagraph(); currRun = currPar.Inlines.AddRun(curTask.RequestedPosition.NameEN); currPar = contentTable.Rows[curRow].Cells[4].Blocks.AddParagraph(); string LineType2Print = curTask.LineType.Name; if (curTask.Internet == true) { LineType2Print += " + WIFI ROUTER"; } currRun = currPar.Inlines.AddRun(LineType2Print); curRow++; } var distinctTasksLT = tasksForOrder.Select(m => new { m.LineTypeID, m.Internet, m.MSN }).Distinct().ToList(); string concatString = ""; int distinctItems = 0; foreach (var dItem in distinctTasksLT) { if (distinctItems > 0 && distinctItems < distinctTasksLT.Count - 1) { concatString += ", "; } else if (distinctItems > 0 && distinctItems == distinctTasksLT.Count - 1) { concatString += " & "; } TaskB demoTask = tasksForOrder.Where(k => k.LineTypeID == dItem.LineTypeID && k.Internet == dItem.Internet && k.MSN == dItem.MSN).FirstOrDefault(); int itemCount = tasksForOrder.Where(k => k.LineTypeID == dItem.LineTypeID && k.Internet == dItem.Internet && k.MSN == dItem.MSN).Count(); concatString += itemCount.ToString() + " " + demoTask.LineType.Name; if (demoTask.Internet == true && demoTask.MSN == true) { concatString += " with router and MSN"; } else if (demoTask.Internet == true) { concatString += " with router"; } else if (demoTask.MSN == true) { concatString += " with MSN"; } distinctItems++; } currPar = insertParagraph(editor); currPar = insertParagraph(editor); currRun = editor.InsertText("Please provide " + concatString); currRun.Properties.FontSize.LocalValue = Telerik.Windows.Documents.Media.Unit.PointToDip(9); currRun.Properties.FontWeight.LocalValue = FontWeights.Bold; currPar = insertParagraph(editor); currRun = editor.InsertText("Contact Person: " + reps.Where(o => o.Title == "Contact Person").FirstOrDefault().Text + " Mob:" + reps.Where(o => o.Title == "Κινητό C.P.").FirstOrDefault().Text); currRun.Properties.FontWeight.LocalValue = FontWeights.Bold; currPar = insertParagraph(editor); currRun = editor.InsertText("Please advise on allocated numbers A.S.A.P. to the e-mail address: "); editor.InsertHyperlink(curRep.Text, "mailto:" + curRep.Text, false); currRun.Properties.FontWeight.LocalValue = FontWeights.Bold; currPar = insertParagraph(editor); currPar = insertParagraph(editor); currRun = editor.InsertText("HELLENIC TELECOMMUNICATIONS ORGANIZATION SA (OTE GROUP OF COMPANIES)"); currPar = insertParagraph(editor); currRun = editor.InsertText("VAT Number: "); currRun = editor.InsertText("EL 094019245"); currRun.Properties.FontWeight.LocalValue = FontWeights.Bold; currPar = insertParagraph(editor); currPar = insertParagraph(editor); currRun = editor.InsertText("Responsible for the payments is our company:"); currPar = insertParagraph(editor); currRun = editor.InsertText("HELLENIC TELECOMMUNICATIONS ORGANIZATION SA (OTE GROUP OF COMPANIES) via its Billing department bellow"); currPar = insertParagraph(editor); currPar = insertParagraph(editor); currRun = editor.InsertText("Delivery invoice address for the original invoice (Post mail):"); currPar = insertParagraph(editor); currRun = editor.InsertText("OTE INTERNATIONAL SOLUTION SA (OTEGLOBE)"); curRep = reps.Where(o => o.Title == "OTEGlobe Διεύθυνση 1").FirstOrDefault(); currPar = insertParagraph(editor); if (curRep != null) { //currPar = insertParagraph(editor); //currRun = editor.InsertText(curRep.Text); currRun = editor.InsertLine(curRep.Text); } curRep = reps.Where(o => o.Title == "OTEGlobe Διεύθυνση 2").FirstOrDefault(); if (curRep != null) { //currPar = insertParagraph(editor); //currRun = editor.InsertText(curRep.Text); currRun = editor.InsertLine(curRep.Text); } curRep = reps.Where(o => o.Title == "OTEGlobe Site").FirstOrDefault(); if (curRep != null) { //currPar = insertParagraph(editor); editor.InsertHyperlink(curRep.Text, "http://" + curRep.Text, false); } currPar = insertParagraph(editor); currPar = insertParagraph(editor); string rep = ""; curRep = reps.Where(o => o.Title == "Person In Charge").FirstOrDefault(); if (curRep != null) { rep += curRep.Text; } curRep = reps.Where(o => o.Title == "Person In Charge (Phone)").FirstOrDefault(); if (curRep != null) { rep += curRep.Text; } if (!string.IsNullOrEmpty(rep)) { currRun = editor.InsertText("(Person in charge " + rep + ")"); currPar = insertParagraph(editor); } curRep = reps.Where(o => o.Title == "Person In Charge (Email)").FirstOrDefault(); if (curRep != null) { currRun = editor.InsertText("Email: "); editor.InsertHyperlink(curRep.Text, "mailto:" + curRep.Text, false); currPar = insertParagraph(editor); } currRun = editor.InsertText("Email: "); editor.InsertHyperlink("*****@*****.**", "mailto:[email protected]", false); currPar = insertParagraph(editor); currPar = insertParagraph(editor); curRep = reps.Where(o => o.Title == "Email").FirstOrDefault(); if (curRep != null) { currPar = insertParagraph(editor); currRun = editor.InsertText("You could notify a copy of the invoice (as a pdf) to this e-mail: "); editor.InsertHyperlink(curRep.Text, "mailto:" + curRep.Text, false); currRun.Properties.FontWeight.LocalValue = FontWeights.Bold; } currPar = insertParagraph(editor); currRun = editor.InsertText("The charges will be settled via Bank transfer."); currPar = insertParagraph(editor); currPar = insertParagraph(editor); currRun = editor.InsertText("Best regards,"); currPar = insertParagraph(editor); currRun = editor.InsertText("SAOUSOPOULOU ANNA"); currPar = insertParagraph(editor); currRun = editor.InsertText("MANAGER OF GENTRANS, ATHENS"); curDoc.UpdateFields(); exportDOCX(curDoc); } catch (Exception ex) { } } }
public OrdersControllerTest() { _context = new ApplicationDbContext(); _controller = new OrdersController(new UnitOfWork(_context)); }
public OrdersControllerUnitTest() { var _mediator = new Mock <IMediator>(); _controller = new OrdersController(_mediator.Object); }