private void AddToDateTextBox(HtmlGenericControl container)
        {
            this.toDateTextBox          = new DateTextBox();
            this.toDateTextBox.ID       = "ToDateTextBox";
            this.toDateTextBox.Mode     = FrequencyType.FiscalYearEndDate;
            this.toDateTextBox.Catalog  = AppUsers.GetCurrentUserDB();
            this.toDateTextBox.OfficeId = AppUsers.GetCurrentLogin().View.OfficeId.ToInt();

            using (HtmlGenericControl field = this.GetDateField(Titles.To, this.toDateTextBox))
            {
                container.Controls.Add(field);
            }
        }
Esempio n. 2
0
        public Collection <ListItem> GetBankAccounts()
        {
            int officeId = AppUsers.GetCurrentLogin().View.OfficeId.ToInt();

            Collection <ListItem> values = new Collection <ListItem>();

            foreach (BankAccount bankAccount in Data.Helpers.Accounts.GetBankAccounts(AppUsers.GetCurrentUserDB(), officeId))
            {
                values.Add(new ListItem(bankAccount.BankName + " (" + bankAccount.BankAccountNumber + ")", bankAccount.AccountId.ToString(CultureInfo.InvariantCulture)));
            }

            return(values);
        }
Esempio n. 3
0
        private void BindGrid()
        {
            DateTime from   = Conversion.TryCastDate(this.fromDateTextBox.Text);
            DateTime to     = Conversion.TryCastDate(this.toDateTextBox.Text);
            decimal  factor = Conversion.TryCastDecimal(this.factorInputText.Value);

            bool compact = this.ShowCompact();

            int userId   = AppUsers.GetCurrentLogin().View.UserId.ToInt();
            int officeId = AppUsers.GetCurrentLogin().View.OfficeId.ToInt();

            this.plAccountGridView.DataSource = Data.Reports.ProfitAndLossAccount.GetPLAccount(AppUsers.GetCurrentUserDB(), from, to, userId, officeId, compact, factor);
            this.plAccountGridView.DataBind();
        }
Esempio n. 4
0
        public string GetMenus()
        {
            SignInView view = AppUsers.GetCurrentLogin().View;

            string catalog  = AppUsers.GetCurrentUserDB();
            int    userId   = view.UserId.ToInt();
            int    officeId = view.OfficeId.ToInt();
            string culture  = view.Culture;

            Navigation nav   = new Navigation(catalog, userId, officeId, culture);
            var        menus = nav.GetMenus();

            return(JsonConvert.SerializeObject(menus));
        }
Esempio n. 5
0
        private void BindGrid()
        {
            DateTime previousTerm = Conversion.TryCastDate(this.previousPeriodDateTextBox.Text);
            DateTime currentTerm  = Conversion.TryCastDate(this.currentPeriodDateTextBox.Text);
            int      factor       = Conversion.TryCastInteger(this.factorInputText.Value);
            int      userId       = AppUsers.GetCurrentLogin().View.UserId.ToInt();
            int      officeId     = AppUsers.GetCurrentLogin().View.OfficeId.ToInt();

            using (DataTable table = Data.Reports.BalanceSheet.GetBalanceSheet(AppUsers.GetCurrentUserDB(), previousTerm, currentTerm, userId, officeId, factor))
            {
                this.grid.DataSource = table;
                this.grid.DataBind();
            }
        }
Esempio n. 6
0
        private void Flag_Updated(object sender, FlagUpdatedEventArgs e)
        {
            int flagTypeId = e.FlagId;

            const string resource    = "account_statement";
            const string resourceKey = "transaction_code";

            int userId = AppUsers.GetCurrentLogin().View.UserId.ToInt();

            Flags.CreateFlag(AppUsers.GetCurrentUserDB(), userId, flagTypeId, resource, resourceKey, this.GetSelectedValues());

            this.BindGridView();
            this.CreateAccountOverviewPanel(this.accountOverviewTab);
        }
