Пример #1
0
        private static void OpenCopaniesForSecurityCheck()
        {
            Log.Info("Companies checking started");

            var companiesList = ApplicationConfig.CompaniesList;

            Log.InfoFormat("Companies to check: '{0}'", companiesList.Count);

            var api = new Sage50Api();

            foreach (var company in companiesList)
            {
                try
                {
                    api.OpenCompany(company.Name);
                    api.CloseCurrentCompany();
                    Log.Info($"Company '{company.Name}' opened successfully");
                }
                catch (Exception ex)
                {
                    Log.Error($"Can not open company: '{company.Name}'; Error: {ex.Message}");
                }
            }

            Log.Info("Companies checking finished");
        }
        public void Handle(CreateInvoiceSageAction action)
        {
            using (var api = new Sage50Api(action.source))
            {
                Log.InfoFormat("Open Sage50 company: \"{0}\"", action.payload.companyName);
                api.OpenCompany(action.payload.companyName);

                Log.Info("Create Invoice Data to Sage50 ...");
                api.CreateInvoice(action.payload.invoice);
                Log.Info($"Successfully created invoice: {action.payload.invoice.ReferenceNumber}");
            }
        }
        public void Handle(UpsertCustomerSageAction action)
        {
            using (var api = new Sage50Api(action.source))
            {
                Log.InfoFormat("Open Sage50 company: \"{0}\"", action.payload.companyName);
                api.OpenCompany(action.payload.companyName);

                Log.Info("Create or Update Customer Data ...");
                api.CreateOrUpdateCustomer(action.payload.customer);
                Log.Info($"Successfully upserted customer: {action.payload.customer.ExternalId}");
            }
        }
        public void Handle(ReceiveAndApplyMoneySageAction action)
        {
            using (var api = new Sage50Api(action.source))
            {
                Log.InfoFormat("Open Sage50 company: \"{0}\"", action.payload.companyName);
                api.OpenCompany(action.payload.companyName);

                Log.Info("Create Receipts in Sage50 ...");
                api.CreateReceipt(action.payload);
                Log.Info($"Successfully created Receipts for invoice: {action.payload.invoiceNumber}");
            }
        }