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)); } }
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); }