Beispiel #1
0
        public static void PrintReportPersonalized(EtiAplicacao etiApp, MovVenda sale)
        {
            EventsClass e = null;

            try
            {
                e = new EventsClass();
                e.PrintReportPersonalized(etiApp, sale);
            }
            catch (Exception ex)
            {
                if (Environment.UserInteractive)
                {
                    var errorDescription = string.Format("{0}.{1}.{2}", MethodBase.GetCurrentMethod().DeclaringType.FullName, MethodBase.GetCurrentMethod().Name, ex.Message);
                    MessageBox.Show(errorDescription);
                }
                else
                {
                    throw ex;
                }
            }
            finally
            {
                e = null;
            }
        }
Beispiel #2
0
        public static void AddNewActivity(EtiAplicacao etiApp, EtiConnNetBD conn, Cliente customer)
        {
            EventsClass e = null;

            try
            {
                e = new EventsClass();

                e.AddNewActivity(etiApp, customer);
            }
            catch (Exception ex)
            {
                if (Environment.UserInteractive)
                {
                    var errorDescription = string.Format("{0}.{1}.{2}", MethodBase.GetCurrentMethod().DeclaringType.FullName, MethodBase.GetCurrentMethod().Name, ex.Message);
                    MessageBox.Show(errorDescription);
                }
                else
                {
                    throw ex;
                }
            }
            finally
            {
                e = null;
            }
        }
Beispiel #3
0
        public static void PrintToPrinter(EtiAplicacao etiApp, string DocFiscalYearCode, string DocSeccion, string DocType, int DocNumber)
        {
            Eticadata.Views.Reports.ReportsGcePOS report = new Views.Reports.ReportsGcePOS(etiApp, "", ERP.EtiEnums.ExportWebFormat.PDF);

            byte[] reportBytes;

            var rptProp = new Eticadata.Common.EtiReportProperties()
            {
                TpDocAEmitir        = TpDocumentoAEmitir.Vendas,
                AbrevTpDoc          = DocType,
                CodExercicio        = DocFiscalYearCode,
                CodSeccao           = DocSeccion,
                Numero              = DocNumber,
                EtiApp              = etiApp,
                ExportaFicheiro     = false,
                SoExportacao        = false,
                ToPrinter           = true,
                IncrementPrintCount = true,
                Application         = ReportApplication.BackOffice,
                ExportaFormato      = "1"
            };

            reportBytes = report.EmiteDocumentos(rptProp);

            if (!string.IsNullOrEmpty(rptProp.ErrorDescription))
            {
                throw new Exception(rptProp.ErrorDescription);
            }
        }
Beispiel #4
0
        /// <summary>
        /// Depois de gravar a venda
        /// Imprimir o documento de venda alternativo
        /// </summary>
        /// <param name="etiApp"></param>
        /// <param name="sale"></param>
        internal void PrintAlternativeFile(EtiAplicacao etiApp, MovVenda sale)
        {
            ReportsGcePOS report = new ReportsGcePOS(etiApp, "", ExportWebFormat.PDF);

            var rptProp = new Eticadata.Common.EtiReportProperties()
            {
                FrontOffBackOff   = ReportApplication.BackOffice,
                PerfilPerifericos = -1,
                TpDocAEmitir      = TpDocumentoAEmitir.Vendas,
                ToPrinter         = true,
                CodExercicio      = sale.Cabecalho.CodExercicio,
                CodSeccao         = sale.Cabecalho.CodSeccao,
                AbrevTpDoc        = sale.Cabecalho.AbrevTpDoc,
                Numero            = sale.Cabecalho.Numero,
                ConfigImpressao   = 1,
                Gravacao          = false,
                Movimento         = 1,
                ReportName        = "VNDDocumentoA5.rpt",
                Entidade          = sale.Cabecalho.CodEntidade.ToString(),
                EtiApp            = etiApp,
            };

            System.Threading.Thread th = new System.Threading.Thread(() => report.EmiteDocumentos(rptProp));
            th.IsBackground = true;
            th.Start();
        }
