private async void SaveMobileSites(object sender, EventArgs e)
        {
            try
            {
                var SelectedSites = _allSitesObs.Where(c => c.Toggled_ == true).ToList();
                //check connectivity
                if (CrossConnectivity.Current.IsConnected)
                {
                    //convert to mobile sites send Class then try to send that data
                    var sentSites = new MobileSitesSender(SelectedSites, Database.Login.GetTableData(_connection).First().UserID);
                    if (await SyncClass.SetMobileSites(sentSites, Application.Current.Properties["url"].ToString()))
                    {
                        await DisplayAlert("Complete", "Mobile sites saved. Sync now to update data.", "OK");

                        await Navigation.PopToRootAsync();
                    }
                    else
                    {
                        await DisplayAlert("Error", "Unable to set mobile sites.", "OK");
                    }
                }
                else
                {
                    await DisplayAlert("Error", "No internet connection. Unable to set mobile sites", "OK");
                }
            }
            catch (Exception exc)
            {
                DependencyService.Get <IError>().SendRaygunError(exc, Application.Current.Properties["user"].ToString() ?? "unsynced", Application.Current.Properties["url"].ToString() ?? "unsynced", null);
                await DisplayAlert("Error", exc.ToString(), "OK");
            }
        }
Example #2
0
        public MyAssembler() :
            base()
        {
            m_baseIdleSound.Init("BlockAssembler");
            m_processSound.Init("BlockAssemblerProcess");

            m_otherQueue = new List <QueueItem>();
            SyncObject   = new SyncClass(this);
        }
Example #3
0
        public override void Init(MyObjectBuilder_CubeBlock objectBuilder, MyCubeGrid cubeGrid)
        {
            base.Init(objectBuilder, cubeGrid);

            if (BlockDefinition is MyMedicalRoomDefinition)
            {
                var def = (MyMedicalRoomDefinition)BlockDefinition;
                m_idleSound     = new MySoundPair(def.IdleSound);
                m_progressSound = new MySoundPair(def.ProgressSound);
            }
            else
            {
                m_idleSound     = new MySoundPair("BlockMedical");
                m_progressSound = new MySoundPair("BlockMedicalProgress");
            }

            m_rechargeSocket = new MyRechargeSocket();

            NeedsUpdate = MyEntityUpdateEnum.EACH_10TH_FRAME | MyEntityUpdateEnum.EACH_100TH_FRAME;

            SteamUserId = (objectBuilder as MyObjectBuilder_MedicalRoom).SteamUserId;

            if (SteamUserId != 0) //backward compatibility
            {
                MyPlayer controller = Sync.Players.TryGetPlayerById(new MyPlayer.PlayerId(SteamUserId));
                if (controller != null)
                {
                    IDModule.Owner     = controller.Identity.IdentityId;
                    IDModule.ShareMode = MyOwnershipShareModeEnum.Faction;
                }
            }
            SteamUserId = 0;

            m_takeSpawneeOwnership = (objectBuilder as MyObjectBuilder_MedicalRoom).TakeOwnership;
            m_setFactionToSpawnee  = (objectBuilder as MyObjectBuilder_MedicalRoom).SetFaction;

            SyncObject = new SyncClass(this);

            SlimBlock.ComponentStack.IsFunctionalChanged += ComponentStack_IsFunctionalChanged;

            InitializeConveyorEndpoint();

            PowerReceiver = new MyPowerReceiver(
                group: MyConsumerGroupEnum.Utility,
                isAdaptible: false,
                maxRequiredInput: MyEnergyConstants.MAX_REQUIRED_POWER_MEDICAL_ROOM,
                requiredInputFunc: () => (Enabled && IsFunctional) ? PowerReceiver.MaxRequiredInput : 0f);
            PowerReceiver.IsPoweredChanged += Receiver_IsPoweredChanged;
            PowerReceiver.Update();
            AddDebugRenderComponent(new MyDebugRenderComponentDrawPowerReciever(PowerReceiver, this));

            if (this.CubeGrid.CreatePhysics)
            {
                Components.Add <MyRespawnComponent>(new MyRespawnComponent());
            }
        }
