Exemple #1
0
        public async Task <byte[]> ExecuteQuery()
        {
            try
            {
                byte[] Bytes = null;

                Bytes = await Request.GetRawBodyBytesAsync();



                var Query = RestApiDataStore.GetObjectsFromByteArray <string>(Bytes);
                //string myConnString = "User Id=shopcontroller;Password=Scvs!2012;server=192.163.193.68;Database=scaccess;Persist Security Info=True;";
                var connectionString = MySqlConnectionProvider.GetConnectionString("192.163.193.68", "shopcontroller", "Scvs!2012", "scaccess");

                // Create the default DAL which is used by the default Session and newly created objects to access a data store.

                var Dal = XpoDefault.GetDataLayer(connectionString, AutoCreateOption.DatabaseAndSchema);

                Session session = new Session(Dal);
                var     Result  = session.ExecuteQuery(Query);

                return(RestApiDataStore.ToByteArray(Result));
            }
            catch (Exception ex)
            {
                var test = ex.Message;
                throw;
            }
        }
Exemple #2
0
        public async Task<LoginResult> Login()
        {
            //List of standard Payload claims https://en.wikipedia.org/wiki/JSON_Web_Token#Standard_fields

            byte[] ParametersByte = await Request.GetRawBodyBytesAsync();

            LoginParameters LoginParameters = RestApiDataStore.GetObjectsFromByteArray<LoginParameters>(ParametersByte);
            string Database;
            string Server;
            Employee User = null;
            try
            {

                string UserName = WebUtility.UrlDecode(LoginParameters.Username);
                string Password = WebUtility.UrlDecode(LoginParameters.Password);
               
                Server = WebUtility.UrlDecode(LoginParameters.Server);

                Database = WebUtility.UrlDecode(LoginParameters.Database);
                UnitOfWork UoW = XpoProxyHelper.GetUnitOfWork(Database, Server);

                User = UoW.FindObject<Employee>(new BinaryOperator("UserName", UserName));
               
              
                if (User == null)
                {
                    return new LoginResult() { Authenticated = false, Token = "" };
                }
                if (!User.ComparePassword(Password))
                {

                    return new LoginResult() { Authenticated = false, Token = "" }; //TODO invalid password

                }

               

            }
            catch (Exception exception)
            {
                return new LoginResult() { Authenticated = false, Token = "", ErrorMessage= exception.Message };
            }
      

             JwtPayload InitialPayload;
                InitialPayload = new JwtPayload
                {
                    { JwtRegisteredClaimNames.NameId, LoginParameters.Username },
                    { JwtRegisteredClaimNames.Iat, JwtHelper.ConvertToUnixTime(DateTime.Now).ToString() },
                    { JwtRegisteredClaimNames.Iss, Issuer },
                    { "DatabaseId", Database },
                    { "ServerId", Server },
                };

                var StringToken = JwtHelper.GenerateToken(Key, InitialPayload);
                return new LoginResult() { Authenticated = true, Token = StringToken, CurrentUserId = User?.Oid.ToString()};
           
        }
        public async Task <byte[]> ModifyData()
        {
            byte[] Bytes = null;
            Bytes = await Request.GetRawBodyBytesAsync();

            var Result = _DataStore.ModifyData(RestApiDataStore.GetObjectsFromByteArray <ModificationStatement[]>(Bytes));

            return(RestApiDataStore.ToByteArray(Result));
        }
        public async Task <byte[]> SelectData()
        {
            byte[] Bytes = null;

            Bytes = await Request.GetRawBodyBytesAsync();

            SelectedData SelectedData = _DataStore.SelectData(RestApiDataStore.GetObjectsFromByteArray <SelectStatement[]>(Bytes));

            return(RestApiDataStore.ToByteArray(SelectedData));
        }
        public async Task <byte[]> ModifyData()
        {
            byte[] Bytes = null;
            try
            {
                Bytes = await Request.GetRawBodyBytesAsync();

                //var Result = _DataStore.ModifyData(RestApiDataStore.GetObjectsFromByteArray<ModificationStatement[]>(Bytes));
                var Result = GetDataStore().ModifyData(RestApiDataStore.GetObjectsFromByteArray <ModificationStatement[]>(Bytes));
                return(RestApiDataStore.ToByteArray(Result));
            }
            catch (Exception ex)
            {
                var test = ex.Message;
                throw;
            }
        }
        public async Task <byte[]> SelectData()
        {
            try
            {
                byte[] Bytes = null;

                Bytes = await Request.GetRawBodyBytesAsync();

                //SelectedData SelectedData = _DataStore.SelectData(RestApiDataStore.GetObjectsFromByteArray<SelectStatement[]>(Bytes));
                SelectedData SelectedData = GetDataStore().SelectData(RestApiDataStore.GetObjectsFromByteArray <SelectStatement[]>(Bytes));
                return(RestApiDataStore.ToByteArray(SelectedData));
            }
            catch (Exception ex)
            {
                var test = ex.Message;
                throw;
            }
        }
        public async Task <byte[]> Do()
        {
            byte[] Bytes = null;
            try
            {
                Bytes = await Request.GetRawBodyBytesAsync();

                var Parameters = RestApiDataStore.GetObjectsFromByteArray <DoArgs>(Bytes);
                //var Result = (_DataStore as ICommandChannel).Do(Parameters.Command, Parameters.Parameters);
                var Result = (GetDataStore() as ICommandChannel).Do(Parameters.Command, Parameters.Parameters);
                return(RestApiDataStore.ToByteArray(Result));
            }
            catch (Exception ex)
            {
                var test = ex.Message;
                throw;
            }
        }
        public async Task <UpdateSchemaResult> UpdateSchema()
        {
            try
            {
                byte[] Bytes = null;
                Bytes = await Request.GetRawBodyBytesAsync();

                var Parameters = RestApiDataStore.GetObjectsFromByteArray <UpdateSchemaParameters>(Bytes);
                UpdateSchemaResult updateSchemaResult = _DataStore.UpdateSchema(Parameters.dontCreateIfFirstTableNotExist, Parameters.tables);
                return(updateSchemaResult);
            }
            catch (Exception exception)
            {
                Debug.WriteLine(string.Format("{0}:{1}", "exception.Message", exception.Message));
                if (exception.InnerException != null)
                {
                    Debug.WriteLine(string.Format("{0}:{1}", "exception.InnerException.Message", exception.InnerException.Message));
                }
                Debug.WriteLine(string.Format("{0}:{1}", " exception.StackTrace", exception.StackTrace));
            }
            return(new UpdateSchemaResult());
        }
 public byte[] GetAutoCreateOptions()
 {
     // return RestApiDataStore.ToByteArray(_DataStore.AutoCreateOption);
     return(RestApiDataStore.ToByteArray(GetDataStore().AutoCreateOption));
 }