Beispiel #5
0
        static void Main(string[] args)
        {
            EtiAppAuthentication authentication = new EtiAppAuthentication()
            {
                serviceAddress = IniFile.IniRead(Path.Combine(IniFile.GetBasePath(), "ERPv17.eInic.ini"), "Geral", "ServerUrl", ""),
                SQLServerName  = @"DDS-VICTORG\SQL2014",
                SQLUser        = "******",
                SQLPassword    = "******",
                SystemDatabase = "sisCust",
                Login          = "******",
                Password       = "******",
                Company        = "Cust",
                FiscalYearCode = "2018",
                SectionCode    = "1",
                Language       = "pt-PT"
            };

            try
            {
                //Obter o objeto EtiAplicacão. è necessário ter licença extended ou modulo de customziação
                EtiAplicacao etiApp = Functions.GetNewEtiAplicacao(authentication);
                //Tendo etiApp podemos utilziar a api do ERP

                //Chamar um webService, necessitando de inicilizar o etiAplicacao por webService
                List <EntitiesCategory> entitiesCategory = Functions.GetEntitiesCategory(authentication);
            }
            catch (Exception ex)
            {
                //tratar erro
                //escrever lo log
            }
        }
        public static bool VerifyEmail(EtiAplicacao etiApp, Cliente customer)
        {
            RulesClass e   = null;
            bool       res = true;

            try
            {
                e   = new RulesClass();
                res = e.VerifyEmail(etiApp, customer);
            }
            catch (Exception ex)
            {
                if (Environment.UserInteractive)
                {
                    var errorDescription = string.Format("{0}.{1}.{2}", MethodBase.GetCurrentMethod().DeclaringType.FullName, MethodBase.GetCurrentMethod().Name, ex.Message);
                    MessageBox.Show(errorDescription);
                }
                else
                {
                    throw ex;
                }
            }

            return(res);
        }
Beispiel #7
0
        public static void GetIsNew(EtiAplicacao etiApp, EtiConnNetBD conn, Cliente customer)
        {
            EventsClass e = null;

            try
            {
                e = new EventsClass();
                e.GetIsNew(etiApp, customer);

                Functions.NewActivity(etiApp, "Subject ... ", "Notes...", customer.Codigo, "1", (int)NaturezaAtividade.Tarefa, null);
            }
            catch (Exception ex)
            {
                if (Environment.UserInteractive)
                {
                    var errorDescription = string.Format("{0}.{1}.{2}", MethodBase.GetCurrentMethod().DeclaringType.FullName, MethodBase.GetCurrentMethod().Name, ex.Message);
                    MessageBox.Show(errorDescription);
                }
                else
                {
                    throw ex;
                }
            }
            finally
            {
                e = null;
            }
        }
        public static byte[] GetReportBytes(EtiAplicacao EtiApp, TpDocumentoAEmitir typeDocToPrint, DocumentKey docKey)
        {
            byte[] reportBytes = null;
            byte[] emailBytes  = null;
            bool   isCFDoc;

            try
            {
                var inputParameters = new ElectronicSignature.ReportParameters()
                {
                    TpDocEmit      = typeDocToPrint,
                    AbrevTpDoc     = docKey.DocTypeAbbrev,
                    CodeFiscalYear = docKey.FiscalYear,
                    CodeSection    = docKey.SectionCode,
                    Number         = docKey.Number,
                    ToPrinter      = false
                };

                Eticadata.Reporting.ReportProvider.EmitDocumentAndSendEmail(ref inputParameters, out reportBytes, ref emailBytes, out isCFDoc, EtiApp);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }

            return(reportBytes);
        }