Example #4
0
    static int test_0_synchronized_gshared()
    {
        var c = new SyncClass <string> ();

        if (c.getInstance() != typeof(string))
        {
            return(1);
        }
        return(0);
    }
 /// <summary>
 /// 
 /// </summary>
 /// <param name="unitName"></param>
 /// <returns></returns>
 public SyncClasses SyncAllClasses(string unitName)
 {
     SyncClasses collection = new SyncClasses();
     DataTable dtSource = this.poxy.GetClass(unitName);
     if (dtSource != null && dtSource.Rows.Count > 0)
     {
         foreach (DataRow row in dtSource.Rows)
         {
             SyncClass data = new SyncClass();
             data.Code = Convert.ToString(row["BJDM"]);
             data.Name = Convert.ToString(row["BJMC"]);
             data.JoinYear = Convert.ToString(row["RXNF"]);
             data.Grade = Convert.ToString(row["dqnj"]);
             data.LearnLevel = this.GetLearnLevel(Convert.ToString(row["bjlx"]));
             data.School.UnitCode = Convert.ToString(row["LSDWM"]);
             data.School.UnitName = Convert.ToString(row["LSDWMC"]);
             collection.Add(data);
         }
     }
     return collection;
 }
 /// <summary>
 /// 同步所有班级。
 /// </summary>
 /// <param name="unitName"></param>
 /// <returns></returns>
 public SyncClasses SyncAllClasses(string unitName)
 {
     string err = null;
     DataTable dtSource = this.poxy.SyncAllClasses(unitName, out err);
     if (!string.IsNullOrEmpty(err))
     {
         throw new Exception("同步学校[" + unitName + "]下班级数据发生异常:" + err);
     }
     SyncClasses classes = new SyncClasses();
     if (dtSource != null && dtSource.Rows.Count > 0)
     {
         foreach (DataRow row in dtSource.Rows)
         {
             SyncClass sc = new SyncClass();
             sc.Code = string.Format("{0}", row["Code"]);
             sc.Name = string.Format("{0}", row["Name"]);
             sc.Grade = string.Format("{0}", row["Grade"]);
             sc.JoinYear = string.Format("{0}", row["JoinYear"]);
             sc.LearnLevel = (EnumLearnLevel)Enum.Parse(typeof(EnumLearnLevel), string.Format("{0}", row["LearnLevel"]), true);
             classes.Add(sc);
         }
     }
     return classes;
 }
Example #7
0
        public MyAssembler() :
            base()
        {
            m_baseIdleSound.Init("BlockAssembler");
            m_processSound.Init("BlockAssemblerProcess");

            m_otherQueue = new List<QueueItem>();
            SyncObject = new SyncClass(this);
        }
