/// <summary> /// Arma un objeto artículo de proveedor. /// </summary> /// <param name="hojaXl"></param> /// <param name="fila"></param> /// <param name="param"></param> /// <param name="linea"></param> public void armaArtProvEconn(ExcelWorksheet hojaXl, int fila, Parametros param, int linea) { try { iError = 0; taCreateItemVendors_ItemsTaCreateItemVendors articuloIvVendor = new taCreateItemVendors_ItemsTaCreateItemVendors(); articuloIvVendor.ITEMNMBR = param.defaultInventoryItem; articuloIvVendor.VENDORID = hojaXl.Cells[fila, Convert.ToInt32(param.facturaPopCaVENDORID)].Value.ToString(); articuloIvVendor.VNDITNUM = param.defaultInventoryItem; articuloIvVendor.UpdateIfExists = 0; itemsVendors[linea] = articuloIvVendor; } catch (Exception errorGral) { sMensaje = "Error al armar artículos de proveedor. " + errorGral.Message + " [armaFacturaDeEconn]"; iError++; } }
private void CreateVendorItem(string vendorID, string itemNumber) { eConnectType eConnect; try { taCreateItemVendors_ItemsTaCreateItemVendors record = new taCreateItemVendors_ItemsTaCreateItemVendors(); record.ITEMNMBR = itemNumber; record.VENDORID = vendorID; IVVendorItemType curType = new IVVendorItemType(); curType.taCreateItemVendors_Items = new taCreateItemVendors_ItemsTaCreateItemVendors[] { record }; IVVendorItemType[] typeArray = new IVVendorItemType[] { curType }; eConnect = new eConnectType(); eConnect.IVVendorItemType = typeArray; //Serialize the XML document to the file XmlSerializer serializer = new XmlSerializer(typeof(eConnectType)); StringWriter writer = new StringWriter(); serializer.Serialize(writer, eConnect); DynamicsGP_ec.SendData(writer.ToString()); } catch (Exception ex) { //ExceptionMngr.WriteEvent("CreateVendorItem: ", ListValues.EventType.Error, ex, null, //ListValues.ErrorCategory.ErpConnection); throw new Exception("CreateVendorItem: "+ ex.Message); } }
/// <summary> /// save part vendor master /// </summary> /// <param name="part"></param> /// <returns></returns> public OperationResult SavePartVendorMaster(IV00103_Part_Vendor_Master part) { var operationResult = new OperationResult(); var existingPart = _dynamicsContext.IV00103_Part_Vendor_Master.FirstOrDefault(x => x.ITEMNMBR.Replace(" ", string.Empty).ToLower() == part.ITEMNMBR.Replace(" ", string.Empty).ToLower()); if (existingPart == null) { logger.Debug("Vendor Part is being created..."); using (eConnectMethods e = new eConnectMethods()) { try { // Instantiate a taCreateItemVendors_ItemsTaCreateItemVendors XML node object taCreateItemVendors_ItemsTaCreateItemVendors item = new taCreateItemVendors_ItemsTaCreateItemVendors(); //Populate elements of the taCreateItemVendors_ItemsTaCreateItemVendors XML node object item.ITEMNMBR = part.ITEMNMBR; item.VENDORID = part.VENDORID; item.VNDITNUM = part.VNDITNUM; item.UpdateIfExists = 0; // Instantiate a IVItemMasterType schema object IVItemMasterType itemtype = new IVItemMasterType(); // Populate the IVItemMasterType schema with the taCreateItemVendors_ItemsTaCreateItemVendors XML node itemtype.taCreateItemVendors_Items = new taCreateItemVendors_ItemsTaCreateItemVendors[1] { item }; IVItemMasterType[] vendorItem = { itemtype }; // Instantiate an eConnectType schema object eConnectType eConnect = new eConnectType(); // Instantiate a Memory Stream object MemoryStream memoryStream = new MemoryStream(); // Create an XML serializer object XmlSerializer serializer = new XmlSerializer(eConnect.GetType()); // Populate the eConnectType object with the IVItemMasterType schema object eConnect.IVItemMasterType = vendorItem; // Serialize the eConnectType. serializer.Serialize(memoryStream, eConnect); // Reset the position of the memory stream to the start. memoryStream.Position = 0; // Create an XmlDocument from the serialized eConnectType in memory. XmlDocument xmlDocument = new XmlDocument(); xmlDocument.Load(memoryStream); memoryStream.Close(); // Call eConnect to process the XmlDocument. e.CreateEntity(_dynamicsConnection, xmlDocument.OuterXml); operationResult.Success = true; operationResult.Message = "Success"; } // The eConnectException class will catch eConnect business logic errors. // display the error message on the console catch (eConnectException exc) { Console.Write(exc.ToString()); operationResult.Success = false; operationResult.Message = "Error"; logger.ErrorFormat("Error saving new part price header: {0} ", exc.ToString()); } // Catch any system error that might occurr. // display the error message on the console catch (System.Exception ex) { Console.Write(ex.ToString()); operationResult.Success = false; operationResult.Message = "Error"; logger.ErrorFormat("Error saving new part price header: {0} ", ex.ToString()); } finally { // Call the Dispose method to release the resources // of the eConnectMethds object e.Dispose(); } } // end of using statement } else { operationResult.Success = false; operationResult.Message = "Duplicate Entry"; } return(operationResult); }