//Loading filtered data private async void LoadData() { if (!ServerInteractionHelper.IsNetworkAvailable() && !ServerInteractionHelper.TryAccessDatabase()) { AnalyticalInstruments = new BindableCollection <tblMeasuringDevice>(); SelectedAnalyticalInstrument = new tblMeasuringDevice(); return; } try { await Task.Run(() => { using (var db = new ApirsRepository <tblMeasuringDevice>()) { AnalyticalInstruments = new BindableCollection <tblMeasuringDevice>(db.GetModel().ToList()); } }); this.allAnalyticalInstruments = AnalyticalInstruments; if (AnalyticalInstruments.Count == 0) { SelectedAnalyticalInstrument = new tblMeasuringDevice(); } else if (AnalyticalInstruments.Count > 1) { SelectedAnalyticalInstrument = AnalyticalInstruments.First(); } else { SelectedAnalyticalInstrument = AnalyticalInstruments.First(); } } catch (Exception e) { AnalyticalInstruments = new BindableCollection <tblMeasuringDevice>(); this.allAnalyticalInstruments = AnalyticalInstruments; SelectedAnalyticalInstrument = new tblMeasuringDevice(); } }
/// <summary> /// Uploading a filestream to the server /// </summary> /// <param name="fileStreamByte"></param> /// <returns></returns> public static Guid UploadFile(string filePath) { if (filePath != "") { //Getting file information FileInfo fi = new FileInfo(filePath); FileStream fs; try { //Implementing a new filestream fs = new FileStream(fi.FullName, FileMode.Open, FileAccess.Read); } catch { MessageBox.ShowError("File is being used by another process."); return(new Guid()); } //Transfering filestream into binary format BinaryReader rdr = new BinaryReader(fs); byte[] fileData = rdr.ReadBytes((int)fs.Length); //Closing filestream rdr.Close(); fs.Close(); try { //Instantiate database using (ApirsDatabase db = new ApirsDatabase()) { //Retrieving file meta data string fileName = fi.Name; string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(fileName); string extension = fi.Extension; char charac = 'a'; //Changing File name based on the count of occurences while (db.v_FileStore.Where(x => x.name == fileName).Count() > 0) { fileName = fileNameWithoutExtension + charac + extension; charac++; } //Establishing a sql connection using (SqlConnection SqlConn = new SqlConnection(db.Database.Connection.ConnectionString.ToString())) { SqlCommand spAddFile = new SqlCommand("dbo.spAddFile", SqlConn); //Testing if a connection is established //Normally: if (sv.IsNetworkAvailable() && sv.IsServerConnected("130.83.96.87")) if (ServerInteractionHelper.IsNetworkAvailable()) { //Preparing the stored procedure spAddFile.CommandType = CommandType.StoredProcedure; //Adding the parameters spAddFile.Parameters.Add("@pName", SqlDbType.NVarChar, 255).Value = fileName; spAddFile.Parameters.Add("@pFile_Stream", SqlDbType.Image, fileData.Length).Value = fileData; //Opening the connection SqlConn.Open(); Guid result = (Guid)spAddFile.ExecuteScalar(); SqlConn.Close(); db.SaveChanges(); return(result); } } } } catch (Exception e) { MessageBox.ShowError(UserMessageValueConverter.ConvertBack(1)); return(new Guid()); } } return(new Guid()); }
/// <summary> /// Attempts to register the user /// </summary> /// <param name="parameter">The SecureString passed in from the view for the users password</param> /// <returns></returns> public async void Delete() { if (SelectedPerson.persIdPk == 0) { ((ShellViewModel)IoC.Get <IShell>()).ShowInformation("You have to be logged in."); } // If existing window is visible, delete the customer and all their orders. // In a real application, you should add warnings and allow the user to cancel the operation. if (((ShellViewModel)IoC.Get <IShell>()).ShowQuestion("Are you REALLY sure to delete your user profile?" + Environment.NewLine + "You won't be able to reconstruct your created projects, rock samples and measurements." + Environment.NewLine + "Please be sure, that you have exported all relevant data.") == MessageBoxViewResult.No) { return; } CommandHelper ch = new CommandHelper(); await ch.RunCommand(() => IsUpdateRunning, async() => { await Task.Delay(2000); try { //Establishing a sql connection using (SqlConnection SqlConn = new SqlConnection(this.apirsDatabase.Database.Connection.ConnectionString.ToString())) { //Testing if a connection is established if (ServerInteractionHelper.IsNetworkAvailable() && ServerInteractionHelper.TryAccessDatabase()) { //Triggering the delete user sp SqlCommand spDeleteUser = new SqlCommand("dbo.spDeleteUser", SqlConn); spDeleteUser.CommandType = CommandType.StoredProcedure; //Adding the parameters spDeleteUser.Parameters.Add("@pLogin", SqlDbType.NVarChar, 50); spDeleteUser.Parameters["@pLogin"].Value = SelectedPerson.persUserName; spDeleteUser.Parameters.Add("@responseMessage", SqlDbType.NVarChar, 250).Direction = ParameterDirection.Output; //Executing the stored procedure SqlConn.Open(); spDeleteUser.ExecuteNonQuery(); var par = Convert.ToString(spDeleteUser.Parameters["@responseMessage"].Value); SqlConn.Close(); switch (par) { case "1": ((ShellViewModel)IoC.Get <IShell>()).ShowInformation("You successfully deleted your profile."); _events.PublishOnUIThreadAsync(new ChangeUserMessage(0, "Logged out")); _events.PublishOnUIThreadAsync(new ChangeViewModelMessage("LoginView")); break; default: ((ShellViewModel)IoC.Get <IShell>()).ShowInformation("An unexpected error occured."); break; } } else { return; } } } catch (NullReferenceException ne) { Console.WriteLine(ne.Message); } catch (Exception e) { ((ShellViewModel)IoC.Get <IShell>()).ShowInformation(e.Message); } }); }