Ejemplo n.º 1
0
        public BankStLines(UnicontaBaseEntity sourceData)
            : base(sourceData)
        {
            InitializeComponent();
            this.DataContext = this;

            master = sourceData as BankStatement;
            if (fromDate == DateTime.MinValue)
            {
                DateTime date            = GetSystemDefaultDate();
                var      firstDayOfMonth = new DateTime(date.Year, date.Month, 1);
                var      lastDayOfMonth  = firstDayOfMonth.AddMonths(1).AddDays(-1);
                fromDate = firstDayOfMonth;
                toDate   = lastDayOfMonth;
            }

            bool RoundTo100;
            var  Comp = api.CompanyEntity;

            if (Comp.SameCurrency(master._Currency))
            {
                RoundTo100 = Comp.RoundTo100;
            }
            else
            {
                RoundTo100 = !CurrencyUtil.HasDecimals(master._Currency);
            }
            if (RoundTo100)
            {
                Debit.HasDecimals = Credit.HasDecimals = Amount.HasDecimals = Total.HasDecimals = false;
            }

            if (!Comp._UseVatOperation)
            {
                VatOperation.Visible = false;
            }

            dgBankStatementLine.api = api;
            bankTransApi            = new BankStatementAPI(api);
            SetRibbonControl(localMenu, dgBankStatementLine);
            dgBankStatementLine.UpdateMaster(master);
            dgBankStatementLine.BusyIndicator = busyIndicator;
            localMenu.OnItemClicked          += localMenu_OnItemClicked;
        }
        public LedgerPostingPage(UnicontaBaseEntity sourceData)
            : base(sourceData)
        {
            master = sourceData as Uniconta.DataModel.BankStatement;
            DateTime date            = DateTime.Today;
            var      firstDayOfMonth = new DateTime(date.Year, date.Month, 1);

            toDate   = firstDayOfMonth.AddMonths(1).AddDays(-1);
            fromDate = firstDayOfMonth.AddMonths(-2);
            InitializeComponent();
            dgBankStatementLine.api = api;
            bankTransApi            = new BankStatementAPI(api);
            SetRibbonControl(localMenu, dgBankStatementLine);
            dgBankStatementLine.BusyIndicator = busyIndicator;
            localMenu.OnItemClicked          += localMenu_OnItemClicked;
            dgBankStatementLine.View.DataControl.CurrentItemChanged += DataControl_CurrentItemChanged;
            State.Header = Uniconta.ClientTools.Localization.lookup("Status");
            SetStatusText();
            Mark.Visible = false;
            GetShowHideGreenMenuItem();
            this.showAmountType = Uniconta.ClientTools.Localization.lookup("All");
        }
Ejemplo n.º 3
0
        private void RemoveBankStatmentOrSettelements(string ActionType, BankStatementClient selectedItem)
        {
            var        text        = string.Format("{0}: {1}, {2}", Uniconta.ClientTools.Localization.lookup("BankStatement"), selectedItem._Account, selectedItem._Name);
            var        defaultdate = BasePage.GetSystemDefaultDate().Date;
            CWInterval Wininterval = new CWInterval(defaultdate, defaultdate, showJrPostId: true);

            Wininterval.Closing += delegate
            {
                if (Wininterval.DialogResult == true)
                {
                    EraseYearWindow erWindow = new EraseYearWindow(text, false);
                    erWindow.Closing += async delegate
                    {
                        if (erWindow.DialogResult == true)
                        {
                            BankStatementAPI bkapi  = new BankStatementAPI(api);
                            ErrorCodes       result = ErrorCodes.NoSucces;

                            if (ActionType == "DeleteStatement")
                            {
                                result = await bkapi.DeleteLines(selectedItem, Wininterval.FromDate, Wininterval.ToDate, OnlyVoided : Wininterval.OnlyVoided);
                            }
                            else if (ActionType == "RemoveSettlements")
                            {
                                result = await bkapi.RemoveSettlements(selectedItem, Wininterval.FromDate, Wininterval.ToDate, Wininterval.JournalPostedId, Wininterval.Voucher);
                            }

                            if (result != ErrorCodes.Succes)
                            {
                                UtilDisplay.ShowErrorCode(result);
                            }
                        }
                    };
                    erWindow.Show();
                }
            };
            Wininterval.Show();
        }
