예제 #1
0
        public Result Save(ItemGroupDTO obj)
        {
            try
            {
                using (DbCommand cmd = Common.dbConn.GetStoredProcCommand("MSTItemGroupSave"))
                {
                    Common.dbConn.AddInParameter(cmd, "Id", DbType.Int32, obj.Id);
                    Common.dbConn.AddInParameter(cmd, "ItemGroupName", DbType.String, obj.ItemGroupName);
                    Common.dbConn.AddInParameter(cmd, "UpperGroup", DbType.Int32, obj.UpperGroup);
                    Common.dbConn.AddInParameter(cmd, "Prefix", DbType.String, obj.Prefix);
                    Common.dbConn.AddInParameter(cmd, "SalableItemGrp", DbType.Boolean, obj.SalableItemGrp);
                    Common.dbConn.AddInParameter(cmd, "AutomaticQC", DbType.Boolean, obj.AutomaticQC);
                    Common.dbConn.AddInParameter(cmd, "AutoAssemblyFromRGP", DbType.Boolean, obj.AutoAssemlyfromRGP);
                    Common.dbConn.AddInParameter(cmd, "AutoMrn", DbType.Boolean, obj.AutoMRN);
                    Common.dbConn.AddInParameter(cmd, "POReqInMRN", DbType.Boolean, obj.PORequiredinMRN);
                    Common.dbConn.AddInParameter(cmd, "ShowInWorkerOrder", DbType.Boolean, obj.ShowinWorkerOrder);
                    Common.dbConn.AddInParameter(cmd, "MakeAutoProdEntry", DbType.Boolean, obj.MakeAutoProductionEntry);
                    Common.dbConn.AddInParameter(cmd, "ScheduleNoRequiredinMRN", DbType.Boolean, obj.ScheduleNoRequiredinMRN);

                    Common.dbConn.ExecuteNonQuery(cmd);
                    return(new Result {
                        Id = 1, Message = "Saved", ResultStatus = OperationStatus.SavedSuccessFully
                    });
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #2
0
 public ItemGroup CreateItemGroupFromItemGroupDTO(ItemGroupDTO itemGroupDTO)
 {
     return(new ItemGroup
     {
         ItemId = itemGroupDTO.ItemID,
         Amount = itemGroupDTO.Amount,
     });
 }
예제 #3
0
        public OrderDTO FromOrderToOrderDTO(Order orderToMap)
        {
            OrderDTO orderDTOToReturn = new OrderDTO();

            orderDTOToReturn.TotalPrice = orderToMap.PriceOfThisOrder;
            foreach (var itemGroup in orderToMap.ItemGroups)
            {
                ItemGroupDTO itemGroupFromThisOrder = _itemGroupMapper.FromItemGroupToItemGroupDTO(itemGroup);
                orderDTOToReturn.ItemGroupsDTO.Add(itemGroupFromThisOrder);
            }
            orderDTOToReturn.Id = orderToMap.OrderId;
            return(orderDTOToReturn);
        }
예제 #4
0
        public void GivenItemGroupDTOWithShippingDateAndTotalPrice_WhenMappingToNewItemGroup_ThenOrderExceptionIsThrown()
        {
            //Given
            ItemGroupDTO itemgroup1DTO = new ItemGroupDTO()
            {
                ItemId = 0, AmountOfThisItem = 2, ShippingDate = new DateTime(), TotalPriceItemGroup = 1
            };

            //When
            Action act = () => _itemMapper.FromItemGroupDTOToItemGroup(itemgroup1DTO);

            //Then
            Assert.Throws <OrderException>(act);
        }
예제 #5
0
        public void GivenItemGroupDTOWithOnlyItemIdAndAmount_WhenMappingToNewItemGroup_ThenMappingIsOk()
        {
            //Given
            ItemGroupDTO itemgroup1DTO = new ItemGroupDTO()
            {
                ItemId = 0, AmountOfThisItem = 2
            };

            //When
            var actualResult = _itemMapper.FromItemGroupDTOToItemGroup(itemgroup1DTO);

            //Then
            Assert.NotNull(actualResult);
        }
예제 #6
0
        public void GivenNewOrder_WhenCreatingNewOrder_ThenOrderDTOTOReturnHasCorrectPrice()
        {
            //Given
            ItemGroupDTO itemgroup1DTO = new ItemGroupDTO()
            {
                ItemId = 0, AmountOfThisItem = 2
            };
            ItemGroupDTO itemGroup2DTO = new ItemGroupDTO()
            {
                ItemId = 1, AmountOfThisItem = 1
            };
            OrderDTO newOrderDTO = new OrderDTO()
            {
                IdOfCustomer = 0
            };

            newOrderDTO.ItemGroupsDTO.Add(itemgroup1DTO);
            newOrderDTO.ItemGroupsDTO.Add(itemGroup2DTO);

            ItemGroup itemgroup1 = new ItemGroup()
            {
                ItemId = 0, AmountOfThisItem = 2
            };
            ItemGroup itemGroup2 = new ItemGroup()
            {
                ItemId = 1, AmountOfThisItem = 1,
            };
            Order newOrder = new Order()
            {
                IdOfCustomer = 0
            };

            newOrder.ItemGroups.Add(itemgroup1);
            newOrder.ItemGroups.Add(itemGroup2);

            _orderMapperStub.FromOrderDTOToOrder(newOrderDTO).Returns(newOrder);
            _orderMapperStub.FromOrderToOrderDTO(newOrder).Returns(newOrderDTO);

            //When
            _orderService.CreateNewOrder(newOrderDTO);

            //then
            Assert.Equal(18, newOrder.PriceOfThisOrder);
        }
예제 #7
0
        public void GivenNewOrder_WhenCreatingNewOrder_ThenOrderRepositoryReceieveCallToAddNewOrder()
        {
            //Given
            ItemGroupDTO itemgroup1DTO = new ItemGroupDTO()
            {
                ItemId = 0, AmountOfThisItem = 2
            };
            ItemGroupDTO itemGroup2DTO = new ItemGroupDTO()
            {
                ItemId = 1, AmountOfThisItem = 1
            };
            OrderDTO newOrderDTO = new OrderDTO()
            {
                IdOfCustomer = 0
            };

            newOrderDTO.ItemGroupsDTO.Add(itemgroup1DTO);
            newOrderDTO.ItemGroupsDTO.Add(itemGroup2DTO);

            ItemGroup itemgroup1 = new ItemGroup()
            {
                ItemId = 0, AmountOfThisItem = 2
            };
            ItemGroup itemGroup2 = new ItemGroup()
            {
                ItemId = 1, AmountOfThisItem = 1,
            };
            Order newOrder = new Order()
            {
                IdOfCustomer = 0
            };

            newOrder.ItemGroups.Add(itemgroup1);
            newOrder.ItemGroups.Add(itemGroup2);

            _orderMapperStub.FromOrderDTOToOrder(newOrderDTO).Returns(newOrder);

            //When
            _orderService.CreateNewOrder(newOrderDTO);

            //then
            _orderRepositoryStub.Received().AddNewOrder(newOrder);
        }
예제 #8
0
        public void GivenNewOrderDTOWithItemGroupWithItemIdAndAmountAndPrice_WhenMakeNewOrder_ThenReturnBadRequestWithOrderExceptionMessage()
        {
            //Given
            ItemGroupDTO itemgroupDTO1 = new ItemGroupDTO()
            {
                ItemId = 0, AmountOfThisItem = 2, TotalPriceItemGroup = 5
            };
            OrderDTO orderDTO1 = new OrderDTO()
            {
                IdOfCustomer = 0
            };

            orderDTO1.ItemGroupsDTO.Add(itemgroupDTO1);
            _orderServiceStub.CreateNewOrder(orderDTO1).Returns(ex => { throw new OrderException(); });

            //When
            BadRequestObjectResult result = (BadRequestObjectResult)_ordersController.MakeNewOrder(orderDTO1).Result;

            //Then
            Assert.Equal("This order cannot be processed", result.Value);
        }
예제 #9
0
        public void GivenNewOrderDTOWithItemGroupWithItemIdAndAmount_WhenMakeNewOrder_ThenOrderServiceReceiveCallWithThisOrderDTO()
        {
            //Given
            ItemGroupDTO itemgroupDTO1 = new ItemGroupDTO()
            {
                ItemId = 0, AmountOfThisItem = 2
            };
            OrderDTO orderDTO1 = new OrderDTO()
            {
                IdOfCustomer = 0
            };

            orderDTO1.ItemGroupsDTO.Add(itemgroupDTO1);
            _orderServiceStub.CreateNewOrder(orderDTO1).Returns(orderDTO1);

            //When
            _ordersController.MakeNewOrder(orderDTO1);

            //Then
            _orderServiceStub.Received().CreateNewOrder(orderDTO1);
        }
예제 #10
0
        public void GivenNewOrderDTOWithItemGroupWithItemIdAndAmount_WhenMakeNewOrder_ThenReturnOKWithOrderDTO()
        {
            //Given
            ItemGroupDTO itemgroupDTO1 = new ItemGroupDTO()
            {
                ItemId = 0, AmountOfThisItem = 2
            };
            OrderDTO orderDTO1 = new OrderDTO()
            {
                IdOfCustomer = 0
            };

            orderDTO1.ItemGroupsDTO.Add(itemgroupDTO1);
            _orderServiceStub.CreateNewOrder(orderDTO1).Returns(orderDTO1);

            //When
            CreatedResult result = (CreatedResult)_ordersController.MakeNewOrder(orderDTO1).Result;

            //Then
            Assert.Equal(orderDTO1, result.Value);
            Assert.Equal(201, result.StatusCode);
        }
예제 #11
0
        public async void GivenNewOrderWithCustomerIdWithItemGroupWithoutShippingDatePriceWithAmountAndItemId_WhenCreatingMakingNewOrder_ThenReturnStatusCodeSuccess()
        {
            Customer.CustomerIdCounter = 0;
            Order.OrderCounter         = 0;
            Item.ItemCounter           = 0;

            ItemDTO newItemDTO1 = new ItemDTO()
            {
                AmountInStock = 5,
                Price         = 10.0,
                Name          = "Test1",
                Description   = "Test description1"
            };

            ItemDTO newItemDTO2 = new ItemDTO()
            {
                AmountInStock = 5,
                Price         = 10.0,
                Name          = "Test2",
                Description   = "Test description2"
            };

            var ItemJsonObject1 = JsonConvert.SerializeObject(newItemDTO1);
            var stringContent1  = new StringContent(ItemJsonObject1, Encoding.UTF8, "application/json");

            _client.DefaultRequestHeaders.Authorization = CreateBasicHeader("Admin", "AdminPassword");
            var response1 = await _client.PostAsync("api/items", stringContent1);

            var ItemJsonObject2 = JsonConvert.SerializeObject(newItemDTO2);
            var stringContent2  = new StringContent(ItemJsonObject2, Encoding.UTF8, "application/json");

            _client.DefaultRequestHeaders.Authorization = CreateBasicHeader("Admin", "AdminPassword");
            var response2 = await _client.PostAsync("api/items", stringContent1);

            CustomerDTO customerDTO = new CustomerDTO();

            customerDTO.Firstname        = "test";
            customerDTO.Lastname         = "test";
            customerDTO.AdressOfCustomer = new Adress(1820, "Perk", "kerkstraat", 5);
            customerDTO.Email            = "*****@*****.**";
            customerDTO.PhoneNumber      = "04/72123456";
            var customerJsonObject    = JsonConvert.SerializeObject(customerDTO);
            var stringContentCustomer = new StringContent(customerJsonObject, Encoding.UTF8, "application/json");
            var responseCustomer      = await _client.PostAsync("api/customers", stringContentCustomer);

            //Given
            ItemGroupDTO itemgroup1DTO = new ItemGroupDTO()
            {
                ItemId = 0, AmountOfThisItem = 2
            };
            ItemGroupDTO itemGroup2DTO = new ItemGroupDTO()
            {
                ItemId = 1, AmountOfThisItem = 1
            };
            OrderDTO newOrderDTO = new OrderDTO()
            {
                IdOfCustomer = 0
            };

            newOrderDTO.ItemGroupsDTO.Add(itemgroup1DTO);
            newOrderDTO.ItemGroupsDTO.Add(itemGroup2DTO);

            //When
            var OrderJsonObject    = JsonConvert.SerializeObject(newOrderDTO);
            var stringContentOrder = new StringContent(OrderJsonObject, Encoding.UTF8, "application/json");
            var responseOrder      = await _client.PostAsync("api/orders", stringContentOrder);

            //then
            Assert.True(responseOrder.IsSuccessStatusCode);
        }
예제 #12
0
        public Result Save(ERPDTOBase obj)
        {
            ItemGroupDTO ItemGrp = obj as ItemGroupDTO;

            return(new ItemGroupDAL().Save(ItemGrp));
        }