Beispiel #9
0
        /// <summary>
        /// Depois de Gravar cliente
        /// Adicionar uma nova atividade do tipo tarefa
        /// </summary>
        /// <param name="etiApp"></param>
        /// <param name="customer"></param>
        internal void AddNewActivity(EtiAplicacao etiApp, Cliente customer)
        {
            var activityType = "102"; //tarefa
            var subject      = "Subject ... ";
            var notes        = "Notes ... ";

            Functions.NewActivity(etiApp, subject, notes, customer.Codigo, activityType, (int)NaturezaAtividade.Tarefa, null);
        }
 public Init([ServiceDependency()] WorkItem myWorkItem_,
             [ServiceDependency()] EtiAplicacao myEtiApp_,
             [ServiceDependency()] UIUtils myUiutils_)
 {
     myEtiApp   = myEtiApp_;
     myUiutils  = myUiutils_;
     myWorkItem = myWorkItem_;
 }
        public NewWindow([ServiceDependency()] WorkItem myWorkItem_,
                         [ServiceDependency()] EtiAplicacao myEtiApp_,
                         [ServiceDependency()] UIUtils myUiutils_)
        {
            InitializeComponent();

            myEtiApp   = myEtiApp_;
            myUiutils  = myUiutils_;
            myWorkItem = myWorkItem_;
        }
Beispiel #12
0
        public static EtiConnNetBD GetConnection(EtiAplicacao eti, string SQLInstance, string login, string password, string database)
        {
            EtiConnNetBD conn = new EtiConnNetBD(eti);

            try
            {
                conn.MakeConnectionToServer(SQLInstance, login, password, database, 0);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }

            return(conn);
        }
