예제 #1
0
        public webcamConfig(formDelegate sender, ArrayList from, List <CameraButtonGroup> CameraButtonGroupInstance, SaveChanges save)
        {
            saveChanges        = save;
            toolTip            = (bool)from[0];
            mainSelectedWebcam = (int)from[1];
            autoscroll         = (bool)from[2];
            // buttons = (List<camButtons.ButtonColourEnum>)from[3];
            webcamConfigDelegate = sender;
            from.Clear();
            InitializeComponent();

            //this.Controls.Add(ButtonCameraControl);
            //ButtonCameraControl.Location = new Point(5, 480);
            //ButtonCameraControl.AddExistingButtons(CameraButtonGroupInstance);
            ConfigureCameraButtons(CameraButtonGroupInstance);
            //CameraButtons = CameraButtonGroupInstance;

            LevelControlBox.Left = 417;
            LevelControlBox.Top  = 18;
            this.Controls.Add(LevelControlBox);

            camButtonSetColours();

            cameraSwitch(CameraRig.ConnectedCameras[CameraRig.CurrentlyDisplayingCamera].displayButton, true);
        }
예제 #2
0
        private void AcceptChangesButton(object sender, RoutedEventArgs e)
        {
            XmlDocument settings = new XmlDocument();
            XmlNode     root     = settings.CreateElement("gestures");

            settings.AppendChild(root);
            foreach (var gestureParameters in listOfGestures)
            {
                XmlNode      gesture        = settings.CreateElement("gesture");
                XmlAttribute gestureCode    = settings.CreateAttribute("gestureCode");
                XmlAttribute gestureType    = settings.CreateAttribute("gestureType");
                XmlAttribute gestureCommand = settings.CreateAttribute("gestureCommand");

                gestureCode.Value    = gestureParameters.code;
                gestureType.Value    = gestureParameters.type.ToString();
                gestureCommand.Value = gestureParameters.command;
                gesture.Attributes.Append(gestureCode);
                gesture.Attributes.Append(gestureType);
                gesture.Attributes.Append(gestureCommand);
                gestureCode = settings.CreateAttribute("gestureCode");

                root.AppendChild(gesture);
            }
            settings.Save("Settings.xml");
            SaveChanges?.Invoke(this, EventArgs.Empty);
            loadSettings();
            MessageBox.Show("Changes Saved");
            changesMade       = false;
            this.DialogResult = true;
        }
예제 #3
0
        private void button1_Click(object sender, EventArgs e)
        {
            //change
            button4.Enabled = false;
            textBox1.Text  += Environment.NewLine;
            if (comboBox1.SelectedIndex != -1 && comboBox2.SelectedIndex != -1)
            {
                SetTrueFalse(false, 1);
                SetTrueFalse(false, 2);

                SaveChanges?.Invoke(this, new EntityIdEventArgs(Editor.GetId(comboBox2.SelectedItem.ToString())));
                textBox1.Text += Environment.NewLine + Environment.NewLine + DateTime.Now.ToString() + Environment.NewLine + String.Format("Врач: {0} {1} {2}. Специальность: {3}.", doctor.FirstName, doctor.LastName, doctor.Patronymic, SpecializationName) + Environment.NewLine;

                textBox1.SelectionStart = textBox1.TextLength;
                textBox1.ScrollToCaret();
                textBox1.Focus();
            }
            if (comboBox1.SelectedIndex == -1)
            {
                errorProvider1.SetError(comboBox1, "Выберите пациента!");
            }
            if (comboBox2.SelectedIndex == -1)
            {
                errorProvider1.SetError(comboBox2, "Выберите врача!");
            }
        }