Ejemplo n.º 4
0
        public BankStLines(UnicontaBaseEntity sourceData)
            : base(sourceData)
        {
            InitializeComponent();
            this.DataContext = this;

            master = sourceData as BankStatement;

            bool RoundTo100;
            var  Comp = api.CompanyEntity;

            if (Comp.SameCurrency(master._Currency))
            {
                RoundTo100 = Comp.RoundTo100;
            }
            else
            {
                RoundTo100 = !CurrencyUtil.HasDecimals(master._Currency);
            }
            if (RoundTo100)
            {
                Debit.HasDecimals = Credit.HasDecimals = Amount.HasDecimals = Total.HasDecimals = false;
            }

            if (!Comp._UseVatOperation)
            {
                VatOperation.Visible = false;
            }

            dgBankStatementLine.api = api;
            bankTransApi            = new BankStatementAPI(api);
            SetRibbonControl(localMenu, dgBankStatementLine);
            dgBankStatementLine.UpdateMaster(master);
            dgBankStatementLine.BusyIndicator = busyIndicator;
            localMenu.OnItemClicked          += localMenu_OnItemClicked;
        }
Ejemplo n.º 5
0
        async Task BankAPI(int type, string functionId, Bank bank, string activationCode, Company masterBCCompany)
        {
            busyIndicator.IsBusy = true;
            BankStatementAPI bankApi = new BankStatementAPI(api);

            string     dialogText = null;
            string     logText    = null;
            ErrorCodes err;

            switch (type)
            {
            case 0:
                err = await bankApi.ActivateBankConnect(functionId, (byte)bank, activationCode);

                switch (err)
                {
                case ErrorCodes.Succes:
                    dialogText = string.Concat(Uniconta.ClientTools.Localization.lookup("ConnectedTo"), " Bank Connect");
                    break;

                case ErrorCodes.IgnoreUpdate:
                case ErrorCodes.CouldNotCreate:
                case ErrorCodes.NoSucces:
                    dialogText = string.Concat(Uniconta.ClientTools.Localization.lookup("UnableToConnectTo"), " Bank Connect");
                    break;

                case ErrorCodes.KeyExists:
                case ErrorCodes.RecordExists:
                    dialogText = string.Concat(Uniconta.ClientTools.Localization.lookup("AlreadyConnectedTo"), " Bank Connect");
                    break;

                default:
                    dialogText = Uniconta.ClientTools.Localization.lookup(err.ToString());
                    break;
                }
                break;

            case 1:
                logText = await bankApi.ShowBankConnect(functionId);

                if (logText == ErrorCodes.IgnoreUpdate.ToString())
                {
                    dialogText = string.Concat(Uniconta.ClientTools.Localization.lookup("UnableToConnectTo"), " Bank Connect");
                    logText    = null;
                }
                else if (logText == ErrorCodes.FileDoesNotExist.ToString())
                {
                    dialogText = string.Concat(Uniconta.ClientTools.Localization.lookup("NoDataCollected"), ". ",
                                               Uniconta.ClientTools.Localization.lookup("CustomerNo"), ": ", functionId);
                    logText = null;
                }
                break;

            case 2:

                err = await bankApi.AddBankConnect(functionId, masterBCCompany.CompanyId, 1);

                switch (err)
                {
                case ErrorCodes.Succes:
                    dialogText = string.Format("{0} {1}: ({2}) {3}", Uniconta.ClientTools.Localization.lookup("ConnectedTo"), Uniconta.ClientTools.Localization.lookup("Company"), masterBCCompany.CompanyId, masterBCCompany.Name);
                    break;

                case ErrorCodes.IgnoreUpdate:
                case ErrorCodes.CouldNotCreate:
                case ErrorCodes.NoSucces:
                    dialogText = string.Format("{0} {1}: ({2}) {3}", Uniconta.ClientTools.Localization.lookup("UnableToConnectTo"), Uniconta.ClientTools.Localization.lookup("Company"), masterBCCompany.CompanyId, masterBCCompany.Name);
                    break;

                case ErrorCodes.KeyExists:
                case ErrorCodes.RecordExists:
                    dialogText = string.Concat(Uniconta.ClientTools.Localization.lookup("AlreadyConnectedTo"), " Bank Connect");
                    break;

                default:
                    dialogText = Uniconta.ClientTools.Localization.lookup(err.ToString());
                    break;
                }
                break;

            case 3:
                err = await bankApi.AddBankConnect(functionId, masterBCCompany.CompanyId, 2);

                switch (err)
                {
                case ErrorCodes.Succes:
                    dialogText = string.Concat(Uniconta.ClientTools.Localization.lookup("Unregistered"), " Bank Connect");
                    break;

                case ErrorCodes.IgnoreUpdate:
                    dialogText = string.Format("{0} {1}: ({2}) {3}", Uniconta.ClientTools.Localization.lookup("UnableToConnectTo"), Uniconta.ClientTools.Localization.lookup("Company"), masterBCCompany.CompanyId, masterBCCompany.Name);
                    break;

                case ErrorCodes.NoSubscription:
                case ErrorCodes.CannotDeleteRecord:
                    dialogText = Uniconta.ClientTools.Localization.lookup("ConnectionCannotUnregister");
                    break;

                default:
                    dialogText = Uniconta.ClientTools.Localization.lookup(err.ToString());
                    break;
                }
                break;
            }
            busyIndicator.IsBusy = false;

            if (logText != null)
            {
                CWShowBankAPILog cwLog = new CWShowBankAPILog(logText);
                cwLog.Show();
            }
            else if (dialogText != null)
            {
                UnicontaMessageBox.Show(dialogText, Uniconta.ClientTools.Localization.lookup("Information"));
            }
        }