Example #8
0
        public override void Init(MyObjectBuilder_CubeBlock objectBuilder, MyCubeGrid cubeGrid)
        {
            base.Init(objectBuilder, cubeGrid);

            var medicalRoomDefinition = BlockDefinition as MyMedicalRoomDefinition;

            MyStringHash resourceSinkGroup;

            if (medicalRoomDefinition != null)
            {
                m_idleSound       = new MySoundPair(medicalRoomDefinition.IdleSound);
                m_progressSound   = new MySoundPair(medicalRoomDefinition.ProgressSound);
                resourceSinkGroup = MyStringHash.GetOrCompute(medicalRoomDefinition.ResourceSinkGroup);
            }
            else
            {
                m_idleSound       = new MySoundPair("BlockMedical");
                m_progressSound   = new MySoundPair("BlockMedicalProgress");
                resourceSinkGroup = MyStringHash.GetOrCompute("Utility");
            }

            m_rechargeSocket = new MyRechargeSocket();

            NeedsUpdate = MyEntityUpdateEnum.EACH_10TH_FRAME | MyEntityUpdateEnum.EACH_100TH_FRAME;

            SteamUserId = (objectBuilder as MyObjectBuilder_MedicalRoom).SteamUserId;

            if (SteamUserId != 0) //backward compatibility
            {
                MyPlayer controller = Sync.Players.GetPlayerById(new MyPlayer.PlayerId(SteamUserId));
                if (controller != null)
                {
                    IDModule.Owner     = controller.Identity.IdentityId;
                    IDModule.ShareMode = MyOwnershipShareModeEnum.Faction;
                }
            }
            SteamUserId = 0;

            m_takeSpawneeOwnership = (objectBuilder as MyObjectBuilder_MedicalRoom).TakeOwnership;
            m_setFactionToSpawnee  = (objectBuilder as MyObjectBuilder_MedicalRoom).SetFaction;

            SyncObject = new SyncClass(this);

            SlimBlock.ComponentStack.IsFunctionalChanged += ComponentStack_IsFunctionalChanged;

            InitializeConveyorEndpoint();

            SinkComp = new MyResourceSinkComponent();
            SinkComp.Init(
                resourceSinkGroup,
                MyEnergyConstants.MAX_REQUIRED_POWER_MEDICAL_ROOM,
                () => (Enabled && IsFunctional) ? SinkComp.MaxRequiredInput : 0f);
            SinkComp.IsPoweredChanged += Receiver_IsPoweredChanged;
            SinkComp.Update();
            AddDebugRenderComponent(new MyDebugRenderComponentDrawPowerReciever(SinkComp, this));

            if (this.CubeGrid.CreatePhysics)
            {
                Components.Add <MyRespawnComponent>(new MyRespawnComponent());
            }
        }
Example #9
0
        public override void Init(MyObjectBuilder_CubeBlock objectBuilder, MyCubeGrid cubeGrid)
        {
            base.Init(objectBuilder, cubeGrid);

            if (BlockDefinition is MyMedicalRoomDefinition)
            {
                var def = (MyMedicalRoomDefinition)BlockDefinition;
                m_idleSound = new MySoundPair(def.IdleSound);
                m_progressSound = new MySoundPair(def.ProgressSound);
            }
            else
            {
                m_idleSound = new MySoundPair("BlockMedical");
                m_progressSound = new MySoundPair("BlockMedicalProgress");
            }

            m_rechargeSocket = new MyRechargeSocket();

            NeedsUpdate = MyEntityUpdateEnum.EACH_10TH_FRAME | MyEntityUpdateEnum.EACH_100TH_FRAME;

            SteamUserId = (objectBuilder as MyObjectBuilder_MedicalRoom).SteamUserId;

            if (SteamUserId != 0) //backward compatibility
            {
                MyPlayer controller = Sync.Players.TryGetPlayerById(new MyPlayer.PlayerId(SteamUserId));
                if (controller != null)
                {
                    IDModule.Owner = controller.Identity.IdentityId;
                    IDModule.ShareMode = MyOwnershipShareModeEnum.Faction;
                }
            }
            SteamUserId = 0;

            m_takeSpawneeOwnership = (objectBuilder as MyObjectBuilder_MedicalRoom).TakeOwnership;
            m_setFactionToSpawnee = (objectBuilder as MyObjectBuilder_MedicalRoom).SetFaction;

            SyncObject = new SyncClass(this);

            SlimBlock.ComponentStack.IsFunctionalChanged += ComponentStack_IsFunctionalChanged;

            InitializeConveyorEndpoint();

            PowerReceiver = new MyPowerReceiver(
                group: MyConsumerGroupEnum.Utility,
                isAdaptible: false,
                maxRequiredInput: MyEnergyConstants.MAX_REQUIRED_POWER_MEDICAL_ROOM,
                requiredInputFunc: () => (Enabled && IsFunctional) ? PowerReceiver.MaxRequiredInput : 0f);
            PowerReceiver.IsPoweredChanged += Receiver_IsPoweredChanged;
            PowerReceiver.Update();
            AddDebugRenderComponent(new MyDebugRenderComponentDrawPowerReciever(PowerReceiver, this));

            if (this.CubeGrid.CreatePhysics)
                Components.Add<MyRespawnComponent>(new MyRespawnComponent());
        }