예제 #4
0
        private void Save_Click(object sender, EventArgs e)
        {
            errorProvider1.Clear();
            save = true;
            foreach (TextBox TB in TextBoxes)
            {
                if (String.IsNullOrEmpty(TB.Text))
                {
                    errorProvider1.SetError(TB, "Поле должно быть заполнено!");
                    save = false;
                }
            }

            if (comboBox1.SelectedItem == null)
            {
                errorProvider1.SetError(comboBox1, "Выберите участок!");
                save = false;
            }
            else
            {
                if (String.IsNullOrEmpty(textBox4.Text))
                {
                    errorProvider1.SetError(textBox4, "Введите улицу!");
                    save = false;
                }

                if (String.IsNullOrEmpty(textBox5.Text))
                {
                    errorProvider1.SetError(textBox5, "Введите номер дома!");
                    save = false;
                }

                if (!maskedTextBox1.MaskFull)
                {
                    errorProvider1.SetError(maskedTextBox1, "Введите дату!");
                    save = false;
                }
                else
                {
                    if (!DateTime.TryParse(maskedTextBox1.Text, out DateTime datetime))
                    {
                        messageService.ShowError("Неверная дата");
                        save = false;
                    }
                }

                if (domainUpDown1.SelectedItem == null)
                {
                    errorProvider1.SetError(domainUpDown1, "Выберите пол!");
                    save = false;
                }
            }

            if (save)
            {
                SaveChanges?.Invoke(this, EventArgs.Empty);
                messageService.ShowInfo("Данные о пациенте успешно добавлены.");
                Close();
            }
        }
예제 #5
0
        public bool Close(SaveChanges saveChanges)
        {
            switch (saveChanges)
            {
            case SaveChanges.No:
                _dteWindow.Close(vsSaveChanges.vsSaveChangesNo);
                break;

            case SaveChanges.Yes:
                _dteWindow.Close(vsSaveChanges.vsSaveChangesYes);
                break;

            case SaveChanges.Prompt:
                try
                {
                    _dteWindow.Close(vsSaveChanges.vsSaveChangesPrompt);
                }
                catch //user cancelled the operation
                {
                    return(false);
                }
                break;
            }

            return(true);
        }
        public DetailInvoiceFileDesignerForm(IViewModelBase VM)
        {
            InitializeComponent();
            SaveChanges.SetParent(ModalDialogParent);

            DataContext = VM;
            SetCloseHandler();
        }
 private void TableTypesCombo_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     if (SaveChanges.Modified == true)
     {
         if (SaveChanges.ShowHandlerDialog() == false)
         {
         }
     }
 }
예제 #8
0
        public DisplayNotes(IViewModelBase VM)
        {
            InitializeComponent();
            SaveChanges.SetParent(ModalDialogParent);

            DataContext = VM;

            SetCloseHandler();
            // When the ViewModel asks to be closed, close the window.
        }
 override protected void OnClosing(CancelEventArgs e)
 {
     if (SaveChanges.Modified == true)
     {
         if (SaveChanges.ShowHandlerDialog() == false)
         {
             e.Cancel = true;
             SetCloseHandler();
         }
     }
 }
        //Этот методобновляет прочие наценки
        private void UpdateAnotherCharge()
        {
            workcharge  = WorkCharge.Value;
            partscharge = PartsCharge.Value;

            currenttab.WorkCharge  = workcharge;
            currenttab.PartsCharge = partscharge;
            SaveChanges?.Invoke();

            UpdateCount();
        }
        private void ChangeTabTitle(object sender, MouseButtonEventArgs e)
        {
            var newname = Interaction.InputBox("Введите", "Введите новое название:");

            if (string.IsNullOrWhiteSpace(newname))
            {
                Interaction.MsgBox("Введите название!");
                return;
            }
            TabTitle.Content = newname;
            currenttab.Name  = newname;
            SaveChanges?.Invoke();
        }