Ejemplo n.º 6
0
        async Task <PollReportSource> CreatePollReportSource(BankStatementClient master)
        {
            busyIndicator.IsBusy = true;
            var bankTransApi  = new BankStatementAPI(api);
            var bankStmtLines = (BankStatementLineGridClient[])await bankTransApi.GetTransactions(new BankStatementLineGridClient(), master, fromDate, toDate, true);

            var  src = new List <TextAmount>();
            long BankTotalNoMatch = 0, Total = 0;

            if (bankStmtLines != null)
            {
                if (bankStmtLines.Length > 0)
                {
                    bankStmtLines[0]._AmountCent += Uniconta.Common.Utility.NumberConvert.ToLong(100d * master._StartBalance);
                }
                for (int i = 0; (i < bankStmtLines.Length); i++)
                {
                    var p = bankStmtLines[i];
                    //if (!p._Void)
                    {
                        Total   += p._AmountCent;
                        p._Total = Total;
                    }
                    if (p.State == 1) // red
                    {
                        BankTotalNoMatch += p._AmountCent;
                        src.Add(new TextAmount()
                        {
                            Date = p._Date, AmountCent = p._AmountCent, Text = p.Text
                        });                                                                                      // use Text property
                    }
                }
            }

            var pollsrc = new PollReportSource();

            pollsrc.FromDate  = fromDate;
            pollsrc.Date      = toDate;
            pollsrc.BankAcc   = master;
            pollsrc.BankTotal = Total / 100d;
            pollsrc.Source2   = src;

            src              = new List <TextAmount>();
            Total            = 0;
            BankTotalNoMatch = 0;

            var tranApi  = new Uniconta.API.GeneralLedger.ReportAPI(api);
            var listtran = (GLTransClientTotal[])await tranApi.GetBank(new GLTransClientTotal(), master._Account, fromDate, toDate, true);

            if (listtran != null)
            {
                Array.Sort(listtran, new GLTransClientSort());
                bool ShowCurrency = (!tranApi.CompanyEntity.SameCurrency(master._Currency));

                for (int i = 0; (i < listtran.Length); i++)
                {
                    var p          = listtran[i];
                    var AmountCent = ShowCurrency ? p._AmountCurCent : p._AmountCent;
                    Total   += AmountCent;
                    p._Total = Total;

                    if (p.State == 1) // red
                    {
                        BankTotalNoMatch += p._AmountCent;
                        src.Add(new TextAmount()
                        {
                            Date = p._Date, Voucher = p._Voucher, Text = p.Text, AmountCent = AmountCent
                        });                                                                                                         // use Text property
                    }
                }
            }

            pollsrc.PostedTotal = Total / 100d;
            pollsrc.Source3     = src;

            busyIndicator.IsBusy = false;

            return(pollsrc);
        }