Example #10
0
        private async void LogIntoEquip(string username, string password, string url)
        {
            string returnedData = "";

            try
            {
                returnedData = await SyncClass.API_Login(username, password, url);


                var ParsedLoginData = JsonConvert.DeserializeObject <List <LoginDataClass> >(returnedData);

                //Store login data to variables to be used to sore to database
                var Servertime_     = ParsedLoginData[0].ServerTime.ToString();
                var UserID_         = ParsedLoginData[0].UserID;
                var RoleID_         = ParsedLoginData[0].RoleID;
                var AllowDup_       = ParsedLoginData[0].AllowDuplicateBarcode.ToString();
                var eQuipVer_       = ParsedLoginData[0].eQuipVersion;
                var Framework_      = ParsedLoginData[0].Framework;
                var RequiredFields_ = JsonConvert.SerializeObject(ParsedLoginData[0].RequiredFields);
                var MobileSites_    = ParsedLoginData[0].GetMobileSites();
                var Permissions     = JsonConvert.SerializeObject(ParsedLoginData[0].Permissions);
                var LoginData       = new List <LoginDbTable> {
                    new LoginDbTable {
                        ServerTime            = Servertime_,
                        UserID                = UserID_,
                        RoleID                = RoleID_.ToString(),
                        AllowDuplicateBarcode = AllowDup_,
                        eQuipVersion          = eQuipVer_,
                        Framework             = Framework_,
                        RequiredFields        = RequiredFields_,
                        MobileSites           = MobileSites_,
                        LastSyncDate          = _LastSyncDate,
                        Permissions           = Permissions
                    }
                };
                foreach (var loginRecord in LoginData)
                {
                    var query = Database.Login.GetTableData(_connection);
                    if (query.Count() > 0)
                    {
                        Database.Login.Update(_connection, loginRecord);
                    }
                    else
                    {
                        await DisplayAlert("Error", "Please log in", "OK");
                    }
                }
            }
            catch (Exception e)
            {
                DependencyService.Get <IError>().SendRaygunError(e, Application.Current.Properties["user"].ToString() ?? "unsynced", Application.Current.Properties["url"].ToString() ?? "unsynced", null);
                if (e is LoginException)
                {
                    await DisplayAlert("Error", e.Message, "OK");
                }
                else
                {
                    await DisplayAlert("Error", e.Message + ". Please check the url or connection.", "OK");
                }
            }
        }
Example #11
0
        private async void InsertAssetData(double progressCounter, Stack <SitesClass> StackSites_Assets, bool new_ = false)
        {
            try
            {
                //Insert Asset Data
                pg1Label.Text = "Getting Asset data from eQuip.";
                var AssetResponse = await SyncClass.NewSyncClass.API_GetAssets(_userID, _url, StackSites_Assets);

                pg1Label.Text = "Converting data";
                //convert string to ist of JSON Object
                var AssetRecords = JsonConvert.DeserializeObject <List <AssetJsonObject> >(AssetResponse);
                //Create new list to parse records and make into AssetClass
                var AssetClassList = new List <AssetClass>();
                foreach (AssetJsonObject AssetJSON in AssetRecords)
                {
                    AssetClassList.Add(new AssetClass(AssetJSON, true));
                }
                //Convert asset class to string then to DbClass to be stored
                var AssetDbList = JsonConvert.DeserializeObject <IEnumerable <AssetDbClass> >(JsonConvert.SerializeObject(AssetClassList));
                pg1Label.Text = "Storing Assets to database.";
                Database.Assets.DeleteAndInsert(_connection, AssetDbList);
                pg1.Progress = pg1.Progress + progressCounter;

                pg1.Progress = pg1.Progress + progressCounter;

                //Get Time using Login method
                var LoginInfo = JsonConvert.DeserializeObject <List <LoginDataClass> >(await SyncClass.API_Login(Application.Current.Properties["user"].ToString(), Application.Current.Properties["password"].ToString(), _url));
                //Store the LastSync Date
                Application.Current.Properties["LastSyncdate"] = LoginInfo[0].ServerTime.ToString();
                Database.Login.UpdateSync(_connection, LoginInfo[0].ServerTime.ToString());
                await Application.Current.SavePropertiesAsync();

                pg1.Progress = pg1.Progress + progressCounter;
                ActivityIndicator.IsVisible = false;
                ActivityIndicator.IsRunning = false;
                if (new_)
                {
                    await DisplayAlert("Sync Status", "New Synchronization Complete!", "OK");
                }
                else
                {
                    await DisplayAlert("Sync Status", "Update Synchronization Complete!", "OK");
                }
                await Navigation.PopToRootAsync();
            }
            catch (Exception exc)
            {
                DependencyService.Get <IError>().SendRaygunError(exc, Application.Current.Properties["user"].ToString() ?? "unsynced", Application.Current.Properties["url"].ToString() ?? "unsynced", null);
                await DisplayAlert("Error!", exc.Message + ". Please wipe database and try again.", "OK");
            }
        }
