Exemple #1
0
        async void Import(BankImportFormatClient selectedbankFormat)
        {
            var journal = selectedbankFormat._Journal;

            if (journal == null)
            {
                SetMaster(selectedbankFormat);
            }

            var postingApi = new PostingAPI(api);

            var maxline = await postingApi.MaxLineNumber(journal);

            if (maxline == 0)
            {
                doImport(selectedbankFormat, postingApi, true, journal);
            }
            else
            {
                var text = string.Format(Uniconta.ClientTools.Localization.lookup("JournalContainsLines"), journal);
                CWConfirmationBox dialog = new CWConfirmationBox(text, Uniconta.ClientTools.Localization.lookup("Warning"), true);
                dialog.Closing += delegate
                {
                    var res = dialog.ConfirmationResult;
                    if (res != CWConfirmationBox.ConfirmationResultEnum.Cancel)
                    {
                        doImport(selectedbankFormat, postingApi, (res == CWConfirmationBox.ConfirmationResultEnum.No), journal);
                    }
                };
                dialog.Show();
            }
        }
Exemple #2
0
        void SetMaster(BankImportFormatClient currentBankFormat)
        {
            txtBankAccount.Text = string.Empty;
            var glClient = importMaster as Uniconta.DataModel.GLDailyJournal;

            if (glClient != null)
            {
                currentBankFormat.Journal             = glClient._Journal;
                currentBankFormat._ImportInto         = 0;
                currentBankFormat._BankReconciliation = false;
                liBankAccount.Visibility = Visibility.Visible;
            }
            else
            {
                var bsClient = importMaster as Uniconta.DataModel.BankStatement;
                if (bsClient != null)
                {
                    currentBankFormat.BankAccount         = bsClient._Account;
                    currentBankFormat._ImportInto         = 1;
                    currentBankFormat._BankReconciliation = true;
                    liBankAccount.Visibility      = Visibility.Collapsed;
                    liBankAccountPos.Visibility   = Visibility.Collapsed;
                    liAddVoucherNumber.Visibility = Visibility.Collapsed;
                    if (currentBankFormat.Format == BankImportFormatType.LANDSBANKINN || currentBankFormat.Format == BankImportFormatType.ISLANDSBANKI || currentBankFormat.Format == BankImportFormatType.ARION)
                    {
                        txtBankAccount.Text = bsClient._Account;
                    }
                    else
                    {
                        grpUserLogin.Visibility = Visibility.Collapsed;
                    }
                }
            }
        }
Exemple #3
0
        async private Task <ErrorCodes> ImportFromZipFile(BankImportFormatClient selectedbankFormat, SelectedFileInfo fileInfo, PostingAPI postingapi, bool append, DateTime fromDate, DateTime toDate)
        {
            var        zipContent      = new MemoryStream(fileInfo.FileBytes);
            var        zipFile         = new ZipFile(zipContent);
            ErrorCodes importZipResult = ErrorCodes.NoSucces;

            foreach (ZipEntry zipEntry in zipFile)
            {
                if (!zipEntry.IsFile)
                {
                    continue;
                }

                var bufferSize = (int)zipEntry.Size;
                var buffer     = UnistreamReuse.Create(bufferSize);
                var stream     = zipFile.GetInputStream(zipEntry);
                buffer.CopyFrom(stream);

                var zipFileInfo = new FileInfo(zipEntry.Name);
                importZipResult = await postingapi.ImportJournalLines(selectedbankFormat, buffer, append, fromDate, toDate);

                buffer.Release();

                if (importZipResult != ErrorCodes.Succes)
                {
                    break;
                }
            }

            return(importZipResult);
        }
Exemple #4
0
 private void InitPage()
 {
     BusyIndicator = busyIndicator;
     layoutControl = layoutItems;
     if (LoadedRow == null)
     {
         frmRibbon.DisableButtons(new string[] { "Delete" });
         if (!isCopiedRow)
         {
             _bankImportFormatClient           = CreateNew() as BankImportFormatClient;
             _bankImportFormatClient.Seperator = UtilFunctions.GetDefaultDeLimiter();
             _bankImportFormatClient.CountryId = api.CompanyEntity._CountryId;
         }
     }
     else if (LoadedRow.CompanyId == -1)
     {
         isReadOnly = true;
         _bankImportFormatClient = CreateNew() as BankImportFormatClient;
         StreamingManager.Copy(LoadedRow, _bankImportFormatClient);
         _bankImportFormatClient.ClearCompany();
     }
     cmbFormat.ItemsSource    = Enum.GetValues(typeof(Uniconta.DataModel.BankImportFormatType));
     layoutItems.DataContext  = _bankImportFormatClient;
     frmRibbon.OnItemClicked += frmRibbon_OnItemClicked;
 }