Esempio n. 7
0
        private void BindGrid()
        {
            int    userId   = Conversion.TryCastInteger(this.userSelect.SelectedValue);
            int    officeId = Conversion.TryCastInteger(this.officeSelect.SelectedValue);
            string culture  = AppUsers.GetCurrentLogin().View.Culture;

            if (userId.Equals(0) || officeId.Equals(0))
            {
                return;
            }

            grid.DataSource = Menu.GetMenuPolicy(AppUsers.GetCurrentUserDB(), userId, officeId, culture);
            grid.DataBind();
        }
        private void BindGridView()
        {
            DateTime from          = Conversion.TryCastDate(this.fromDateTextBox.Text);
            DateTime to            = Conversion.TryCastDate(this.toDateTextBox.Text);
            int      userId        = AppUsers.GetCurrentLogin().View.UserId.ToInt();
            string   accountNumber = this.accountNumberInputText.Value;
            int      officeId      = AppUsers.GetCurrentLogin().View.OfficeId.ToInt();

            this.statementGridView.DataSource =
                Data.Reports.AccountStatement.GetAccountStatement(AppUsers.GetCurrentUserDB(), from, to, userId,
                                                                  accountNumber, officeId);
            this.statementGridView.DataBound += this.StatementGridViewDataBound;
            this.statementGridView.DataBind();
        }
Esempio n. 9
0
        private void AddGridView()
        {
            int officeId = AppUsers.GetCurrentLogin().View.OfficeId.ToInt();

            using (GridView grid = new GridView())
            {
                grid.GridLines = GridLines.None;
                this.CreateColumns(grid);
                grid.DataSource          = Data.Transactions.Reorder.GetReorderView(AppUsers.GetCurrentUserDB(), officeId);
                grid.ID                  = "ReorderGrid";
                grid.AutoGenerateColumns = false;
                grid.DataBind();
                this.Placeholder1.Controls.Add(grid);
            }
        }
Esempio n. 10
0
        public Collection <ListItem> GetCashRepositories()
        {
            Collection <ListItem> values = new Collection <ListItem>();

            int officeId = AppUsers.GetCurrentLogin().View.OfficeId.ToInt();

            foreach (
                CashRepository cashRepository in
                CashRepositories.GetCashRepositories(AppUsers.GetCurrentUserDB(), officeId))
            {
                values.Add(new ListItem(cashRepository.CashRepositoryName,
                                        cashRepository.CashRepositoryId.ToString(CultureInfo.InvariantCulture)));
            }
            return(values);
        }
Esempio n. 11
0
        public Collection <ListItem> GetStores()
        {
            int userId   = AppUsers.GetCurrentLogin().View.UserId.ToInt();
            int officeId = AppUsers.GetCurrentLogin().View.OfficeId.ToInt();
            Collection <ListItem> values = new Collection <ListItem>();

            IEnumerable <Store> stores = Stores.GetStores(AppUsers.GetCurrentUserDB(), officeId, userId);

            foreach (Store store in stores)
            {
                values.Add(new ListItem(store.StoreName, store.StoreId.ToString(CultureInfo.InvariantCulture)));
            }

            return(values);
        }
Esempio n. 12
0
        public override void OnControlLoad(object sender, EventArgs e)
        {
            using (StockTransactionForm product = new StockTransactionForm())
            {
                product.Book           = TranBook.Purchase;
                product.SubBook        = SubTranBook.Receipt;
                product.Text           = Titles.GoodsReceiptNote;
                product.ShowStore      = true;
                product.ShowCostCenter = true;
                product.Catalog        = AppUsers.GetCurrentUserDB();
                product.OfficeId       = AppUsers.GetCurrentLogin().View.OfficeId.ToInt();

                this.Placeholder1.Controls.Add(product);
            }
        }
Esempio n. 13
0
        public Collection <ListItem> GetCashRepositoriesByAccountNumber(string accountNumber)
        {
            Collection <ListItem> values = new Collection <ListItem>();

            if (AccountHelper.IsCashAccount(AppUsers.GetCurrentUserDB(), accountNumber))
            {
                int officeId = AppUsers.GetCurrentLogin().View.OfficeId.ToInt();
                foreach (CashRepository cashRepository in CashRepositories.GetCashRepositories(AppUsers.GetCurrentUserDB(), officeId))
                {
                    values.Add(new ListItem(cashRepository.CashRepositoryName, cashRepository.CashRepositoryCode));
                }
            }

            return(values);
        }
Esempio n. 14
0
        public bool SaveExchangeRates(List <Data.Models.ExchangeRate> exchangeRates)
        {
            if (exchangeRates == null || exchangeRates.Count().Equals(0))
            {
                return(false);
            }

            string catalog      = AppUsers.GetCurrentUserDB();
            int    officeId     = AppUsers.GetCurrentLogin().View.OfficeId.ToInt();
            string baseCurrency = AppUsers.GetCurrentLogin().View.CurrencyCode;


            ExchangeRates.SaveExchangeRates(catalog, officeId, baseCurrency, exchangeRates);
            return(true);
        }