예제 #12
0
        private async void button_confirm_Clicked(object sender, EventArgs e)
        {
            // Здесь выберем элемент, довлетворяющий выбранному элементу списка
            var res = lvitems.SelectedItem as ModelForSelect;

            if (_view != null)
            {
                ((Label)((Grid)_view).Children[0]).Text = res?.Content;
                await Navigation.PopPopupAsync();

                SaveChanges?.Invoke(_view, EventArgs.Empty);
            }
            //Передаем в другом случае (для LinearList)
            else
            {
                await Navigation.PopPopupAsync();

                SaveChanges?.Invoke(res?.Content, EventArgs.Empty);
            }
        }
예제 #13
0
        public async Task <bool> ChangesCheckedAndSavedSuccessfully()
        {
            ModelChecker.Check(this.ModelState);

            TempData.CorrectEmptyArrays <int>();

            if (CategoryTypeSelection != null)
            {
                Category.CategoryType = _context.CategoryTypes.FirstOrDefault(x => x.Id == CategoryTypeSelection);
            }
            else
            {
                Category.CategoryType = null;
            }


            TempData.Clear();

            return(await SaveChanges.SavedSuccessfully(this._context, this._context.Categories, this.Category));
        }
        //Этот метод должен добавять новые элементы
        private void UpdateTabRecords(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
        {
            if (e.OldItems != null)
            {
                foreach (TabRecord oldItem in e.OldItems)
                {
                    currenttab.TabRecords.Remove(oldItem);
                    oldItem.PropertyChanged -= UpdateTabRecord;
                }
            }

            if (e.NewItems != null)
            {
                foreach (TabRecord newItem in e.NewItems)
                {
                    currenttab.TabRecords.Add(newItem);
                    newItem.PropertyChanged += UpdateTabRecord;
                }
            }

            SaveChanges?.Invoke();
        }
        public void Init(string functionDescription,
                         TabControl parent, TabItem thisTabItem,
                         ExistingChanges existingChangesCallback, SaveChanges saveChangesCallback, ResetChanges resetChangesCallback)
        {
            _functionDescription     = functionDescription;
            _existingChangesCallback = existingChangesCallback;
            _saveChangesCallback     = saveChangesCallback;
            _resetChangesCallback    = resetChangesCallback;

            _tabControl  = parent;
            _thisTabItem = thisTabItem;

            if (_tabControl != null && _thisTabItem != null)
            {
                var p = thisTabItem.Parent;
                _tabControl.SelectionChanged += parent_SelectionChanged;
            }
            else
            {
                IsVisibleChanged += SaveOrResetUC_IsVisibleChanged;
            }
        }
예제 #16
0
 public PipelineBuilder(
     SendEmail sendEmail,
     SaveChanges saveChanges,
     RegisterUser registerUser,
     ScheduleTaskToBuyReturnTicket scheduleTaskToBuyReturnTicket,
     NotifySlack notifySlack,
     GenerateTickets generateTickets,
     GenerateEmail generateEmail,
     CardinityPayment creditCardPayment,
     PayPalPayment payPalPayment)
 {
     //keeping short for brevity
     _sendEmail    = sendEmail;
     _saveChanges  = saveChanges;
     _registerUser = registerUser;
     _scheduleTaskToBuyReturnTicket = scheduleTaskToBuyReturnTicket;
     _notifySlack       = notifySlack;
     _generateTickets   = generateTickets;
     _generateEmail     = generateEmail;
     _creditCardPayment = creditCardPayment;
     _payPalPayment     = payPalPayment;
 }
예제 #17
0
        public async Task <bool> ChangesCheckedAndSavedSuccessfully()
        {
            ModelChecker.Check(this.ModelState);

            TempData.CorrectEmptyArrays <int>();

            UpdateJoinTableFromSelectList.Update(_context.BrickCategories, Brick, TempData[nameof(categorySelectionOrig)] as int[], CategorySelect);

            UpdateJoinTableFromSelectList.Update(_context.BrickToBrick, Brick, TempData[nameof(childrenSelectOrig)] as int[], ChildrenSelect);

            UpdateJoinTableFromSelectList.Update(_context.BrickToBrick, Brick, TempData[nameof(parentsSelectOrig)] as int[], ParentsSelect, Relationship.Reversed);

            TempData.Clear();

            return(await SaveChanges.SavedSuccessfully(this._context, this._context.Bricks, this.Brick));

            /*
             * _context.Attach(Brick).State = EntityState.Modified;
             *
             * try
             * {
             *  await _context.SaveChangesAsync();
             * }
             * catch (DbUpdateConcurrencyException)
             * {
             *  if (!_context.Bricks.Any(e => e.Id == Brick.Id))
             *  {
             *      return false;
             *  }
             *  else
             *  {
             *      throw;
             *  }
             *
             * }
             * return true;*/
        }
예제 #18
0
        public bool Close(SaveChanges saveChanges)
        {
            switch (saveChanges)
              {
              	case SaveChanges.No:
              _dteWindow.Close(vsSaveChanges.vsSaveChangesNo);
              		break;
            case SaveChanges.Yes:
              _dteWindow.Close(vsSaveChanges.vsSaveChangesYes);
              break;
            case SaveChanges.Prompt:
              try
              {
            _dteWindow.Close(vsSaveChanges.vsSaveChangesPrompt);
              }
              catch //user cancelled the operation
              {
            return false;
              }
              break;
              }

              return true;
        }
        private async void AddItemClick(object sender, MouseButtonEventArgs e)
        {
            foreach (var item in TabRecords)
            {
                if (item.Id == 0)
                {
                    RecordGrid.CurrentItem = RecordGrid.Items.GetItemAt(RecordGrid.Items.Count - 1);

                    var issaved = await SaveChanges?.Invoke();

                    if (issaved)
                    {
                        break;
                    }
                    else
                    {
                        Interaction.MsgBox("Заполните до конца предыдущее поле!");
                        return;
                    }
                }
            }
            TabRecords.Add(new TabRecord());
            IsChangesSaved = false;
        }
        private void SetCharge(object sender, RoutedEventArgs e)
        {
            string input  = Interaction.InputBox("Введите", "Введите наценку");
            int    charge = 0;

            if (string.IsNullOrWhiteSpace(input))
            {
                return;
            }

            if (Int32.TryParse(input, out charge))
            {
                foreach (var item in TabRecords)
                {
                    item.Charge    = charge;
                    IsChangesSaved = true;
                    SaveChanges.Invoke();
                }
            }
            else
            {
                Interaction.MsgBox("Не удается преобразовать введенный текст в число. Наценка - число без запяток, без пробелов и прочего оформления. Только число!");
            }
        }
예제 #21
0
 private void Save_Clicked(object sender, EventArgs e)
 {
     if (saving)
     {
         return;
     }
     saving = true;
     SaveChanges.ForeColor = Color.FromArgb(100, SaveChanges.ForeColor);
     SaveChanges.Text      = "Saving...";
     Task.Run(() =>
     {
         rows.ForEach(row =>
         {
             row.location.Update();
         });
         SaveChanges.SafeInvoke(b =>
         {
             Reload();
             b.ForeColor = Color.FromArgb(255, SaveChanges.ForeColor);
             b.Text      = "Save Changes";
             saving      = false;
         });
     });
 }
예제 #22
0
        protected override void Execute(CodeActivityContext context)
        {
            var readPassword = ReadPassword.Get(context);

            if (string.IsNullOrEmpty(readPassword))
            {
                readPassword = null;
            }
            var writePassword = WritePassword.Get(context);

            if (string.IsNullOrEmpty(writePassword))
            {
                writePassword = null;
            }
            var removeReadPassword  = RemoveReadPassword.Get(context);
            var removeWritePassword = RemoveWritePassword.Get(context);

            var formattype  = Type.Get(context);
            var workbook    = Workbook.Get(context);
            var filename    = Filename.Get(context);
            var saveChanges = SaveChanges.Get(context);

            if (!string.IsNullOrEmpty(filename))
            {
                filename = Environment.ExpandEnvironmentVariables(filename);
            }
            if (!string.IsNullOrEmpty(filename))
            {
                bool foundit = false;
                foreach (Microsoft.Office.Interop.Excel.Workbook w in officewrap.application.Workbooks)
                {
                    if (w.FullName == filename || string.IsNullOrEmpty(filename))
                    {
                        try
                        {
                            workbook = w;
                            foundit  = true;
                            //worksheet = workbook.ActiveSheet;
                            break;
                        }
                        catch (Exception)
                        {
                            workbook = null;
                        }
                    }
                }
                if (!foundit)
                {
                    Workbook tempworkbook = officewrap.application.ActiveWorkbook;
                    if (saveChanges && tempworkbook != null && (System.IO.Path.GetExtension(filename) != ".pdf" && System.IO.Path.GetExtension(filename) != ".xps"))
                    {
                        tempworkbook.SaveAs(Filename: filename, Password: readPassword, WriteResPassword: writePassword);
                        workbook = tempworkbook;
                    }
                }
            }
            if (workbook == null)
            {
                workbook = officewrap.application.ActiveWorkbook;
            }
            if (workbook != null)
            {
                if (string.IsNullOrEmpty(filename))
                {
                    filename = workbook.FullName;
                }
                officewrap.application.DisplayAlerts = false;
                if (!string.IsNullOrEmpty(readPassword))
                {
                    workbook.Password = readPassword; saveChanges = true;
                }
                if (removeReadPassword)
                {
                    workbook.Password = ""; saveChanges = true;
                }
                if (!string.IsNullOrEmpty(writePassword))
                {
                    workbook.WritePassword = writePassword; saveChanges = true;
                }
                if (removeWritePassword)
                {
                    workbook.WritePassword = ""; saveChanges = true;
                }
                var ext = System.IO.Path.GetExtension(filename);
                if (ext.ToLower() != ".xps" && formattype == "1")
                {
                    filename = System.IO.Path.ChangeExtension(filename, "xps");
                }
                else if (ext.ToLower() != ".pdf" && formattype == "0")
                {
                    filename = System.IO.Path.ChangeExtension(filename, "pdf");
                }
                if (System.IO.File.Exists(filename))
                {
                    System.IO.File.Delete(filename);
                }
                if (formattype == "1")
                {
                    workbook.ExportAsFixedFormat(XlFixedFormatType.xlTypeXPS, filename);
                }
                else
                {
                    workbook.ExportAsFixedFormat(XlFixedFormatType.xlTypePDF, filename);
                }
                workbook.Close(saveChanges);
                officewrap.application.DisplayAlerts = true;
            }

            if (officewrap.application.Workbooks.Count == 0)
            {
                officewrap.application.Quit();
            }
        }
예제 #23
0
 public EmployeeViewModel(EmployeeModel model)
 {
     this.model  = model;
     editName    = Name;
     SaveChanges = new RelayCommand(() => { Name = EditName; SaveChanges.RaiseCanExecuteChanged(); }, () => IsDirty);
 }
예제 #24
0
파일: Settings.cs 프로젝트: DariusPa/.TAIPT
 private void saveChangesButton_Click(object sender, EventArgs e)
 {
     SaveChanges?.Invoke(this, new UserRelatedEventArgs(UserName, UserSurname, UserEmail));
 }
 private void button_confirm_Clicked(object sender, EventArgs e)
 {
     ((Label)((Grid)_view).Children[0]).Text = date_picker.Date.ToString("dd.MM.yyyy");
     Navigation.PopPopupAsync();
     SaveChanges?.Invoke(_view, EventArgs.Empty);
 }
예제 #26
0
        //protected override void OnSizeAllocated(double width, double height)
        //{
        //    base.OnSizeAllocated(width, height);
        //    stackLayout.WidthRequest = width * 2 / 3;
        //    stackLayout.HeightRequest = height / 2;
        //}

        private void button_confirm_Clicked(object sender, EventArgs e)
        {
            if (editorText.Text.Equals(""))
            {
                return;
            }
            // Если у нас тип ячейки double, то отформатируем в соответствии с форматом
            switch (_cellType)
            {
            case CellType.IsDouble:
                var resultDouble = Convert.ToDouble(editorText.Text);
                // Необходимо проверить, попадает ли в диапазон значений полученное число
                if (_property.MIN_V != 0)
                {
                    if (resultDouble < _property.MIN_V)
                    {
                        resultDouble = _property.MIN_V;
                        DependencyService.Get <IMessage>().ShortAlert($"Значение было изменено на {resultDouble}");
                    }
                }
                if (_property.MAX_V != 0)
                {
                    if (resultDouble > _property.MAX_V)
                    {
                        resultDouble = _property.MAX_V;
                        DependencyService.Get <IMessage>().ShortAlert($"Значение было изменено на {resultDouble}");
                    }
                }
                ((Label)((Grid)_view).Children[0]).Text = resultDouble.ToString(_property.FORMAT ?? "F2");
                break;

            case CellType.IsNumeric:
                // Обрубаем часть, если есть запятая
                if (editorText.Text.IndexOf('.') > 0)
                {
                    editorText.Text = editorText.Text.Substring(0, editorText.Text.IndexOf('.'));
                }
                else if (editorText.Text.IndexOf(',') > 0)
                {
                    editorText.Text = editorText.Text.Substring(0, editorText.Text.IndexOf(','));
                }
                ((Label)((Grid)_view).Children[0]).Text = editorText.Text;
                switch (_property.COLUMNTYPE)
                {
                case "smallint":
                    var result = Convert.ToInt32(editorText.Text);
                    // В случае с результатом, выходящим за рамки int16, обрубаем по верхнему или нижнему краю int16
                    if (result < short.MinValue || result > short.MaxValue)
                    {
                        if (result < short.MinValue)
                        {
                            result = short.MinValue;
                        }
                        else if (result > short.MaxValue)
                        {
                            result = short.MaxValue;
                        }
                    }
                    if (_property.MIN_V != 0)
                    {
                        if (result < _property.MIN_V)
                        {
                            result = _property.MIN_V;
                            DependencyService.Get <IMessage>().ShortAlert($"Значение было изменено на {result}");
                        }
                    }
                    if (_property.MAX_V != 0)
                    {
                        if (result > _property.MAX_V)
                        {
                            result = _property.MAX_V;
                            DependencyService.Get <IMessage>().ShortAlert($"Значение было изменено на {result}");
                        }
                    }
                    ((Label)((Grid)_view).Children[0]).Text = result.ToString();
                    break;

                default:
                    var result32 = Convert.ToInt64(editorText.Text);
                    if (result32 == long.MinValue || result32 == long.MaxValue)
                    {
                        if (result32 < int.MinValue)
                        {
                            result32 = int.MinValue;
                        }
                        else if (result32 > int.MaxValue)
                        {
                            result32 = int.MaxValue;
                        }
                    }
                    if (_property.MIN_V != 0)
                    {
                        if (result32 < _property.MIN_V)
                        {
                            result32 = _property.MIN_V;
                            DependencyService.Get <IMessage>().ShortAlert($"Значение было изменено на {result32}");
                        }
                    }
                    if (_property.MAX_V != 0)
                    {
                        if (result32 > _property.MAX_V)
                        {
                            result32 = _property.MAX_V;
                            DependencyService.Get <IMessage>().ShortAlert($"Значение было изменено на {result32}");
                        }
                    }
                    ((Label)((Grid)_view).Children[0]).Text = result32.ToString();
                    break;
                }

                break;

            case CellType.IsText:
                ((Label)((Grid)_view).Children[0]).Text = editorText.Text;
                break;

            case CellType.IsLocation:
                var valueResult = editorText.Text;
                if (valueResult.IndexOf("+", StringComparison.Ordinal) != 0)
                {
                    var vals = valueResult.Split('+');
                    if (vals.Length > 1)
                    {
                        ((Label)((Grid)_view).Children[0]).Text = !vals[1].Equals("") ? valueResult : $"{vals[0]}+000";
                    }
                    else
                    {
                        ((Label)((Grid)_view).Children[0]).Text = $"{valueResult}+000";
                    }
                }
                else
                {
                    ((Label)((Grid)_view).Children[0]).Text = $"0+{valueResult.Split('+')[1]}";
                }

                break;
            }
            Navigation.PopPopupAsync();
            SaveChanges?.Invoke(_view, EventArgs.Empty);
        }
예제 #27
0
        protected override void Execute(CodeActivityContext context)
        {
            var readPassword = ReadPassword.Get(context);

            if (string.IsNullOrEmpty(readPassword))
            {
                readPassword = null;
            }
            var writePassword = WritePassword.Get(context);

            if (string.IsNullOrEmpty(writePassword))
            {
                writePassword = null;
            }
            var removeReadPassword  = RemoveReadPassword.Get(context);
            var removeWritePassword = RemoveWritePassword.Get(context);

            var formattype = Type.Get(context);
            var document   = Document.Get(context);
            var filename   = Filename.Get(context);

            filename = Environment.ExpandEnvironmentVariables(filename);
            var saveChanges = SaveChanges.Get(context);

            Application activeObject = null;

            try
            {
                activeObject = (Application)Marshal.GetActiveObject("Word.Application");
                if (!string.IsNullOrEmpty(filename))
                {
                    foreach (Document current in activeObject.Documents)
                    {
                        if (current.FullName == filename)
                        {
                            document = current;
                            document.Close(saveChanges);
                            break;
                        }
                    }
                }
            }
            catch
            {
                activeObject = null;
            }
            finally
            {
                if (activeObject == null)
                {
                    activeObject = (Application)Activator.CreateInstance(Marshal.GetTypeFromCLSID(new Guid("000209FF-0000-0000-C000-000000000046")));
                }
                activeObject.Visible = true;
            }
            int doccount = 0;

            foreach (Document current in activeObject.Documents)
            {
                if (current.FullName == filename)
                {
                    doccount++;
                    break;
                }
            }
            object missing   = System.Type.Missing;
            object ofilename = filename;

            if (document == null)
            {
                document = activeObject.Documents.Open(ref ofilename, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
            }
            if (document != null)
            {
                if (string.IsNullOrEmpty(filename))
                {
                    filename = document.FullName;
                }
                officewrap.application.DisplayAlerts = false;
                if (!string.IsNullOrEmpty(readPassword))
                {
                    document.Password = readPassword; saveChanges = true;
                }
                if (removeReadPassword)
                {
                    document.Password = ""; saveChanges = true;
                }
                if (!string.IsNullOrEmpty(writePassword))
                {
                    document.WritePassword = writePassword; saveChanges = true;
                }
                if (removeWritePassword)
                {
                    document.WritePassword = ""; saveChanges = true;
                }
                var ext = System.IO.Path.GetExtension(filename);
                if (ext.ToLower() != ".xps" && formattype == "1")
                {
                    filename = System.IO.Path.ChangeExtension(filename, "xps");
                }
                else if (ext.ToLower() != ".pdf" && formattype == "0")
                {
                    filename = System.IO.Path.ChangeExtension(filename, "pdf");
                }
                if (System.IO.File.Exists(filename))
                {
                    System.IO.File.Delete(filename);
                }
                if (formattype == "1")
                {
                    document.ExportAsFixedFormat(filename, WdExportFormat.wdExportFormatXPS);
                }
                else
                {
                    document.ExportAsFixedFormat(filename, WdExportFormat.wdExportFormatPDF);
                }
                document.Close(saveChanges);
                officewrap.application.DisplayAlerts = true;
            }
        }