Exemple #5
0
 private void cmdBankFormats_SelectedIndexChanged(object sender, RoutedEventArgs e)
 {
     if (cmdBankFormats.SelectedItem == null)
     {
         return;
     }
     currentBankFormat = cmdBankFormats.SelectedItem as BankImportFormatClient;
 }
Exemple #6
0
 private void cmdBankFormats_SelectedIndexChanged(object sender, RoutedEventArgs e)
 {
     currentBankFormat = cmdBankFormats.SelectedItem as BankImportFormatClient;
     if (currentBankFormat != null)
     {
         SetValuesForSelectedBankImport();
     }
 }
Exemple #7
0
 public CwViewBankStatementData(string filePath, BankImportFormatClient bankImportFormatClient) : this(filePath)
 {
     bankImportFormat = bankImportFormatClient;
     if (bankImportFormat != null)
     {
         OKButton.Content               = Uniconta.ClientTools.Localization.lookup("Update");
         txtPosition.Visibility         = listBoxProperties.Visibility = Visibility.Visible;
         listBoxProperties.ItemTemplate = CreateListBoxDataTemplate(bankImportFormatClient);
     }
 }
Exemple #8
0
        void CopyBankFormat(BankImportFormatClient selectedItem)
        {
            var bankFormat = new BankImportFormatClient();

            StreamingManager.Copy(selectedItem, bankFormat);
            bankFormat.SetMaster(api.CompanyEntity);
            var parms = new object[2] {
                bankFormat, false
            };

            AddDockItem(TabControls.ImportGLDailyJournalPage2, parms, Uniconta.ClientTools.Localization.lookup("BankFormatName"), "Add_16x16.png");
        }
Exemple #9
0
        public ImportGLDailyJournal(UnicontaBaseEntity sourceData) :
            base(sourceData)
        {
            InitializeComponent();
            importMaster                = sourceData;
            currentBankFormat           = new BankImportFormatClient();
            BankAccountLookupEditor.api = api;
            this.DataContext            = currentBankFormat;
            layoutControl               = layoutItems;
            frmRibbon.OnItemClicked    += frmRibbon_OnItemClicked;

            this.txtAttachedFile.Text = Uniconta.ClientTools.Localization.lookup("NoFileAttached");
            SetBankFormats(true);
        }
Exemple #10
0
        private DataTemplate CreateListBoxDataTemplate(BankImportFormatClient bankImportFormatClient)
        {
            var datatemplate     = new DataTemplate(typeof(ListBoxEditor));
            var datatemplateItem = new FrameworkElementFactory(typeof(DevExpress.Xpf.Editors.ComboBoxEdit));

            datatemplateItem.SetValue(DevExpress.Xpf.Editors.ComboBoxEdit.PopupHeightProperty, 200d);
            var source = CreatePropertySource(bankImportFormatClient);

            datatemplateItem.SetBinding(DevExpress.Xpf.Editors.LookUpEditBase.SelectedItemProperty, new Binding("ActualDataColumnName"));
            datatemplateItem.SetValue(DevExpress.Xpf.Editors.LookUpEditBase.ItemsSourceProperty, source);
            datatemplate.VisualTree = datatemplateItem;

            return(datatemplate);
        }
Exemple #11
0
        void ViewBankStatemnt(BankImportFormatClient selectedBankFormat)
        {
#if !SILVERLIGHT
            var objCw = new CwViewBankStatementData(ctrlBrowseFile.FilePath, selectedBankFormat);
            objCw.Closed += delegate
            {
                if (objCw.DialogResult == true)
                {
                    api.Update(selectedBankFormat);
                    UnicontaMessageBox.Show(Uniconta.ClientTools.Localization.lookup("PositionUpdateMsg"), Uniconta.ClientTools.Localization.lookup("Message"));
                }
            };
            objCw.Show();
#endif
        }
Exemple #12
0
        private List <string> CreatePropertySource(BankImportFormatClient bankImportFormatClient)
        {
            var propertyInfos = UtilFunctions.GetDisplayAttributeNonReadOnlyPropertiesFromType(bankImportFormatClient.GetType(), true);

            List <string> propertySource = new List <string>(propertyInfos.Count);

            foreach (var propInfo in propertyInfos)
            {
                if (propInfo.PropertyType == typeof(byte))
                {
                    if (propInfo.Name == "SkipLines")
                    {
                        continue;
                    }

                    propertySource.Add(string.Format("{0} ({1})", propInfo.Name, UtilFunctions.GetDisplayNameFromPropertyInfo(propInfo)));
                }
            }
            return(propertySource);
        }
