Beispiel #1
0
        public ResponseAgreement GetRouting(string invoicereferencia)
        {
            var serv   = new RoutingBusiness(HttpContext);
            var result = serv.GetRoutingAgreement(invoicereferencia, webRootPath);

            if (result.Code == 200)
            {
                var validate = SchemaEngine.Validate <ResponseAgreement>(result, respAgreementSchema);

                if (!validate)
                {
                    result.Code    = 500;
                    result.Message = "Wrong Definition";
                    result.Data    = null;

                    return(result);
                }
            }
            else
            {
                return(result);
            }

            return(result);
        }
Beispiel #2
0
        public async Task <IActionResult> CheckBalance(string invoiceref)
        {
            var serv   = new DealBusiness();
            var result = await serv.CheckBalance(invoiceref);

            if (result.Code == 200)
            {
                var validate = SchemaEngine.Validate <ResponseBalance>(result, respBalanceSchema);

                if (!validate)
                {
                    result.Code    = 500;
                    result.Message = "Invalid result data schema";
                    result.Data    = null;

                    return(StatusCode(500, result));
                }
            }
            else
            {
                return(StatusCode(result.Code, result));
            }

            return(Ok(result));
        }
        public async Task <IActionResult> GetRoutingDeal(string invoiceref)
        {
            var key    = invoiceref.Length > 3 ? invoiceref.Substring(0, 4): invoiceref;
            var serv   = new RoutingBusiness(HttpContext);
            var result = await serv.GetRoutingDeal(key);

            if (result.Code == 200)
            {
                var validate = SchemaEngine.Validate <ResponseDeal>(result, respDealSchema);

                if (!validate)
                {
                    result.Code    = 500;
                    result.Message = "Invalid Schema";
                    result.Data    = null;

                    return(StatusCode(500, result));
                }
            }
            else
            {
                return(StatusCode(result.Code, result));
            }

            return(Ok(result));
        }
Beispiel #4
0
        public ResponseAgreement AddRoutingAgreement([FromBody] RequestAgreement data)
        {
            var result          = new ResponseAgreement();
            var validateRequest = SchemaEngine.Validate <RequestAgreement>(data, reqAgreementSchema);

            if (validateRequest)
            {
                var serv = new RoutingBusiness(HttpContext);
                result = serv.AddRoutingAgreement(data, webRootPath);

                if (result.Code == 200)
                {
                    var validate = SchemaEngine.Validate <ResponseAgreement>(result, respAgreementSchema);

                    if (!validate)
                    {
                        result.Code    = 500;
                        result.Message = "Invalid result data schema";
                        result.Data    = null;

                        return(result);
                    }
                }
                else
                {
                    return(result);
                }

                return(result);
            }
            else
            {
                result.Code    = 500;
                result.Message = "Invalid params schema";
                result.Data    = null;

                return(result);
            }
        }
Beispiel #5
0
        public async Task <IActionResult> PayService([FromBody] RequestBalance data)
        {
            var result          = new ResponsePayment();
            var validateRequest = SchemaEngine.Validate <RequestBalance>(data, reqBalanceSchema);

            if (validateRequest)
            {
                var serv = new DealBusiness();
                result = await serv.PayService(data);

                if (result.Code == 200)
                {
                    var validate = SchemaEngine.Validate <ResponsePayment>(result, respPaymentSchema);

                    if (!validate)
                    {
                        result.Code    = 500;
                        result.Message = "Invalid result data schema";
                        result.Data    = null;

                        return(StatusCode(500, result));
                    }
                }
                else
                {
                    return(StatusCode(result.Code, result));
                }

                return(Ok(result));
            }
            else
            {
                result.Code    = 500;
                result.Message = "Invalid params schema";
                result.Data    = null;

                return(StatusCode(500, result));
            }
        }
        public async Task <IActionResult> AddRoutingDeal([FromBody] RequestDeal data)
        {
            var result          = new ResponseDeal();
            var validateRequest = SchemaEngine.Validate <RequestDeal>(data, reqDealSchema);

            if (validateRequest)
            {
                var serv = new RoutingBusiness(HttpContext);
                result = await serv.AddRoutingDeal(data);

                if (result.Code == 200)
                {
                    var validate = SchemaEngine.Validate <ResponseDeal>(result, respDealSchema);

                    if (!validate)
                    {
                        result.Code    = 500;
                        result.Message = "Invalid result data schema";
                        result.Data    = null;

                        return(StatusCode(500, result));
                    }
                }
                else
                {
                    return(StatusCode(result.Code, result));
                }

                return(Ok(result));
            }
            else
            {
                result.Code    = 500;
                result.Message = "Invalid params schema";
                result.Data    = null;

                return(StatusCode(500, result));
            }
        }
Beispiel #7
0
        private void Initialize(IStartupOptions startOptions)
        {
            LogInformation("Initializing core..");

            if (File.Exists(startOptions.ConfigFile))
            {
                LogInformation("Loading configuration.");
                //The IOManager is not initialized yet, so read the data directly.
                Settings = JsonConvert.DeserializeObject <MetaServerSettings>(File.ReadAllText(startOptions.ConfigFile));
            }
            else
            {
                LogInformation("Initializing new configuration.");
                Settings = new MetaServerSettings(startOptions.RootPath)
                {
                    //TODO: Add additional startup options.
                };
            }

            #region Create Directory Structure.

            if (Directory.Exists(Settings.RootPath) == false)
            {
                Directory.CreateDirectory(Settings.RootPath);
            }

            if (Directory.Exists(Settings.TransactionPath) == false)
            {
                Directory.CreateDirectory(Settings.TransactionPath);
            }

            #endregion

            //Settings.LoginFile

            if (File.Exists(Settings.ConfigFile) == false)
            {
                //The IOManager is not initialized yet, so write the data directly.
                File.WriteAllText(Settings.ConfigFile, JsonConvert.SerializeObject(Settings));
            }

            if (File.Exists(Settings.LoginFile) == false)
            {
                var loginCatalog = new MetaLoginCollection();

#if DEBUG
                var defaultLogin = new MetaLogin("root");
                defaultLogin.SetPassword("p@ssWord!");
                loginCatalog.Add(defaultLogin);
#endif

                //The IOManager is not initialized yet, so write the data directly.
                File.WriteAllText(Settings.LoginFile, JsonConvert.SerializeObject(loginCatalog));
            }

            LogInformation("Initializing security engine.");
            Security = new SecurityEngine(this);

            LogInformation("Initializing IO engine.");
            IO = new IOEngine(this);

            LogInformation("Initializing schema engine.");
            Schema = new SchemaEngine(this);

            LogInformation("Initializing session engine.");
            Session = new SessionEngine(this);

            LogInformation("Initializing latch engine.");
            Latch = new LatchEngine(this);

            LogInformation("Initializing transaction engine.");
            Transaction = new TransactionEngine(this);

            LogInformation("Initializing document engine.");
            Document = new DocumentEngine(this);

            LogInformation("Initializing query engine.");
            Query = new QueryEngine(this);

            LogInformation("Starting transaction recovery.");
            Transaction.Recover();
            LogInformation("Transaction recovery complete.");
        }