public virtual IActionResult CreateSalesorder([FromBody] SalesOrderRequest body) { ServiceResponse <SalesOrderResponse> serviceResponse = new ServiceResponse <SalesOrderResponse>(); int?orderid = _orderRepository.Add(new Order() { CustomerID = body.CustomerID, OrderDate = DateTime.Now.ToString() }); List <OrderItem> orderItems = new List <OrderItem>(); foreach (var item in body.OrderItemRequestList.SalesOrders) { orderItems.Add(new OrderItem() { OrderID = orderid, ProductID = item.ProductID, Quantity = item.Quantity }); } foreach (var item in orderItems) { int?orderItemid = _orderItemRepository.Add(item); } if (orderid > 0) { SalesOrderResponse response = new SalesOrderResponse() { OrderID = orderid, Message = "Saved Successfully." }; serviceResponse.SetSuccess(response); } else { serviceResponse.SetError(MethodBase.GetCurrentMethod().Name, ServiceResponseStatus.Error, "", "", string.Empty); } return(Ok(serviceResponse)); }
/** * Push documents to internal queue */ private void SendToQueue(SalesOrderResponse response) { if (response?.Message == null) { return; } foreach (var item in response.Message) { this.Queue.Enqueue(item); } }
public ActionResult GetSaleOrdersSummary(int?CustomerID, string fromDate, string toDate) { ActionResult actionResult; List <SalesOrder> salesOrders = new List <SalesOrder>(); List <SalesOrderResponse> responses = new List <SalesOrderResponse>(); DateTime cFromDate = Convert.ToDateTime(fromDate).Date; DateTime cToDate = Convert.ToDateTime(toDate).Date; int? customerID = CustomerID; salesOrders = ((customerID.GetValueOrDefault() == 0 ? !customerID.HasValue : true) ? this.salesService.GetAllSalesOrdersByCustomerId(CustomerID) : this.salesService.GetAllSalesOrders(cFromDate, cToDate)); if (salesOrders != null) { foreach (SalesOrder salesOrder in salesOrders) { IEnumerable <SalesOrderResponse> isexists = from a in responses where a.SalesOrderId == salesOrder.SalesOrderId select a; if ((isexists == null ? true : isexists.Count <SalesOrderResponse>() <= 0)) { SalesOrderResponse response = new SalesOrderResponse() { Id = salesOrder.Id, SalesOrderId = salesOrder.SalesOrderId, OrderDate = salesOrder.OrderDate, PostDate = salesOrder.OrderDate.ToString("dd-MM-yyyy") }; response.Customer.Name = salesOrder.Customer.Name; response.Amount = salesOrder.Amount; response.Notes = string.Concat(new object[] { salesOrder.Product.ProductName, "->", salesOrder.BaleQty, "*", salesOrder.BaleWeight, "*", salesOrder.Rate }); responses.Add(response); } else { SalesOrderResponse salesOrderResponse = isexists.FirstOrDefault <SalesOrderResponse>(); salesOrderResponse.Notes = string.Concat(new object[] { salesOrderResponse.Notes, " ,", salesOrder.Product.ProductName, "->", salesOrder.BaleQty, "*", salesOrder.BaleWeight, "*", salesOrder.Rate }); SalesOrderResponse amount = salesOrderResponse; amount.Amount = amount.Amount + salesOrder.Amount; } } actionResult = base.Json(responses, 0); } else { actionResult = base.HttpNotFound(); } return(actionResult); }
private void PostSO(SalesOrder oSalesOrder, int i, SAPbouiCOM.Matrix oMatx) { String EbizKey = ""; bool PostStatus = false; try { if (CheckBP(oSalesOrder.CustomerId)) { foreach (var item in oSalesOrder.Items) { if (!CheckItem(item.ItemId)) { var Eror = ""; } } } bool flgAddNewRecord = true; String Refnum = ""; SalesOrderResponse resp = ebiz.AddSalesOrder(getToken(), oSalesOrder); if (resp.ErrorCode == 2 && resp.Error.Equals("Record already exists") && resp.Status.Equals("Error")) { //Update SalesOrder OldSalesOrder = ebiz.GetSalesOrder(getToken(), oSalesOrder.CustomerId, "", oSalesOrder.SalesOrderNumber, ""); UpdateEbizChargeKey("ORDR", OldSalesOrder.SalesOrderInternalId, oSalesOrder.SalesOrderNumber); /// SalesOrder updateSO = new SalesOrder(); updateSO.CustomerId = oSalesOrder.CustomerId.Trim(); updateSO.SalesOrderInternalId = null; updateSO.Software = Software; updateSO.SalesOrderNumber = oSalesOrder.SalesOrderNumber; updateSO.Currency = oSalesOrder.Currency; updateSO.Date = oSalesOrder.Date; updateSO.DueDate = oSalesOrder.DueDate; updateSO.Amount = oSalesOrder.Amount; updateSO.AmountDue = oSalesOrder.AmountDue; updateSO.NotifyCustomer = false; updateSO.TotalTaxAmount = 0; updateSO.Memo = ""; updateSO.ShipDate = oSalesOrder.DueDate; updateSO.ShipVia = ""; updateSO.Items = oSalesOrder.Items; var updateSoResp = ebiz.UpdateSalesOrder(getToken(), updateSO, oSalesOrder.CustomerId.Trim(), null, oSalesOrder.SalesOrderNumber, null); if (updateSoResp.Status.Equals("")) { //ValidMsg = "Update To Connect Status:" + updateSoResp.Status; } /// flgAddNewRecord = false; EbizKey = OldSalesOrder.SalesOrderInternalId; PostStatus = true; ShowSystemLog(String.Format("Sales Order:{0} Updated successfully", oSalesOrder.SalesOrderNumber)); } else if (resp.ErrorCode == 0 && resp.Error.Equals("") && resp.Status.Equals("Success")) { UpdateEbizChargeKey("ORDR", resp.SalesOrderInternalId, oSalesOrder.SalesOrderNumber); EbizKey = resp.SalesOrderInternalId; PostStatus = true; ShowSystemLog(String.Format("Sales Order:{0} Upload successfully", oSalesOrder.SalesOrderNumber)); TransactionResponse oTranResp = RunTransactionOrder(oSalesOrder); Refnum = oTranResp.RefNum; } if (PostStatus) { //SAPbouiCOM.EditText oEdit = (SAPbouiCOM.EditText)oMatx.Columns.Item("clEbizkey").Cells.Item(i + 1).Specific; //oEdit.Value = EbizKey; //U_PaidAmt,U_RefNum,U_CustomerID,U_DocEntry,U_Balance LogTable oExportSOLogTable = new LogTable(); oExportSOLogTable.DocNum = oSalesOrder.SalesOrderNumber; oExportSOLogTable.DocType = "SO"; oExportSOLogTable.Status = "Uploaded"; oExportSOLogTable.PaymentStatus = ""; oExportSOLogTable.RefNum = Refnum; oExportSOLogTable.CardCode = oSalesOrder.CustomerId; oExportSOLogTable.DocEntry = oSalesOrder.PoNum; oExportSOLogTable.AmountPaid = 0; oExportSOLogTable.Amount = ConvertDecimal(oSalesOrder.Amount.ToString()); oExportSOLogTable.AmountDue = ConvertDecimal(oSalesOrder.AmountDue.ToString()); if (flgAddNewRecord) { oExportSOLogTable.CreateDt = DateTime.Now; oExportSOLogTable.DocState = "Add"; } else { oExportSOLogTable.CreateDt = DateTime.Now; oExportSOLogTable.DocState = "Update"; } oExportSOLogTable.UpdateDt = DateTime.Now; SAPbouiCOM.EditText oEdit = (SAPbouiCOM.EditText)oMatx.Columns.Item("clSync").Cells.Item(i + 1).Specific; oEdit.Value = "True"; oEdit = (SAPbouiCOM.EditText)oMatx.Columns.Item("Status").Cells.Item(i + 1).Specific; oEdit.Value = oExportSOLogTable.Status; oEdit = (SAPbouiCOM.EditText)oMatx.Columns.Item("UploadDt").Cells.Item(i + 1).Specific; if (oExportSOLogTable.CreateDt != DateTime.MinValue) { oEdit.Value = DatetimeTosapFormatDate(oExportSOLogTable.CreateDt); } oEdit = (SAPbouiCOM.EditText)oMatx.Columns.Item("TransDt").Cells.Item(i + 1).Specific; oEdit.Value = DatetimeTosapFormatDate(oExportSOLogTable.UpdateDt); AddSOLog(oExportSOLogTable); } else { //SAPbouiCOM.EditText oEdit = (SAPbouiCOM.EditText)oMatx.Columns.Item("clEbizkey").Cells.Item(i + 1).Specific; //oEdit.Value = resp.Error; SAPbouiCOM.EditText oEdit = (SAPbouiCOM.EditText)oMatx.Columns.Item("clSync").Cells.Item(i + 1).Specific; oEdit.Value = "False"; } } catch (Exception ex) { errorLog(ex); } }