Beispiel #13
0
        public static void NewActivity(EtiAplicacao etiApp, string subject, string notes, int customerCode, string activityType, int nature, Byte[] bytesToWrite)
        {
            AutomaticActivityInfo obj            = new AutomaticActivityInfo();
            List <RelationInfo>   myRelationInfo = new List <RelationInfo>();

            AttachmentInfo Attach = new AttachmentInfo();

            if (bytesToWrite != null)
            {
                Attach.Name = "Test.pdf";
                Attach.File = System.Convert.ToBase64String(bytesToWrite);
            }

            myRelationInfo.Add(new RelationInfo((int)CodTabelas.Clientes, customerCode.ToString(), "", "", ""));
            obj.CodExercise     = "";
            obj.CodSection      = "";
            obj.AbrevTpDoc      = "";
            obj.Number          = customerCode;
            obj.Natureza        = nature;
            obj.CodTableDoc     = -1;
            obj.CodActivityType = activityType;
            obj.Integration     = false;
            obj.Message         = System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(notes));
            obj.CodTableEntity  = -1;
            obj.CodEntity       = new List <int>();
            obj.Relations       = myRelationInfo;
            obj.Subject         = System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(subject));
            obj.Contacts        = new List <ContactInfo>();

            if (bytesToWrite != null)
            {
                obj.Attachments = new List <AttachmentInfo>();
                if (bytesToWrite != null)
                {
                    obj.Attachments.Add(Attach);
                }
            }

            Uri          url = new Uri(new Uri(etiApp.Ambiente.ServerUrl), "api/Crm/AutomaticActivity");
            EtiWebClient wc  = new EtiWebClient();

            wc.Headers.Add("Content-Type", "application/json");
            string reply = wc.UploadString(url, "POST", obj.Serialize());
        }
        public IHttpActionResult PrintReport([FromBody] PrintInput docParams)
        {
            try
            {
                Eticadata.Views.Reports.ReportsGcePOS report = new Views.Reports.ReportsGcePOS(Eti.Aplicacao, "", ERP.EtiEnums.ExportWebFormat.PDF);
                EtiAplicacao etiapp = new EtiAplicacao();

                byte[] reportBytes;

                var rptProp = new Eticadata.Common.EtiReportProperties()
                {
                    TpDocAEmitir        = TpDocumentoAEmitir.Vendas,
                    AbrevTpDoc          = docParams.DocType,
                    CodExercicio        = docParams.DocFiscalYearCode,
                    CodSeccao           = docParams.DocSeccion,
                    Numero              = docParams.DocNumber,
                    EtiApp              = Eti.Aplicacao,
                    ExportaFicheiro     = false,
                    SoExportacao        = false,
                    ToPrinter           = true,
                    IncrementPrintCount = true,
                    //FrontOffBackOff = ReportApplication.BackOffice,
                    ExportaFormato = "1"
                };

                reportBytes = report.EmiteDocumentos(rptProp);

                if (!string.IsNullOrEmpty(rptProp.ErrorDescription))
                {
                    return(BadRequest(rptProp.ErrorDescription));
                }

                return(Ok(reportBytes));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.ToString()));
            }
        }
        public IHttpActionResult CreateWithdrawalTransfer([FromBody] InputWithdrawalTransfer input)
        {
            MovTesLevantamento withdrawalTransfer;
            EtiAplicacao       etiApp = Eti.Aplicacao;

            try
            {
                //Criar um movimento real na conta origem, com natureza a crédito
                withdrawalTransfer = etiApp.Movimentos.MovTesLevantamentos.GetNew(input.AccountCode, input.SectionCode);

                withdrawalTransfer.ContaOrigem.AlteraCodigoContaTes(input.AccountCode);
                withdrawalTransfer.ContaOrigem.AbrevTpMovPag = input.PayTransfType;
                withdrawalTransfer.ContaOrigem.AbrevMoeda    = input.Currency;
                withdrawalTransfer.ContaOrigem.Cambio        = 1;
                withdrawalTransfer.ContaOrigem.Valor         = input.Lines.Sum(s => s.ValueDeb);

                var numberLine = 1;
                foreach (var line in input.Lines)
                {
                    withdrawalTransfer.AlteraDestinoConta(numberLine, line.AccountCode);
                    withdrawalTransfer.AlteraDestinoTipoMovPag(numberLine, line.PayTransfType);
                    withdrawalTransfer.AlteraDestinoValor(numberLine, line.ValueDeb);

                    numberLine++;
                }

                etiApp.Movimentos.MovTesLevantamentos.Update(withdrawalTransfer);
                if (withdrawalTransfer.EtiErrorDescription != "")
                {
                    throw new Exception(withdrawalTransfer.EtiErrorDescription);
                }

                return(Ok());
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
Beispiel #16
0
        public static EtiAplicacao GetNewEtiAplicacao(EtiAppAuthentication authentication)
        {
            EtiAplicacao etiApp = new EtiAplicacao();

            try
            {
                if (!etiApp.InitializeEtiApp(EtiConstantes.cAplicBackOffice, authentication.SQLServerName, authentication.SystemDatabase, authentication.SQLUser, authentication.SQLPassword, string.Empty, string.Empty, string.Empty, string.Empty, authentication.serviceAddress, true, string.Empty))
                {
                    throw new Exception("Ocorreu um erro a inicializar etiAplicacao...");
                }

                EtiAplicacao.LoginResult result;
                if ((result = etiApp.Login(authentication.Login, authentication.Password)) != EtiAplicacao.LoginResult.Ok)
                {
                    throw new Exception(result == EtiAplicacao.LoginResult.InvalidUser ? "Invalid user..." : "Wrong user or password...");
                }

                if (!etiApp.OpenEmpresa(authentication.Company))
                {
                    throw new Exception("Empresa inválida ...");
                }

                if (!etiApp.OpenExercicio(authentication.FiscalYearCode))
                {
                    throw new Exception("Exercício inválido...");
                }

                if (!etiApp.OpenSeccao(authentication.SectionCode))
                {
                    throw new Exception("Seção inválida...");
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }

            return(etiApp);
        }
Beispiel #17
0
        /// <summary>
        /// Depois de Gravar Venda
        /// Imprimir um report personalizado
        /// </summary>
        /// <param name="etiApp"></param>
        /// <param name="sale"></param>
        internal void PrintReportPersonalized(EtiAplicacao etiApp, MovVenda sale)
        {
            var errors       = "";
            var customerName = "Sou o cliente XPTO";

            var rptProp = new Eticadata.Common.EtiReportProperties()
            {
                FrontOffBackOff         = ReportApplication.BackOffice,
                ReportServer_ReportPath = "Consultas",
                WindowTitle             = "Titulo do report personalizado",
                ReportName = "USR_TESTE.rdl",
                ToPrinter  = true,
                EtiApp     = etiApp,
            };

            //Adicionar parametros
            rptProp.AdicionarFormula($"CustomerName = {customerName}");

            System.Threading.Thread th = new System.Threading.Thread(() => Eticadata.Views.Reports.ReportsInit.MapaSimplesEmissao(rptProp, etiApp, null, null, ref errors));
            th.IsBackground = true;
            th.Start();
        }
        static void Main(string[] args)
        {
            EtiAppAuthentication authentication = new EtiAppAuthentication()
            {
                serviceAddress = IniFile.IniRead(Path.Combine(IniFile.GetBasePath(), "ERPV19.eInic.ini"), "Geral", "ServerUrl", ""),
                SQLServerName  = @"PT-ALFREDOA\ETICADATA",
                SQLUser        = "******",
                SQLPassword    = "******",
                SystemDatabase = "SIS_CUST19",
                Login          = "******",
                Password       = "******",
                Company        = "T19PT",
                FiscalYearCode = "EX 2021",
                SectionCode    = "1",
                Language       = "pt-PT"
            };

            try
            {
                //Obter o objeto EtiAplicacão. è necessário ter licença extended ou modulo de customziação
                EtiAplicacao etiApp = Functions.GetNewEtiAplicacao(authentication);
                //Tendo etiApp podemos utilziar a api do ERP

                //Chamar um webService, necessitando de inicilizar o etiAplicacao por webService
                //List<EntitiesCategory> entitiesCategory = Functions.GetEntitiesCategory(authentication);

                //Criar documento de venda
                MovVenda venda = etiApp.Movimentos.MovVendas.GetNew("FACT");

                venda.Cabecalho.CodEntidade = 1;
                venda.AlteraEntidade(ERP.EtiEnums.TpEntidade.Cliente, 1, true, true);

                int             linha = 1;
                string          codArtigo = "001";
                bool            blnAfectaOutrasLinhas = false, blnAssociacoesFixas = false, blnAssociacoesLivres = false, blnStockDisponivel = false, blnFamPararQtd = false, blnFamPararPreco = false;
                TpProcuraArtigo pProcuraArtigo = TpProcuraArtigo.Encontrou;
                venda.AddLin(ref linha);

                venda.Lines[linha].CodArtigo = codArtigo;
                venda.AlteraArtigo(linha, ref codArtigo, ref blnAfectaOutrasLinhas, ref blnAssociacoesFixas, ref blnAssociacoesLivres, ref pProcuraArtigo, false, ref blnStockDisponivel, ref blnFamPararQtd, ref blnFamPararPreco);

                venda.CalculaTotais();

                var validateVenda = venda.Validate(true);

                if (!validateVenda)
                {
                    Console.WriteLine(venda.EtiErrorDescription);
                }
                else
                {
                    bool blnSTKImpeditivo = false;
                    etiApp.Movimentos.MovVendas.Update(ref venda, ref blnSTKImpeditivo, true, TpLigacaoExtra.SemLigacao, string.Empty);
                    if (venda.EtiErrorCode != "")
                    {
                        Console.WriteLine(venda.EtiErrorDescription);
                    }
                    Helpers.Functions.PrintToPrinter(etiApp, venda.Cabecalho.CodExercicio, venda.Cabecalho.CodSeccao, venda.Cabecalho.AbrevTpDoc, venda.Cabecalho.Numero);
                }
            }
            catch (Exception ex)
            {
                Console.Write(ex.Message);
            }
        }
Beispiel #19
0
 public usrCloseCashSession(EtiAplicacao etiApp)
 {
     InitializeComponent();
     this.etiApp = etiApp;
 }
        public IHttpActionResult CreateNewAccount([FromBody] InputDepositReceipt input)
        {
            MovTesTalao receipt;

            Eticadata.ERP.EtiRecordset realTransactions;
            short        transactionNumbersGenerate = 0;
            string       errorDescription           = string.Empty;
            byte         filterByDate     = 0;
            string       filterAdditional = "";
            DateTime     startDate        = input.StartDate;
            DateTime     endDate          = input.EndDate;
            string       currency         = input.Currency;
            string       sourceAccount    = input.SourceAccount;
            string       sectionCode      = input.SectionCode;
            short        NumMovPiscados   = 0;
            EtiAplicacao etiApp           = Eti.Aplicacao;

            try
            {
                //double totCheques = etiApp.Movimentos.MovTesTaloes.TotalValores(ref strContaOrigem, ref strMoeda);
                //double totNum = etiApp.Movimentos.MovTesTaloes.TotalNumerario(ref strContaOrigem, ref strMoeda);

                receipt = etiApp.Movimentos.MovTesTaloes.GetNew(input.TargetAccount, input.SectionCode);
                receipt.CodigoSeccao        = input.SectionCode;
                receipt.CodigoExercicio     = input.FiscalPeriod;
                receipt.CodigoContaTesOri   = input.SourceAccount;
                receipt.DataInicial         = System.DateTime.Today;
                receipt.DataFinal           = System.DateTime.Today;
                receipt.DiscriminaValCheque = false;
                receipt.Obs    = input.Notes;
                receipt.Cambio = 1;

                realTransactions = etiApp.Movimentos.MovTesTaloes.RcSetMovReais(ref currency, ref sourceAccount, ref filterByDate, ref startDate, ref endDate, ref filterAdditional, ref filterAdditional, ref sectionCode);
                if (realTransactions.RecordCount > 0)
                {
                    //Para efeitos de testes, apenas se insere um elemento à lista do tipo cheque
                    Eticadata.ERP.Lista     lst = new Eticadata.ERP.Lista();
                    Eticadata.ERP.ListaElem lstElem;

                    lstElem = lst.NewElem();
                    lstElem.Add("strcodseccaomov", sectionCode);
                    lstElem.Add("lngnummov", realTransactions.ValueGet <int>("intnumero").ToString());
                    lstElem.Add("lngtalaonum", receipt.Numero.ToString());
                    lstElem.Add("valor", realTransactions.ValueGet <double>("fltvalor").ToString());
                    lstElem.Add("strrubricamov", "");
                    lstElem.Add("strdescricao", "");
                    lstElem.Add("strdocumento", "Cheque Caixa (EUR)");
                    lstElem.Add("strbanco", "");
                    lstElem.Add("tpentidade", "0");
                    lstElem.Add("lngcodentidade", "0");
                    lstElem.Add("strentidadectbanc", "");
                    lstElem.Add("strmyupdatestamp", Eticadata.ERP.UpdateStamp.ConvertBytesToLong(realTransactions.ValueGet <byte[]>("myupdatestamp")).ToString());
                    lst.AddBefore(lstElem, 1);


                    receipt.ListaMovsPiscados = lst;
                    receipt.ValoresCheques    = realTransactions.ValueGet <double>("fltvalor");
                    receipt.Numerario         = 0;
                    receipt.TotalDeposito     = receipt.ValoresCheques + receipt.Numerario;

                    // 'Calcular o nº de movimentos a gerar
                    if (receipt.Numerario > 0)
                    {
                        transactionNumbersGenerate += 1;
                    }
                    if (receipt.ValoresCheques > 0)
                    {
                        transactionNumbersGenerate += 1;
                    }
                    if (!receipt.DiscriminaValCheque) //'Não discrimina valores/cheques
                    {
                        if (receipt.TotalDeposito > 0)
                        {
                            transactionNumbersGenerate += 1;
                        }
                    }
                    else
                    {
                        //'Discriminando os Valores/Cheques
                        transactionNumbersGenerate += NumMovPiscados;
                        if (receipt.Numerario > 0)
                        {
                            transactionNumbersGenerate += 1;
                        }
                    }
                    receipt.NumMovsReaisAGerar = transactionNumbersGenerate;

                    //Criar Array de movimentos reais a gerar
                    errorDescription = receipt.GeraMovsReaisTaloes(currency);
                    if (errorDescription != "")
                    {
                        throw new Exception(errorDescription);
                    }
                    else
                    {
                        //Gravar Talão
                        etiApp.Movimentos.MovTesTaloes.Update(ref receipt);
                        if (receipt.EtiErrorDescription != "")
                        {
                            throw new Exception(receipt.EtiErrorDescription);
                        }
                    }
                }

                return(Ok());
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
 public PrintLabelInput(EtiAplicacao etiApp)
 {
     this.etiApp = etiApp;
 }
Beispiel #22
0
 /// <summary>
 /// Depois de gravar
 /// Neste evento o estado se é novo ou não é sempre não novo, pois já foi gravado, é existente
 /// Com a variável global isNew colocada no atarow no evento antes de gravar, vamos saber se o cliente é novo ou não.
 /// </summary>
 /// <param name="etiApp"></param>
 /// <param name="customer"></param>
 internal void GetIsNew(EtiAplicacao etiApp, Cliente customer)
 {
     //Podemos na datarow colocar uma nova coluna,com valores auxiliares, o equivalente ao uma variável global
     //è sempre sobre o objeto singular.DataRow
     var isNew = Eticadata.ERP.modDataLib.ValueGet <bool>(customer.DataRow, "isNewCust") ? "novo" : "existente";
 }
Beispiel #23
0
        public IHttpActionResult SaveAttachment([FromBody] string base64Document)
        {
            try
            {
                Eticadata.RiaServices.AuthenticationService authSvc = new RiaServices.AuthenticationService();
                string       strCustomData = Eticadata.LoginData.GetCustomData("(LocalDB)\\MSSQLLocalDB", "sistema", string.Empty, true, true, "pt-PT");
                EtiAplicacao etiApp        = new EtiAplicacao();

                var myEtiUser = authSvc.Login("demo", "demo", false, strCustomData);
                if (myEtiUser != null)
                {
                    switch (myEtiUser.loginResult)
                    {
                    case 0:
                        etiApp = Eti.Aplicacao;
                        break;

                    case 2:
                        throw new Exception("The user does not exists!");

                    case 3:
                        throw new Exception("The user is inactive!");

                    default:
                        throw new Exception("The user does not exists!");
                    }
                }

                bool initResult = etiApp.OpenEmpresa("D18");

                if (!initResult)
                {
                    throw new Exception("OpenCompany: Não foi possivel efetuar a autenticação no ERP.");
                }

                initResult = etiApp.OpenExercicio("EX 2018");

                if (!initResult)
                {
                    throw new Exception("OpenFiscalYear: Não foi possivel efetuar a autenticação no ERP.");
                }

                initResult = etiApp.OpenSeccao("SEC1");

                if (!initResult)
                {
                    throw new Exception("OpenSection: Não foi possivel efetuar a autenticação no ERP.");
                }

                RiaServices.Attachments.Services.AnexosDigitaisService attachSrv = new RiaServices.Attachments.Services.AnexosDigitaisService();

                attachSrv.UpdateAnexoDigital(new RiaServices.Attachments.Models.AnexoDigital()
                {
                    Entidades = new System.Data.Entity.Core.Objects.DataClasses.EntityCollection <RiaServices.Attachments.Models.Entidade>()
                    {
                        new RiaServices.Attachments.Models.Entidade()
                        {
                            TipoEntidade = (int)TpEntidade.Cliente,
                            Chave1       = "1"
                        }
                    },
                    TipoDocumentacao = "DOC",
                    CodDocumentacao  = "BI",
                    DataEmissao      = DateTime.Now,
                    CodSituacao      = 0,
                    DataSituacao     = DateTime.Now,
                    Ficheiro         = Convert.FromBase64String(base64Document),
                    Ref   = "0001/2018",
                    Local = "SEDE",
                    Obs   = "Documento anexado ao cliente 1"
                });

                return(Ok());
            } catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
        /// <summary>
        /// Caso o email não esteja definido, o utilizador será avisado mas consegue continuar com a gravação
        /// </summary>
        /// <param name="etiApp"></param>
        /// <param name="customer"></param>
        /// <returns></returns>
        internal bool VerifyEmail(EtiAplicacao etiApp, Cliente customer)
        {
            bool res = !String.IsNullOrEmpty(customer.Email);

            return(res);
        }
Beispiel #25
0
 /// <summary>
 /// Antes de gravar
 /// Guarda se o cliente é novo ou não, de forma a aceder no evento de depois de gravar
 /// </summary>
 /// <param name="etiApp"></param>
 /// <param name="customer"></param>
 internal void SetIsNew(EtiAplicacao etiApp, Cliente customer)
 {
     //Podemos na datarow colcoar uma nova coluna,com valores auxiliares, o equivalente ao uma variável global
     Eticadata.ERP.modDataLib.ValueSet <bool>(customer.DataRow, "isNewCust", customer.IsNew);
 }