コード例 #1
0
        public virtual async Task <string> createOrderAsync(OrderStatusModel orderStatusModel)
        {
            OrderStatus orderStatus = new OrderStatus();

            orderStatus.CreationDate     = DateTime.Now;
            orderStatus.ModificationDate = DateTime.Now;
            orderStatus.CustomerId       = orderStatusModel.CustomerId;
            var salesManData    = _salesUserRepository.Read(orderStatusModel.SalesManLoginDomain);
            var checkSalesManId = _salesUserRepository.getSalesManDetails(salesManData.LoginDomain);

            if (checkSalesManId != null)
            {
                orderStatus.SalesManLoginDomain = orderStatusModel.SalesManLoginDomain;
            }
            else
            {
                throw new CustomException("User is Inactive or not available");
            }

            var checkInventoryStock = _inventoryRepository.checkInventoryData(orderStatusModel.InventoryId);

            if (checkInventoryStock != null)
            {
                orderStatus.InventoryId = orderStatusModel.InventoryId;
            }
            else
            {
                throw new CustomException(checkInventoryStock.InventoryName + " " + "is not available");
            }

            orderStatus.UnitOrder = orderStatusModel.UnitOrder;
            orderStatus.Height    = orderStatusModel.Height;
            orderStatus.Weight    = orderStatusModel.Weight;

            if (orderStatusModel.Weight != 0)
            {
                orderStatus.PurchaseAmount = checkInventoryStock.Price * orderStatus.Weight;
            }
            else
            {
                orderStatus.PurchaseAmount = checkInventoryStock.Price * orderStatus.Height;
            }
            orderStatus.Status     = Constants.placedId;
            orderStatus.CreatedBy  = orderStatusModel.CustomerId;
            orderStatus.ModifiedBy = orderStatusModel.CustomerId;
            OrderStatus order = _orderStatusRepository.Create(orderStatus);
            await _orderStatusRepository.SaveAsync();

            OrderStatusModel orderStatusModelData = Mapper.Map <OrderStatus, OrderStatusModel>(order);

            var leftUnitInStock = (checkInventoryStock.AvailableQuantity - orderStatusModel.UnitOrder);

            checkInventoryStock.AvailableQuantity = leftUnitInStock;
            checkInventoryStock.ModificationDate  = DateTime.Now;
            _inventoryRepository.Update(checkInventoryStock);
            await _inventoryRepository.SaveAsync();

            string successMessage = Constants.OrderPlaced + " " + orderStatusModelData.PurchaseAmount;

            return(successMessage);
        }
コード例 #2
0
        public object getSalesUserById(int userID)
        {
            var salesUserData = _salesUserRepository.Read(userID);

            return(salesUserData);
        }