Esempio n. 15
0
        public bool Reconcile(string tranCode, int year, int month, int day)
        {
            DateTime bookDate = new DateTime(year, month, day);
            string   catalog  = AppUsers.GetCurrentUserDB();
            int      officeId = AppUsers.GetCurrentLogin().View.OfficeId.ToInt();

            ApplicationDateModel model = DatePersister.GetApplicationDates(catalog, officeId);


            if (bookDate > model.FiscalYearEndDate)
            {
                throw new MixERPException(Warnings.InvalidDate);
            }

            return(Transaction.Reconcile(AppUsers.GetCurrentUserDB(), tranCode, bookDate));
        }
        private static long PostTransaction(string partyCode, string currencyCode, decimal amount,
                                            decimal debitExchangeRate, decimal creditExchangeRate, string referenceNumber, string statementReference,
                                            int costCenterId, int cashRepositoryId, DateTime?postedDate, long bankAccountId, int paymentCardId,
                                            string bankInstrumentCode, string bankTransactionCode)
        {
            int  userId   = AppUsers.GetCurrentLogin().View.UserId.ToInt();
            int  officeId = AppUsers.GetCurrentLogin().View.OfficeId.ToInt();
            long loginId  = AppUsers.GetCurrentLogin().View.LoginId.ToLong();

            long transactionMasterID = Data.Transactions.Receipt.PostTransaction(AppUsers.GetCurrentUserDB(), userId,
                                                                                 officeId, loginId, partyCode, currencyCode, amount, debitExchangeRate, creditExchangeRate,
                                                                                 referenceNumber, statementReference, costCenterId, cashRepositoryId, postedDate, bankAccountId,
                                                                                 paymentCardId, bankInstrumentCode, bankTransactionCode);

            return(transactionMasterID);
        }
Esempio n. 17
0
        private void CheckAccessLevel()
        {
            var    login     = AppUsers.GetCurrentLogin();
            bool   hasAccess = true;
            string userName  = string.Empty;
            string ipAddress = string.Empty;

            if (login == null || login.View == null)
            {
                hasAccess = false;
            }
            else
            {
                userName  = AppUsers.GetCurrentLogin().View.UserName;
                ipAddress = AppUsers.GetCurrentLogin().View.IpAddress;

                bool isDevelopmentMode =
                    DbConfig.GetMixERPParameter(AppUsers.GetCurrentUserDB(), "Mode")
                    .ToUpperInvariant()
                    .Equals("DEVELOPMENT");
                bool isLocalHost = PageUtility.IsLocalhost(this.Page);
                bool adminOnly   = (this.AccessLevel.Equals(AccessLevel.AdminOnly) ||
                                    this.AccessLevel.Equals(AccessLevel.LocalhostAdmin));


                if (adminOnly)
                {
                    hasAccess = AppUsers.GetCurrentLogin().View.IsAdmin.ToBool();
                }

                if (hasAccess && isDevelopmentMode)
                {
                    if (this.AccessLevel.Equals(AccessLevel.LocalhostAdmin) && !isLocalHost)
                    {
                        hasAccess = false;
                    }
                }
            }

            if (!hasAccess)
            {
                Log.Information("Access to {Control} is denied to {User} from {IP}.", this,
                                userName, ipAddress);

                this.Page.Server.Transfer("~/Site/AccessIsDenied.aspx");
            }
        }