Exemple #13
0
        async void doImport(BankImportFormatClient selectedbankFormat, PostingAPI postingApi, bool Append, string journal = null)
        {
            if (selectedbankFormat.Format != BankImportFormatType.LANDSBANKINN && selectedbankFormat.Format != BankImportFormatType.ISLANDSBANKI && selectedbankFormat.Format != BankImportFormatType.ARION)
            {
                if (ctrlBrowseFile.SelectedFileInfos == null && voucherClient == null)
                {
                    return;
                }
            }
            selectedbankFormat.BankAccountPos = cbBankAccountPos.Text;
            selectedbankFormat._Reverse       = chkReverse.IsChecked.Value;
            if (!selectedbankFormat._BankReconciliation)
            {
                if (selectedbankFormat.Format == BankImportFormatType.LANDSBANKINN || selectedbankFormat.Format == BankImportFormatType.ISLANDSBANKI || selectedbankFormat.Format == BankImportFormatType.ARION)
                {
                    selectedbankFormat._BankAccountNo = txtBankAccount.Text;
                }
                else
                {
                    selectedbankFormat._BankAccount = BankAccountLookupEditor.Text;
                }
                selectedbankFormat._PutLinesOnHold = chkPutLinesOnHold.IsChecked.Value;
            }
            else
            {
                if (selectedbankFormat.Format == BankImportFormatType.LANDSBANKINN || selectedbankFormat.Format == BankImportFormatType.ISLANDSBANKI || selectedbankFormat.Format == BankImportFormatType.ARION)
                {
                    selectedbankFormat._BankAccountNo = txtBankAccount.Text;
                }
            }

            Task <ErrorCodes> errt;
            ErrorCodes        err = ErrorCodes.NoSucces;
            var selectedFileInfo  = ctrlBrowseFile.SelectedFileInfos;

            if (selectedFileInfo != null && selectedFileInfo.Length > 0 && (selectedbankFormat.Format != BankImportFormatType.LANDSBANKINN || selectedbankFormat.Format != BankImportFormatType.ISLANDSBANKI || selectedbankFormat.Format != BankImportFormatType.ARION))
            {
                busyIndicator.IsBusy = true;
                foreach (var fileInfo in selectedFileInfo)
                {
                    if (fileInfo.FileExtension == ".zip")
                    {
                        err = await ImportFromZipFile(selectedbankFormat, fileInfo, postingApi, Append, txtFromDate.DateTime, txtToDate.DateTime);
                    }
                    else
                    {
                        errt = postingApi.ImportJournalLines(selectedbankFormat, new MemoryStream(fileInfo.FileBytes), Append, txtFromDate.DateTime, txtToDate.DateTime);
                        err  = await errt;
                    }

                    if (err != ErrorCodes.Succes)
                    {
                        break;
                    }
                }
            }
            else if (selectedbankFormat.Format == BankImportFormatType.LANDSBANKINN || selectedbankFormat.Format == BankImportFormatType.ISLANDSBANKI || selectedbankFormat.Format == BankImportFormatType.ARION)
            {
                busyIndicator.IsBusy = true;
                errt = postingApi.ImportJournalLines(selectedbankFormat, (Stream)null, Append, txtFromDate.DateTime, txtToDate.DateTime);
                err  = await errt;
            }
            else if (voucherClient != null)
            {
                busyIndicator.IsBusy = true;
                errt = postingApi.ImportJournalLines(selectedbankFormat, voucherClient, Append, txtFromDate.DateTime, txtToDate.DateTime);
                err  = await errt;
            }
            else
            {
                return;
            }

            busyIndicator.IsBusy = false;

            if (err != ErrorCodes.Succes)
            {
                UtilDisplay.ShowErrorCode(err);
            }
            else
            {
                var bsClient = importMaster as Uniconta.DataModel.BankStatement;
                if (bsClient != null)
                {
                    bsClient._BankImportId = selectedbankFormat.RowId;
                }

                ctrlBrowseFile.ResetControl();
                var text = string.Concat(Uniconta.ClientTools.Localization.lookup("ImportCompleted"), Environment.NewLine, string.Format(Uniconta.ClientTools.Localization.lookup("GoTo"),
                                                                                                                                         !string.IsNullOrEmpty(journal) ? Uniconta.ClientTools.Localization.lookup("Journallines") : Uniconta.ClientTools.Localization.lookup("BankStatement")), " ?");

                var select = UnicontaMessageBox.Show(text, Uniconta.ClientTools.Localization.lookup("Information"), MessageBoxButton.OKCancel);
                if (select == MessageBoxResult.OK)
                {
                    if (selectedbankFormat._BankReconciliation)
                    {
                        ShowBankStatementLines(selectedbankFormat.BankAccount);
                    }
                    else
                    {
                        ShowGlDailyJournalLines(journal);
                    }
                }
            }
        }