Example #12
0
        public static void Main()
        {
            SyncClass secondApp = new SyncClass();

            secondApp.SycInitialization();
        }
Example #13
0
        public async static void AddData(string inputText, string inputHeaderText)
        {
            await Task.Run(() =>
            {
                string dbpath = Path.Combine(ApplicationData.Current.LocalFolder.Path, "sqliteHistory.db");
                using (SqliteConnection db =
                           new SqliteConnection($"Filename={dbpath}"))
                {
                    db.Open();

                    SqliteCommand insertCommand = new SqliteCommand();
                    insertCommand.Connection    = db;

                    // Use parameterized query to prevent SQL injection attacks
                    insertCommand.CommandText = "INSERT INTO MyTable(Site, Header, ID) VALUES (@Entry, @Header, @ID);";
                    // = "INSERT INTO MyTable(Col1, Col2) VALUES('Test Text ', 1); ";
                    //   insertCommand.CommandText = "INSERT INTO MyTable VALUES (NULL, @Entry);";
                    insertCommand.Parameters.AddWithValue("@Entry", inputText);
                    insertCommand.Parameters.AddWithValue("@Header", inputHeaderText);
                    Random r = new Random();
                    insertCommand.Parameters.AddWithValue("@ID", r.Next().ToString());
                    insertCommand.ExecuteReader();

                    db.Close();
                }
            });

            try
            {
                if ((bool)Windows.Storage.ApplicationData.Current.RoamingSettings.Values["Syncing"] == true)
                {
                    //  try
                    // {
                    if ((bool)Windows.Storage.ApplicationData.Current.RoamingSettings.Values["NewData"] == false)
                    {
                        Windows.Storage.ApplicationData.Current.RoamingSettings.Values["SyncId"] = Windows.Storage.ApplicationData.Current.LocalSettings.Values["SyncId"];
                        StorageFolder roaming  = Windows.Storage.ApplicationData.Current.RoamingFolder;
                        StorageFile   SyncFile = await roaming.CreateFileAsync("SyncFile.json", CreationCollisionOption.OpenIfExists);

                        string Data = await FileIO.ReadTextAsync(SyncFile);

                        try
                        {
                            SyncClass SyncListJSON = JsonConvert.DeserializeObject <SyncClass>(Data);
                            Uri       ArgsUri      = new Uri(inputText);
                            string    host         = ArgsUri.Host;
                            SyncListJSON.Sync.Add(new SyncJSON()
                            {
                                HeaderJSON  = inputHeaderText,
                                UrlJSON     = inputText,
                                FavIconJSON = "http://icons.duckduckgo.com/ip2/" + host + ".ico",
                            });
                            Windows.Storage.ApplicationData.Current.RoamingSettings.Values["NewData"] = true;
                            var SerializedObject = JsonConvert.SerializeObject(SyncListJSON, Formatting.Indented);
                            await Windows.Storage.FileIO.WriteTextAsync(SyncFile, SerializedObject);
                        }
                        catch
                        {
                            Windows.Storage.ApplicationData.Current.RoamingSettings.Values["SyncId"] = Windows.Storage.ApplicationData.Current.LocalSettings.Values["SyncId"];
                            string        filepath = @"Assets\SyncFile.json";
                            StorageFolder folder   = Windows.ApplicationModel.Package.Current.InstalledLocation;
                            StorageFile   file     = await folder.GetFileAsync(filepath);

                            SyncClass SyncListJSON = JsonConvert.DeserializeObject <SyncClass>(await FileIO.ReadTextAsync(file));
                            Uri       ArgsUri      = new Uri(inputText);
                            string    host         = ArgsUri.Host;
                            SyncListJSON.Sync.Add(new SyncJSON()
                            {
                                HeaderJSON  = inputHeaderText,
                                UrlJSON     = inputText,
                                FavIconJSON = "http://icons.duckduckgo.com/ip2/" + host + ".ico",
                            });
                            var           SerializedObject = JsonConvert.SerializeObject(SyncListJSON, Formatting.Indented);
                            StorageFolder roamingX         = Windows.Storage.ApplicationData.Current.RoamingFolder;
                            StorageFile   SyncFileX        = await roamingX.GetFileAsync("SyncFile.json");

                            await FileIO.WriteTextAsync(SyncFileX, SerializedObject);

                            Windows.Storage.ApplicationData.Current.RoamingSettings.Values["NewData"] = true;
                        }

                        //ApplicationData.Current.RoamingSettings.Values["NewData"] = true;
                    }
                    else
                    {
                        //  try
                        // {
                        if ((bool)Windows.Storage.ApplicationData.Current.RoamingSettings.Values["Syncing"] == true)
                        {
                            // try
                            // {
                            if ((bool)Windows.Storage.ApplicationData.Current.RoamingSettings.Values["NewData"] == true)
                            {
                                Windows.Storage.ApplicationData.Current.RoamingSettings.Values["SyncId"]  = Windows.Storage.ApplicationData.Current.LocalSettings.Values["SyncId"];
                                Windows.Storage.ApplicationData.Current.RoamingSettings.Values["NewData"] = false;
                                StorageFolder roaming  = Windows.Storage.ApplicationData.Current.RoamingFolder;
                                StorageFile   SyncFile = await roaming.GetFileAsync("SyncFile.json");

                                string Data = await FileIO.ReadTextAsync(SyncFile);

                                SyncClass SyncListJSON = JsonConvert.DeserializeObject <SyncClass>(Data);
                                foreach (var item in SyncListJSON.Sync)
                                {
                                    DataAccess.AddDataS(item.UrlJSON, item.HeaderJSON);
                                }
                                ApplicationData.Current.RoamingSettings.Values["NewData"] = false;
                                await SyncFile.DeleteAsync();
                            }
                            else
                            {
                                StorageFolder roaming = Windows.Storage.ApplicationData.Current.RoamingFolder;
                                try
                                {
                                    StorageFile SyncFile = await roaming.CreateFileAsync("SyncFile.json", CreationCollisionOption.FailIfExists);
                                }
                                catch
                                {
                                }
                            }
                            // }

                            /*   catch
                             * {
                             *     ApplicationData.Current.RoamingSettings.Values["NewData"] = false;
                             *     StorageFolder roaming = Windows.Storage.ApplicationData.Current.RoamingFolder;
                             *     try
                             *     {
                             *         StorageFile SyncFile = await roaming.CreateFileAsync("SyncFile.json", CreationCollisionOption.FailIfExists);
                             *     }
                             *     catch
                             *     {
                             *
                             *     }
                             * }*/
                        }
                        // }

                        /*  catch
                         * {
                         *    Windows.Storage.ApplicationData.Current.RoamingSettings.Values["Syncing"] = false;
                         * }*/
                    }
                }
            }
            catch
            {
                Windows.Storage.ApplicationData.Current.RoamingSettings.Values["Syncing"] = false;
            }
        }