Esempio n. 18
0
        public long Save(DateTime valueDate, int storeId, string partyCode, int priceTypeId, int paymentTermId, string referenceNumber, string data, string statementReference, int salespersonId, int shipperId, string shippingAddressCode, decimal shippingCharge, int costCenterId, string transactionIds, string attachmentsJSON, bool nonTaxable)
        {
            try
            {
                Collection <StockDetail> details = CollectionHelper.GetStockMasterDetailCollection(data, storeId);
                Collection <long>        tranIds = new Collection <long>();

                Collection <Attachment> attachments = CollectionHelper.GetAttachmentCollection(attachmentsJSON);

                if (!Data.Helpers.Stores.IsSalesAllowed(AppUsers.GetCurrentUserDB(), storeId))
                {
                    throw new InvalidOperationException("Sales is not allowed here.");
                }

                foreach (StockDetail model in details)
                {
                    if (Data.Helpers.Items.IsStockItem(AppUsers.GetCurrentUserDB(), model.ItemCode))
                    {
                        decimal available = Data.Helpers.Items.CountItemInStock(AppUsers.GetCurrentUserDB(), model.ItemCode, model.UnitName, model.StoreId);

                        if (available < model.Quantity)
                        {
                            throw new InvalidOperationException(string.Format(CultureInfo.CurrentCulture, Warnings.InsufficientStockWarning, available, model.UnitName, model.ItemCode));
                        }
                    }
                }

                if (!string.IsNullOrWhiteSpace(transactionIds))
                {
                    foreach (string transactionId in transactionIds.Split(','))
                    {
                        tranIds.Add(Common.Conversion.TryCastLong(transactionId));
                    }
                }

                int  officeId = AppUsers.GetCurrentLogin().View.OfficeId.ToInt();
                int  userId   = AppUsers.GetCurrentLogin().View.UserId.ToInt();
                long loginId  = AppUsers.GetCurrentLogin().View.LoginId.ToLong();

                return(Data.Transactions.Delivery.Add(AppUsers.GetCurrentUserDB(), officeId, userId, loginId, valueDate, storeId, partyCode, priceTypeId, paymentTermId, details, shipperId, shippingAddressCode, shippingCharge, costCenterId, referenceNumber, salespersonId, statementReference, tranIds, attachments, nonTaxable));
            }
            catch (Exception ex)
            {
                Log.Warning("Could not save sales delivery entry. {Exception}", ex);
                throw;
            }
        }
Esempio n. 19
0
        public override void OnControlLoad(object sender, EventArgs e)
        {
            using (StockTransactionView view = new StockTransactionView())
            {
                view.Text         = Titles.PurchaseReturn;
                view.Book         = TranBook.Purchase;
                view.SubBook      = SubTranBook.Return;
                view.PreviewUrl   = "~/Modules/Purchase/Reports/PurchaseReturnReport.mix";
                view.ChecklistUrl = "~/Modules/Purchase/Confirmation/Return.mix";

                view.UserId   = AppUsers.GetCurrentLogin().View.UserId.ToInt();
                view.OfficeId = AppUsers.GetCurrentLogin().View.OfficeId.ToInt();
                view.Catalog  = AppUsers.GetCurrentUserDB();

                this.Placeholder1.Controls.Add(view);
            }
        }
Esempio n. 20
0
        public override void OnControlLoad(object sender, EventArgs e)
        {
            using (FormView form = new FormView())
            {
                form.Text                 = Titles.StockTransferJournal;
                form.StoreServiceUrl      = "/Modules/Inventory/Services/ItemData.asmx/GetStores";
                form.ItemServiceUrl       = "/Modules/Inventory/Services/ItemData.asmx/GetItems";
                form.UnitServiceUrl       = "/Modules/Inventory/Services/ItemData.asmx/GetUnits";
                form.ItemPopupUrl         = "/Modules/Inventory/Setup/ItemsPopup.mix?modal=1&CallBackFunctionName=loadItems&AssociatedControlId=ItemIdHidden";
                form.ItemIdQuerySericeUrl = "/Modules/Inventory/Services/ItemData.asmx/GetItemCodeByItemId";
                form.ValidateSides        = true;
                form.Catalog              = AppUsers.GetCurrentUserDB();
                form.OfficeId             = AppUsers.GetCurrentLogin().View.OfficeId.ToInt();

                this.Placeholder1.Controls.Add(form);
            }
        }
Esempio n. 21
0
        public override void OnControlLoad(object sender, EventArgs e)
        {
            using (StockTransactionForm product = new StockTransactionForm())
            {
                product.Book                    = TranBook.Sales;
                product.SubBook                 = SubTranBook.Quotation;
                product.Text                    = Titles.SalesQuotation;
                product.ShowPriceTypes          = true;
                product.ShowShippingInformation = true;
                product.ShowSalesAgents         = true;
                product.ShowStore               = true;
                product.ShowSalesType           = true;
                product.Catalog                 = AppUsers.GetCurrentUserDB();
                product.OfficeId                = AppUsers.GetCurrentLogin().View.OfficeId.ToInt();

                this.Placeholder1.Controls.Add(product);
            }
        }
