/// <summary> /// Add a single sales order to the SalesOrder Datatable /// </summary> /// <param name="salesOrder"></param> public void AddSalesOrder(DTO.SalesOrder.DTO_SalesOrder salesOrder) { lock (SalesOrderTableLock) { //Generate datatable if it does not exists if (SalesOrderTable == null) { GenerateSalesOrderDatatable(SalesOrderIndexerConfig.IndexName); } DataRow NewRow = SalesOrderTable.NewRow(); Type t = typeof(DTO.SalesOrder.DTO_SalesOrder); // Get the public properties. PropertyInfo[] propInfos = t.GetProperties(BindingFlags.Public | BindingFlags.Instance); //Load new row with data. foreach (var propInfo in propInfos) { NewRow[propInfo.Name] = propInfo.GetValue(salesOrder); } //add new row to datatable. SalesOrderTable.Rows.Add(NewRow); } }
/// <summary> /// Sends a single SalesOrder object for onboarding into eMite. /// </summary> /// <param name="data"></param> /// <returns></returns> public override DTO_Result Onboard(DTO_Base data) { bcl.DTO.DTO_Result Results = new DTO_Result(); //Create a sales order list object DTO.SalesOrder.DTO_SalesOrderList SalesOrders = new DTO.SalesOrder.DTO_SalesOrderList(); //check if the DTO passed is of type DTO_SalesOrder if (data.GetType() == typeof(DTO.SalesOrder.DTO_SalesOrder)) { //cast the dto to DTO_SalesOrder object DTO.SalesOrder.DTO_SalesOrder salesOrder = (DTO.SalesOrder.DTO_SalesOrder)data; //add the sales order to the list SalesOrders.Add(salesOrder); //onboard the sales order. Results = Onboard(SalesOrders); } else { //Log DTO not of type DTO_SalesOrder Log.Error("Record not of type: DTO_SalesOrder"); } return(Results); }