Example #14
0
        private async void LogIntoEquip(string username, string password, string url, bool second_attempt)
        {
            if (url.ToLower().IndexOf("https://") != 0)
            {
                await DisplayAlert("Error", "Please check the url, there is no http present", "OK");
            }
            else
            {
                string returnedData = "";
                try
                {
                    url_passed = url;
                    ActivityIndicator.IsRunning = true;
                    ActivityIndicator.IsVisible = true;
                    returnedData = await SyncClass.API_Login(username.Trim(), password.Trim(), url.Trim());

                    ActivityIndicator.IsRunning = false;
                    ActivityIndicator.IsVisible = false;
                    //check if data is erroroneous

                    var ParsedLoginData = JsonConvert.DeserializeObject <List <LoginDataClass> >(returnedData);
                    //stores login, user and password to Application storage
                    Application.Current.Properties["url"]      = url;
                    Application.Current.Properties["user"]     = username;
                    Application.Current.Properties["password"] = password;
                    Application.Current.Properties["UserID"]   = ParsedLoginData[0].UserID;

                    //Store login data to variables to be used to sore to database
                    var Servertime_     = ParsedLoginData[0].ServerTime.ToString();
                    var UserID_         = ParsedLoginData[0].UserID;
                    var RoleID_         = ParsedLoginData[0].RoleID;
                    var AllowDup_       = ParsedLoginData[0].AllowDuplicateBarcode.ToString();
                    var eQuipVer_       = ParsedLoginData[0].eQuipVersion;
                    var Framework_      = ParsedLoginData[0].Framework;
                    var RequiredFields_ = JsonConvert.SerializeObject(ParsedLoginData[0].RequiredFields);
                    var MobileSites_    = ParsedLoginData[0].GetMobileSites();
                    var Permissions     = JsonConvert.SerializeObject(ParsedLoginData[0].Permissions);
                    var LoginData       = new List <LoginDbTable> {
                        new LoginDbTable {
                            ServerTime            = Servertime_,
                            UserID                = UserID_,
                            RoleID                = RoleID_.ToString(),
                            AllowDuplicateBarcode = AllowDup_,
                            eQuipVersion          = eQuipVer_,
                            Framework             = Framework_,
                            RequiredFields        = RequiredFields_,
                            MobileSites           = MobileSites_,
                            LastSyncDate          = _LastSyncDate.Text,
                            Permissions           = Permissions
                        }
                    };
                    //Adds data to storage
                    //check if value alredy present, then update
                    //https://components.xamarin.com/gettingstarted/sqlite-net
                    foreach (var loginRecord in LoginData)
                    {
                        //TODO
                        //Change it so that it checks for specific parameter
                        var query = Database.Login.GetTableData(_connection); //QueryValuations(_connection, LoginData[0]);
                        if (query.Count() > 0)
                        {
                            if (loginRecord.UserID == query.First().UserID&& loginRecord.MobileSites == query.First().MobileSites)
                            {
                                //Same user is logging in
                                //loginRecord.Id = query.First().Id;
                                Database.Login.Update(_connection, loginRecord);// _connection.Update(loginRecord);
                                if (!second_attempt)
                                {
                                    await DisplayAlert("Ok", "Same user logging in : " + loginRecord.ServerTime, "Ok");
                                }
                                await Application.Current.SavePropertiesAsync();

                                await Navigation.PushAsync(new SyncPage(_connection, UserID_, url_passed));
                            }
                            else
                            {
                                //Different user logging in
                                var AssetsToUpdate = CheckforSyncData();
                                if (AssetsToUpdate)
                                {
                                    await DisplayAlert("Warning", "New user. There is data that has not been Synced. Sync before continuing", "Ok");
                                }
                                else
                                {
                                    //clear database and login with new user data
                                    if (second_attempt)
                                    {
                                        await Navigation.PushAsync(new SyncPage(_connection, UserID_, url_passed));
                                    }
                                    else
                                    {
                                        await DisplayAlert("Alert", "Different user/mobile sites logging in. Clearing data for login", "Ok");

                                        Reinitialize(true);
                                    }
                                }
                            }
                        }
                        else
                        {
                            //Completely new user
                            Database.Login.Insert(_connection, loginRecord);//_connection.Insert(loginRecord);
                            if (!second_attempt)
                            {
                                await DisplayAlert("Ok", "No data present, inserting Data: " + loginRecord.ServerTime, "Ok");
                            }
                            await Navigation.PushAsync(new SyncPage(_connection, UserID_, url_passed));
                        }
                    }
                }
                catch (Exception e)
                {
                    try
                    {
                        DependencyService.Get <IError>().SendRaygunError(e, Application.Current.Properties["user"].ToString() ?? "unsynced", Application.Current.Properties["url"].ToString() ?? "unsynced", null);
                        //TODO - send raygun Error
                        ActivityIndicator.IsRunning = false;
                        ActivityIndicator.IsVisible = false;
                        if (e is LoginException)
                        {
                            await DisplayAlert("Error", e.Message, "OK");

                            LoginPassWord.Text = "";
                        }
                        else if (e.Message == "The resource could not be loaded because the App Transport Security policy requires the use of a secure connection.")
                        {
                            LoginUrl.Text = LoginUrl.Text.Replace("http", "https");
                            LogIntoEquip(LoginUserName.Text, LoginPassWord.Text, LoginUrl.Text, second_attempt);
                        }
                        else
                        {
                            await DisplayAlert("Error", e.Message + " Please check the url or connection.", "OK");
                        }
                    }
                    catch (Exception) { }
                }
            }
        }