Esempio n. 22
0
        public override void OnControlLoad(object sender, EventArgs e)
        {
            using (StockTransactionView view = new StockTransactionView())
            {
                view.Text         = Titles.StockTransferJournal;
                view.Book         = TranBook.Inventory;
                view.SubBook      = SubTranBook.Transfer;
                view.AddNewUrl    = "~/Modules/Inventory/Entry/Transfer.mix";
                view.PreviewUrl   = "~/Modules/Inventory/Reports/InventoryTransferReport.mix";
                view.ChecklistUrl = "~/Modules/Inventory/Confirmation/Transfer.mix";

                view.UserId   = AppUsers.GetCurrentLogin().View.UserId.ToInt();
                view.OfficeId = AppUsers.GetCurrentLogin().View.OfficeId.ToInt();
                view.Catalog  = AppUsers.GetCurrentUserDB();

                this.Placeholder1.Controls.Add(view);
            }
        }
Esempio n. 23
0
        public void ChangePasswordButton_Click(object sender, EventArgs e)
        {
            string userName        = AppUsers.GetCurrentLogin().View.UserName;
            string currentPassword = this.passwordInputPassword.Value;
            string newPassword     = this.newPasswordInputPassword.Value;
            string confirmPassword = this.confirmPasswordInputPassword.Value;

            if (string.IsNullOrWhiteSpace(currentPassword))
            {
                this.errorMessage.InnerText = Warnings.PleaseEnterCurrentPassword;
                return;
            }

            if (string.IsNullOrWhiteSpace(newPassword))
            {
                this.errorMessage.InnerText = Warnings.PleaseEnterNewPassword;
                return;
            }

            if (currentPassword.Equals(newPassword))
            {
                this.errorMessage.InnerText = Warnings.NewPasswordCannotBeOldPassword;
                return;
            }

            if (!newPassword.Equals(confirmPassword))
            {
                this.errorMessage.InnerText = Warnings.ConfirmationPasswordDoesNotMatch;
                return;
            }

            try
            {
                if (Data.Office.User.ChangePassword(AppUsers.GetCurrentUserDB(), userName, currentPassword, newPassword))
                {
                    this.ShowMessage(Labels.YourPasswordWasChanged, "ui large green header");
                }
            }
            catch (MixERPException ex)
            {
                Log.Warning("Could not change password: {Message}.", ex.Message);
                this.ShowMessage(ex.Message, "ui large red header");
            }
        }
Esempio n. 24
0
        public override void OnControlLoad(object sender, EventArgs e)
        {
            this.CreateHeader(this.Placeholder1);
            this.CreateTopPanel(this.Placeholder1);

            bool allowMultipleOpeningInventory = DbConfig.GetSwitch(AppUsers.GetCurrentUserDB(), "AllowMultipleOpeningInventory");
            bool entryExists = Data.OpeningInventory.Exists(AppUsers.GetCurrentUserDB(),
                                                            AppUsers.GetCurrentLogin().View.OfficeId.ToInt());

            if (entryExists && !allowMultipleOpeningInventory)
            {
                this.CreateMessage(this.Placeholder1);
                return;
            }

            this.CreateGridView(this.Placeholder1);
            this.CreateBottomPanel(this.Placeholder1);
            this.RegisterJavascript();
        }
Esempio n. 25
0
        public void Reject(long tranId, string reason)
        {
            try
            {
                int       officeId             = AppUsers.GetCurrentLogin().View.OfficeId.ToInt();
                int       userId               = AppUsers.GetCurrentLogin().View.UserId.ToInt();
                long      loginId              = AppUsers.GetCurrentLogin().View.LoginId.ToLong();
                const int verificationStatusId = -3;

                Transaction.Verify(AppUsers.GetCurrentUserDB(), tranId, officeId, userId, loginId, verificationStatusId,
                                   reason);
            }
            catch (Exception ex)
            {
                Log.Warning("Could not reject transaction #{TranId} with reason {Reason}. {Exception}", tranId, reason,
                            ex);
                throw;
            }
        }
