コード例 #1
0
        public async Task <IActionResult> CreateSalesOrder([FromBody] SalesOrderDataTransformation salesOrderDataTransformation)
        {
            SecurityModel securityModel = (SecurityModel)(HttpContext.Items["SecurityModel"]);

            int accountId = securityModel.AccountId;

            salesOrderDataTransformation.AccountId = accountId;

            ResponseModel <SalesOrderDataTransformation> returnResponse = new ResponseModel <SalesOrderDataTransformation>();

            try
            {
                returnResponse = await _salesOrderManagementBusinessService.CreateSalesOrder(salesOrderDataTransformation);

                returnResponse.Token = securityModel.Token;
                if (returnResponse.ReturnStatus == false)
                {
                    return(BadRequest(returnResponse));
                }

                return(Ok(returnResponse));
            }
            catch (Exception ex)
            {
                returnResponse.ReturnStatus = false;
                returnResponse.ReturnMessage.Add(ex.Message);
                return(BadRequest(returnResponse));
            }
        }
コード例 #2
0
        public async Task <IActionResult> SubmitSalesOrder([FromBody] SalesOrderDataTransformation salesOrderDataTransformation)
        {
            SecurityModel securityModel = (SecurityModel)(HttpContext.Items["SecurityModel"]);

            int accountId = securityModel.AccountId;

            salesOrderDataTransformation.AccountId = accountId;

            ResponseModel <SalesOrderDataTransformation> returnResponse = new ResponseModel <SalesOrderDataTransformation>();

            try
            {
                returnResponse = await _salesOrderManagementBusinessService.SubmitSalesOrder(salesOrderDataTransformation);

                returnResponse.Token = securityModel.Token;
                if (returnResponse.ReturnStatus == false)
                {
                    return(BadRequest(returnResponse));
                }

                await _messageQueueContext.Clients.All.SendAsync(MessageQueueEndpoints.SalesOrderQueue, string.Empty);

                return(Ok(returnResponse));
            }
            catch (Exception ex)
            {
                returnResponse.ReturnStatus = false;
                returnResponse.ReturnMessage.Add(ex.Message);
                return(BadRequest(returnResponse));
            }
        }
        /// <summary>
        /// Get Sales Order
        /// </summary>
        /// <param name="accountId"></param>
        /// <param name="salesOrderId"></param>
        /// <returns></returns>
        public async Task <ResponseModel <SalesOrderDataTransformation> > GetSalesOrder(int accountId, int salesOrderId)
        {
            ResponseModel <SalesOrderDataTransformation> returnResponse = new ResponseModel <SalesOrderDataTransformation>();
            SalesOrderDataTransformation salesOrderDataTransformation   = new SalesOrderDataTransformation();

            try
            {
                _inventoryManagementDataService.OpenConnection(_connectionStrings.PrimaryDatabaseConnectionString);

                SalesOrder salesOrder = await _inventoryManagementDataService.GetSalesOrder(accountId, salesOrderId);

                salesOrderDataTransformation.SalesOrderId       = salesOrderId;
                salesOrderDataTransformation.SalesOrderNumber   = salesOrder.SalesOrderNumber;
                salesOrderDataTransformation.SalesOrderStatusId = salesOrder.SalesOrderStatusId;
                salesOrderDataTransformation.CustomerName       = salesOrder.CustomerName;
                salesOrderDataTransformation.AddressLine1       = salesOrder.AddressLine1;
                salesOrderDataTransformation.AddressLine2       = salesOrder.AddressLine2;
                salesOrderDataTransformation.City       = salesOrder.City;
                salesOrderDataTransformation.Region     = salesOrder.Region;
                salesOrderDataTransformation.PostalCode = salesOrder.PostalCode;
                salesOrderDataTransformation.OrderTotal = salesOrder.OrderTotal;
                salesOrderDataTransformation.SalesOrderStatusDescription = salesOrder.SalesOrderStatus.Description;
                salesOrderDataTransformation.DateCreated       = salesOrder.DateCreated;
                salesOrderDataTransformation.DateUpdated       = salesOrder.DateUpdated;
                salesOrderDataTransformation.SalesOrderDetails = new List <SalesOrderDetailDataTransformation>();

                foreach (SalesOrderDetail salesOrderDetail in salesOrder.SalesOrderDetails)
                {
                    SalesOrderDetailDataTransformation salesOrderDetailDataTransformation = new SalesOrderDetailDataTransformation();
                    salesOrderDetailDataTransformation.SalesOrderDetailId = salesOrderDetail.SalesOrderDetailId;
                    salesOrderDetailDataTransformation.SalesOrderId       = salesOrderDetail.SalesOrderId;
                    salesOrderDetailDataTransformation.ProductId          = salesOrderDetail.ProductId;
                    salesOrderDetailDataTransformation.ProductNumber      = salesOrderDetail.Product.ProductNumber;
                    salesOrderDetailDataTransformation.ProductDescription = salesOrderDetail.Product.Description;
                    salesOrderDetailDataTransformation.UnitPrice          = salesOrderDetail.UnitPrice;
                    salesOrderDetailDataTransformation.OrderQuantity      = salesOrderDetail.OrderQuantity;
                    salesOrderDetailDataTransformation.ShippedQuantity    = salesOrderDetail.ShippedQuantity;
                    salesOrderDetailDataTransformation.DateCreated        = salesOrderDetail.DateCreated;
                    salesOrderDetailDataTransformation.DateUpdated        = salesOrderDetail.DateUpdated;

                    salesOrderDataTransformation.SalesOrderDetails.Add(salesOrderDetailDataTransformation);
                }

                returnResponse.ReturnStatus = true;
            }
            catch (Exception ex)
            {
                returnResponse.ReturnStatus = false;
                returnResponse.ReturnMessage.Add(ex.Message);
            }
            finally
            {
                _inventoryManagementDataService.CloseConnection();
            }

            returnResponse.Entity = salesOrderDataTransformation;

            return(returnResponse);
        }
        /// <summary>
        /// Sales Order Inquiry
        /// </summary>
        /// <param name="accountId"></param>
        /// <param name="customerName"></param>
        /// <param name="currentPageNumber"></param>
        /// <param name="pageSize"></param>
        /// <param name="sortExpression"></param>
        /// <param name="sortDirection"></param>
        /// <returns></returns>
        public async Task <ResponseModel <List <SalesOrderDataTransformation> > > SalesOrderInquiry(int accountId, string customerName, int currentPageNumber, int pageSize, string sortExpression, string sortDirection)
        {
            ResponseModel <List <SalesOrderDataTransformation> > returnResponse = new ResponseModel <List <SalesOrderDataTransformation> >();

            List <SalesOrderDataTransformation> salesOrders = new List <SalesOrderDataTransformation>();

            try
            {
                _inventoryManagementDataService.OpenConnection(_connectionStrings.PrimaryDatabaseConnectionString);

                DataGridPagingInformation dataGridPagingInformation = new DataGridPagingInformation();
                dataGridPagingInformation.CurrentPageNumber = currentPageNumber;
                dataGridPagingInformation.PageSize          = pageSize;
                dataGridPagingInformation.SortDirection     = sortDirection;
                dataGridPagingInformation.SortExpression    = sortExpression;

                List <SalesOrder> salesOrderList = await _inventoryManagementDataService.SalesOrderInquiry(accountId, customerName, dataGridPagingInformation);

                foreach (SalesOrder salesOrder in salesOrderList)
                {
                    SalesOrderDataTransformation salesOrderDataTransformation = new SalesOrderDataTransformation();
                    salesOrderDataTransformation.AddressLine1                = salesOrder.AddressLine1;
                    salesOrderDataTransformation.AddressLine2                = salesOrder.AddressLine2;
                    salesOrderDataTransformation.City                        = salesOrder.City;
                    salesOrderDataTransformation.Region                      = salesOrder.Region;
                    salesOrderDataTransformation.PostalCode                  = salesOrder.PostalCode;
                    salesOrderDataTransformation.CustomerName                = salesOrder.CustomerName;
                    salesOrderDataTransformation.DateCreated                 = salesOrder.DateCreated;
                    salesOrderDataTransformation.OrderTotal                  = salesOrder.OrderTotal;
                    salesOrderDataTransformation.AccountId                   = salesOrder.AccountId;
                    salesOrderDataTransformation.SalesOrderId                = salesOrder.SalesOrderId;
                    salesOrderDataTransformation.SalesOrderNumber            = salesOrder.SalesOrderNumber;
                    salesOrderDataTransformation.SalesOrderStatusId          = salesOrder.SalesOrderStatusId;
                    salesOrderDataTransformation.SalesOrderStatusDescription = salesOrder.SalesOrderStatus.Description;
                    salesOrders.Add(salesOrderDataTransformation);
                }

                returnResponse.Entity     = salesOrders;
                returnResponse.TotalRows  = dataGridPagingInformation.TotalRows;
                returnResponse.TotalPages = dataGridPagingInformation.TotalPages;

                returnResponse.ReturnStatus = true;
            }
            catch (Exception ex)
            {
                returnResponse.ReturnStatus = false;
                returnResponse.ReturnMessage.Add(ex.Message);
            }
            finally
            {
                _inventoryManagementDataService.CloseConnection();
            }

            return(returnResponse);
        }