Example #15
0
        public override void Init(MyObjectBuilder_CubeBlock objectBuilder, MyCubeGrid cubeGrid)
        {
            base.Init(objectBuilder, cubeGrid);

	        var medicalRoomDefinition = BlockDefinition as MyMedicalRoomDefinition;

	        MyStringHash resourceSinkGroup;
            if (medicalRoomDefinition != null)
            {
                m_idleSound = new MySoundPair(medicalRoomDefinition.IdleSound);
                m_progressSound = new MySoundPair(medicalRoomDefinition.ProgressSound);
				resourceSinkGroup = MyStringHash.GetOrCompute(medicalRoomDefinition.ResourceSinkGroup);
            }
            else
            {
                m_idleSound = new MySoundPair("BlockMedical");
                m_progressSound = new MySoundPair("BlockMedicalProgress");
				resourceSinkGroup = MyStringHash.GetOrCompute("Utility");
            }

            m_rechargeSocket = new MyRechargeSocket();

            NeedsUpdate = MyEntityUpdateEnum.EACH_10TH_FRAME | MyEntityUpdateEnum.EACH_100TH_FRAME;

            SteamUserId = (objectBuilder as MyObjectBuilder_MedicalRoom).SteamUserId;

            if (SteamUserId != 0) //backward compatibility
            {
                MyPlayer controller = Sync.Players.GetPlayerById(new MyPlayer.PlayerId(SteamUserId));
                if (controller != null)
                {
                    IDModule.Owner = controller.Identity.IdentityId;
                    IDModule.ShareMode = MyOwnershipShareModeEnum.Faction;
                }
            }
            SteamUserId = 0;

            m_takeSpawneeOwnership = (objectBuilder as MyObjectBuilder_MedicalRoom).TakeOwnership;
            m_setFactionToSpawnee = (objectBuilder as MyObjectBuilder_MedicalRoom).SetFaction;

            SyncObject = new SyncClass(this);
            
            SlimBlock.ComponentStack.IsFunctionalChanged += ComponentStack_IsFunctionalChanged;

            InitializeConveyorEndpoint();

			SinkComp = new MyResourceSinkComponent();
			SinkComp.Init(
                resourceSinkGroup,
                MyEnergyConstants.MAX_REQUIRED_POWER_MEDICAL_ROOM,
                () => (Enabled && IsFunctional) ? SinkComp.MaxRequiredInput : 0f);
            SinkComp.IsPoweredChanged += Receiver_IsPoweredChanged;
            SinkComp.Update();
            AddDebugRenderComponent(new MyDebugRenderComponentDrawPowerReciever(SinkComp, this));

            if (this.CubeGrid.CreatePhysics)
                Components.Add<MyRespawnComponent>(new MyRespawnComponent());
        }
Example #16
0
        public static void Main()
        {
            SyncClass firstApp = new SyncClass();

            firstApp.SycInitialization();
        }