/// <summary> /// Create a new item with the minimal information. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void CmdSave_Click(object sender, EventArgs e) { BasBEArtigo artigo = new BasBEArtigo(); BasBEArtigoMoeda artigoMoeda = new BasBEArtigoMoeda(); BasBEArtigoUnidade artigoUnidade = new BasBEArtigoUnidade(); artigo.Artigo = txtItem.Text; artigo.Descricao = txtDescription.Text; artigo.UnidadeBase = txtBaseUnit.Text; // Fill the default item information. PriEngine.Engine.Base.Artigos.PreencheDadosRelacionados(artigo); // Set the item prices for the selectc currency. artigoMoeda.Artigo = artigo.Artigo; artigoMoeda.Unidade = artigo.UnidadeBase; artigoMoeda.Moeda = txtCurrency.Text; artigoMoeda.PVP1IvaIncluido = false; artigoMoeda.PVP1 = 100; artigoUnidade.Artigo = artigo.Artigo; artigoUnidade.FactorConversao = 1; artigoUnidade.UnidadeDestino = artigo.UnidadeBase; artigoUnidade.UnidadeOrigem = artigo.UnidadeBase; // Create a new attach. StdPlatBE100.StdBEAnexo anexo = new StdPlatBE100.StdBEAnexo(); // The Attach ID. string anexoID = Guid.NewGuid().ToString(); anexo.IdAnexo = anexoID; anexo.Data = DateTime.Today; anexo.Tabela = StdPlatBE100.StdBETipos.EnumTabelaAnexos.anxArtigos; anexo.Chave = artigo.Artigo; anexo.Descricao = artigo.Descricao; anexo.Utilizador = PriEngine.Engine.Contexto.UtilizadorActual; anexo.Idioma = (int)PriEngine.Platform.Contexto.Utilizador.Cultura; anexo.Tipo = "IMG"; anexo.Web = true; anexo.FicheiroOrigem = @"c:\temp\img_test.png"; // Insert the a new attach. PriEngine.Platform.Anexos.Actualiza(anexo); // Update or insert a new item PriEngine.Engine.Base.Artigos.Actualiza(artigo); PriEngine.Engine.Base.ArtigosPrecos.Actualiza(artigoMoeda); PriEngine.Engine.Base.ArtigosUnidades.Actualiza(ref artigoUnidade); // Format the attach file. anexoID = "{" + anexoID + "}"; // Copy the file to the images folder. File.Copy(@"c:\temp\img_test.png", $@"C:\Program Files\PRIMAVERA\SG100\Dados\LE\ANEXOS\{anexoID}.png", true); }
/// <summary> /// Update the Item in the group companies /// </summary> /// <param name="oERPContext"></param> /// <param name="Artigo"></param> /// <returns>List<String> of the updated companies</returns> internal static List <String> UpdateItem_GroupCompanies(ERPContext oERPContext, String Item) { Dictionary <String, String> groupCompanies = CrossCompany.Platform.GetGroupCompanies(oERPContext); List <String> updatedCompanies = new List <string>(); //Exit if no companies where found if (groupCompanies.Count == 0) { return(updatedCompanies); } groupCompanies.Remove(oERPContext.BSO.Contexto.CodEmp); foreach (string company in groupCompanies.Keys) { ErpBS oCompany = new ErpBS(); oCompany.AbreEmpresaTrabalho( StdBE100.StdBETipos.EnumTipoPlataforma.tpEmpresarial, company, Properties.Settings.Default.User, Properties.Settings.Default.Password); //Create or update the item BasBEArtigo oItem = oERPContext.BSO.Base.Artigos.Edita(Item); BasBEArtigoMoeda oItemPrices = oERPContext.BSO.Base.ArtigosPrecos.Edita(Item, "EUR", oERPContext.BSO.Base.Artigos.DaValorAtributo(Item, "UnidadeBase")); if (!oCompany.Base.Artigos.Existe(Item)) { oItem.EmModoEdicao = false; oItemPrices.EmModoEdicao = false; } oCompany.Base.Artigos.Actualiza(oItem); oCompany.Base.ArtigosPrecos.Actualiza(oItemPrices); updatedCompanies.Add(company); oCompany.FechaEmpresaTrabalho(); } return(updatedCompanies); }