Esempio n. 26
0
        private void BindGrid()
        {
            DateTime from   = Conversion.TryCastDate(this.fromDateTextBox.Text);
            DateTime to     = Conversion.TryCastDate(this.toDateTextBox.Text);
            decimal  factor = Conversion.TryCastDecimal(this.factorInputText.Value);

            bool compact    = this.ShowCompact();
            bool changeSide = this.ChangeSideWhenNegative();
            bool includeZeroBalanceAccounts = this.IncludeZeroBalanceAccounts();

            int userId   = AppUsers.GetCurrentLogin().View.UserId.ToInt();
            int officeId = AppUsers.GetCurrentLogin().View.OfficeId.ToInt();

            using (DataTable table = Data.Reports.TrialBalance.GetTrialBalance(AppUsers.GetCurrentUserDB(), from, to, userId, officeId, compact, factor, changeSide, includeZeroBalanceAccounts))
            {
                this.trialBalanceGridView.DataSource = table;
                this.trialBalanceGridView.DataBind();
            }
        }
Esempio n. 27
0
        private void AddFromDateTextBoxField(HtmlGenericControl container)
        {
            using (HtmlGenericControl field = HtmlControlHelper.GetField())
            {
                using (HtmlGenericControl label = HtmlControlHelper.GetLabel(Titles.From, "FromDateTextBox"))
                {
                    field.Controls.Add(label);
                }
                this.fromDateTextBox          = new DateTextBox();
                this.fromDateTextBox.ID       = "FromDateTextBox";
                this.fromDateTextBox.Mode     = FrequencyType.FiscalYearStartDate;
                this.fromDateTextBox.Catalog  = AppUsers.GetCurrentUserDB();
                this.fromDateTextBox.OfficeId = AppUsers.GetCurrentLogin().View.OfficeId.ToInt();

                field.Controls.Add(this.fromDateTextBox);

                container.Controls.Add(field);
            }
        }
Esempio n. 28
0
        public Collection <ListItem> GetAccounts()
        {
            if (Switches.AllowParentAccountInGlTransaction())
            {
                if (AppUsers.GetCurrentLogin().View.IsAdmin.ToBool())
                {
                    return(GetValues(AccountHelper.GetAccounts(AppUsers.GetCurrentUserDB())));
                }


                return(GetValues(AccountHelper.GetNonConfidentialAccounts(AppUsers.GetCurrentUserDB())));
            }

            if (AppUsers.GetCurrentLogin().View.IsAdmin.ToBool())
            {
                return(GetValues(AccountHelper.GetChildAccounts(AppUsers.GetCurrentUserDB())));
            }

            return(GetValues(AccountHelper.GetNonConfidentialChildAccounts(AppUsers.GetCurrentUserDB())));
        }
Esempio n. 29
0
        public override void OnControlLoad(object sender, EventArgs e)
        {
            using (Checklist checklist = new Checklist())
            {
                checklist.ViewReportButtonText = Titles.ViewThisRequest;
                checklist.Text = Titles.StockTransferRequest;
                checklist.AttachmentBookName      = "inventory.transfer.request";
                checklist.OverridePath            = "/Modules/Inventory/TransferRequest.mix";
                checklist.DisplayWithdrawButton   = true;
                checklist.DisplayViewReportButton = true;
                checklist.DisplayAttachmentButton = true;
                checklist.ReportPath = "~/Modules/Inventory/Reports/InventoryTransferRequest.mix";
                checklist.ViewPath   = "/Modules/Inventory/TransferRequest.mix";
                checklist.AddNewPath = "/Modules/Inventory/Entry/TransferRequest.mix";
                checklist.UserId     = AppUsers.GetCurrentLogin().View.UserId.ToInt();
                checklist.RestrictedTransactionMode = this.IsRestrictedMode;

                this.Placeholder1.Controls.Add(checklist);
            }
        }
Esempio n. 30
0
        public override void OnControlLoad(object sender, EventArgs e)
        {
            using (Checklist checklist = new Checklist())
            {
                checklist.Text = Titles.JournalVoucherEntry;
                checklist.DisplayWithdrawButton     = true;
                checklist.DisplayPrintGlEntryButton = true;
                checklist.DisplayAttachmentButton   = true;
                checklist.AttachmentBookName        = "transaction";
                checklist.OverridePath = this.OverridePath;

                checklist.ViewPath     = "~/Modules/Finance/JournalVoucher.mix";
                checklist.AddNewPath   = "~/Modules/Finance/Entry/JournalVoucher.mix";
                checklist.GlAdvicePath = "~/Modules/Finance/Reports/GLAdviceReport.mix";
                checklist.UserId       = AppUsers.GetCurrentLogin().View.UserId.ToInt();
                checklist.RestrictedTransactionMode = this.IsRestrictedMode;

                this.Placeholder1.Controls.Add(checklist);
            }
        }