Esempio n. 1
0
        protected static FR_Bool Execute(DbConnection Connection, DbTransaction Transaction, P_L3BA_CCB_1646 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode
            var returnValue = new FR_Bool();

            #region Booking account

            var bookingAccount = new CL1_ACC_BOK.ORM_ACC_BOK_BookingAccount
            {
                ACC_BOK_BookingAccountID = Guid.NewGuid(),
                BookingAccountName       = Parameter.BookingAccountName,
                BookingAccountNumber     = "000001",
                FiscalYear_RefID         = Parameter.FiscalYearID,
                Tenant_RefID             = securityTicket.TenantID
            };
            bookingAccount.Save(Connection, Transaction);

            #endregion

            #region Create Account assignment to booking account as "Bank Account"

            var accountAssignment = CL3_BookingAccounts.Utils.BookingAccountUtils.GetEmptyBankAccount();
            accountAssignment.ACC_BOK_BookingAccounts_Purpose_BP_AssignmentID = Guid.NewGuid();
            accountAssignment.BookingAccount_RefID      = bookingAccount.ACC_BOK_BookingAccountID;
            accountAssignment.BusinessParticipant_RefID = Parameter.BusinessParticipantID;
            accountAssignment.Tenant_RefID = securityTicket.TenantID;

            accountAssignment.Save(Connection, Transaction);

            #endregion

            #region Bank account

            var bankAccount = new CL1_ACC_CBX.ORM_ACC_CBX_CashBox
            {
                ACC_CBX_CashBoxID = Guid.NewGuid(),
                CashBoxName       = Parameter.BookingAccountName,
                CashBoxNumber     = Parameter.CashBoxNumber,
                Currency_RefID    = Parameter.CurrencyID,
                Tenant_RefID      = securityTicket.TenantID
            };
            bankAccount.Save(Connection, Transaction);

            #endregion

            returnValue.Result = true;
            return(returnValue);

            #endregion UserCode
        }
Esempio n. 2
0
        protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L3BA_CBA_1305 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode
            var returnValue = new FR_Guid();

            var bookingAccount = new CL1_ACC_BOK.ORM_ACC_BOK_BookingAccount
            {
                ACC_BOK_BookingAccountID = Guid.NewGuid(),
                BookingAccountName       = Parameter.BookingAccountName,
                BookingAccountNumber     = Parameter.BookingAccountNumber,
                FiscalYear_RefID         = Parameter.FiscalYearID,
                Creation_Timestamp       = DateTime.Now,
                Tenant_RefID             = securityTicket.TenantID
            };
            bookingAccount.Save(Connection, Transaction);

            returnValue.Result = bookingAccount.ACC_BOK_BookingAccountID;

            return(returnValue);

            #endregion UserCode
        }
        protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L2_SBA_1304 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            var returnValue = new FR_Guid();

            var item = new CL1_ACC_BOK.ORM_ACC_BOK_BookingAccount();

            if (Parameter.ACC_BOK_BookingAccountID != Guid.Empty)
            {
                var result = item.Load(Connection, Transaction, Parameter.ACC_BOK_BookingAccountID);
                if (result.Status != FR_Status.Success || item.ACC_BOK_BookingAccountID == Guid.Empty)
                {
                    var error = new FR_Guid();
                    error.ErrorMessage = "No Such ID";
                    error.Status       = FR_Status.Error_Internal;
                    return(error);
                }
            }

            if (Parameter.IsDeleted == true)
            {
                item.IsDeleted = true;
                return(new FR_Guid(item.Save(Connection, Transaction), item.ACC_BOK_BookingAccountID));
            }

            //Creation specific parameters (Tenant, Account ... )
            if (Parameter.ACC_BOK_BookingAccountID == Guid.Empty)
            {
                item.Tenant_RefID = securityTicket.TenantID;
            }

            item.BookingAccountNumber = Parameter.BookingAccountNumber;
            item.BookingAccountName   = Parameter.BookingAccountName;
            item.FiscalYear_RefID     = Parameter.FiscalYear_RefID;


            return(new FR_Guid(item.Save(Connection, Transaction), item.ACC_BOK_BookingAccountID));
        }
Esempio n. 4
0
        protected static FR_Bool Execute(DbConnection Connection, DbTransaction Transaction, P_L3BA_CCAfBP_1655 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode
            var returnValue = new FR_Bool();

            #region Check if the business participants already have booking account and skip creation for them.

            var checkParam = new CL3_BookingAccounts.Atomic.Retrieval.P_L3BA_GBAPBPAfBP_1717
            {
                FiscalYearID = Parameter.FiscalYearID,
                BusinessParticipantID_List = Parameter.BusinessParticipantIDs
            };

            var bpThatAlreadyHaveAccountArray = CL3_BookingAccounts.Atomic.Retrieval.cls_Get_BookingAccount_Purpose_BPAssignment_for_BPID_List.Invoke(
                Connection, Transaction, checkParam, securityTicket).Result.Select(x => x.BusinessParticipant_RefID);

            var bpItems = Parameter.BusinessParticipantIDs.Except(bpThatAlreadyHaveAccountArray);

            #endregion

            foreach (var BPID in bpItems)
            {
                var accBPAssignment = CL3_BookingAccounts.Utils.BookingAccountUtils.GetEmptyCustomerAccount();

                #region Business participant's data

                var customer = CL1_CMN_BPT_CTM.ORM_CMN_BPT_CTM_Customer.Query.Search(Connection, Transaction,
                                                                                     new CL1_CMN_BPT_CTM.ORM_CMN_BPT_CTM_Customer.Query
                {
                    Ext_BusinessParticipant_RefID = BPID,
                    IsDeleted    = false,
                    Tenant_RefID = securityTicket.TenantID
                }).Single();

                var businessParticipant = CL1_CMN_BPT.ORM_CMN_BPT_BusinessParticipant.Query.Search(Connection, Transaction,
                                                                                                   new CL1_CMN_BPT.ORM_CMN_BPT_BusinessParticipant.Query
                {
                    CMN_BPT_BusinessParticipantID = BPID,
                    IsDeleted    = false,
                    Tenant_RefID = securityTicket.TenantID
                }).Single();

                #endregion

                #region Create booking account

                var bookingAccount = new CL1_ACC_BOK.ORM_ACC_BOK_BookingAccount
                {
                    ACC_BOK_BookingAccountID = Guid.NewGuid(),
                    BookingAccountName       = businessParticipant.DisplayName, // TODO: just name or something else?
                    BookingAccountNumber     = customer.InternalCustomerNumber,
                    FiscalYear_RefID         = Parameter.FiscalYearID,
                    Creation_Timestamp       = DateTime.Now,
                    Tenant_RefID             = securityTicket.TenantID
                };
                bookingAccount.Save(Connection, Transaction);

                #endregion

                #region Create Account assignment to booking account as "Customer Account"

                var accountAssignment = CL3_BookingAccounts.Utils.BookingAccountUtils.GetEmptyCustomerAccount();
                accountAssignment.ACC_BOK_BookingAccounts_Purpose_BP_AssignmentID = Guid.NewGuid();
                accountAssignment.BookingAccount_RefID      = bookingAccount.ACC_BOK_BookingAccountID;
                accountAssignment.BusinessParticipant_RefID = BPID;
                accountAssignment.Creation_Timestamp        = DateTime.Now;
                accountAssignment.Tenant_RefID = securityTicket.TenantID;

                accountAssignment.Save(Connection, Transaction);

                #endregion
            }

            returnValue.Result = true;
            return(returnValue);

            #endregion UserCode
        }