protected async Task HandleValidSubmit()
        {
            await SaveEventCallback.InvokeAsync(true);

            CloseDialog();
            StateHasChanged();
        }
Ejemplo n.º 2
0
        protected async Task HandleValidSubmit()
        {
            var glAccount = GLAccounts.Where(a => a.accountId.ToString()
                                             .Equals(this.JournalEntryDtl.accountId))
                            .FirstOrDefault();

            this.JournalEntryDtl.accountCode = glAccount.accountCode;
            this.JournalEntryDtl.accountName = glAccount.accountDesc;

            await SaveEventCallback.InvokeAsync(true);

            StateHasChanged();
        }
Ejemplo n.º 3
0
        protected async Task HandleValidSubmit()
        {
            try
            {
                IsDataLoaded = false;

                await SaveEventCallback.InvokeAsync(this.revenueLineItem);
            }
            catch (Exception ex)
            {
                ErrorMessage = ex.ToString();
                IsDataLoaded = true;
            }

            if (!string.IsNullOrEmpty(ErrorMessage))
            {
                ShowDialog = true;
                StateHasChanged();
                return;
            }

            ShowDialog = false;
            StateHasChanged();
        }
        protected async Task HandleValidSubmit()
        {
            try
            {
                IsDataLoaded = false;

                if (string.IsNullOrEmpty(billingId))
                {
                    using (var dbConnection = dapperManager.GetConnection())
                    {
                        dbConnection.Open();

                        using (var transaction = dbConnection.BeginTransaction())
                        {
                            try
                            {
                                var param = new Dapper.DynamicParameters();
                                param.Add("billId", billing.billId, System.Data.DbType.Guid);
                                param.Add("createdBy", UserName, System.Data.DbType.String);
                                param.Add("dateDue", billing.dateDue, System.Data.DbType.DateTime);
                                param.Add("totalAmount", billing.totalAmount, System.Data.DbType.Decimal);
                                param.Add("status", billing.status, System.Data.DbType.String);
                                param.Add("propertyDirectoryId", billing.propertyDirectoryId, System.Data.DbType.Guid);
                                param.Add("companyId", CompanyId, System.Data.DbType.String);
                                param.Add("amountPaid", billing.amountPaid, System.Data.DbType.Decimal);
                                param.Add("balance", billing.balance, System.Data.DbType.Decimal);
                                param.Add("documentId", billing.documentId, System.Data.DbType.String);
                                param.Add("transactionDate", billing.transactionDate, System.Data.DbType.DateTime);
                                param.Add("MonthYear", billing.MonthYear, System.Data.DbType.String);
                                param.Add("billType", billing.billType, System.Data.DbType.String);

                                var result = await dapperManager.ExecuteAsync("spInsertBillings", transaction, dbConnection, param);

                                foreach (BillingLineItem item in billing.billingLineItems)
                                {
                                    var paramLine = new Dapper.DynamicParameters();
                                    paramLine.Add("Id", item.Id, System.Data.DbType.Guid);
                                    paramLine.Add("description", item.description, System.Data.DbType.String);
                                    paramLine.Add("amount", item.amount, System.Data.DbType.Decimal);
                                    paramLine.Add("lineNo", item.lineNo, System.Data.DbType.Int32);
                                    paramLine.Add("billingId", billing.billId, System.Data.DbType.Guid);
                                    paramLine.Add("generated", item.generated, System.Data.DbType.Boolean);
                                    paramLine.Add("amountPaid", item.amountPaid, System.Data.DbType.Decimal);
                                    paramLine.Add("billLineType", item.billLineType, System.Data.DbType.String);
                                    await dapperManager.ExecuteAsync("spInsertBillingLineItem", transaction, dbConnection, paramLine);
                                }

                                param = null;
                                param = new Dapper.DynamicParameters();
                                param.Add("billId", billing.billId, System.Data.DbType.Guid);
                                result = await dapperManager.ExecuteAsync("spClosePreviousBill", transaction, dbConnection, param);

                                transaction.Commit();
                                NavigateToList();
                            }
                            catch (Exception ex)
                            {
                                ErrorMessage = ex.ToString();
                                transaction.Rollback();
                            }
                            finally
                            {
                                if (dbConnection.State == ConnectionState.Open)
                                {
                                    dbConnection.Close();
                                }
                            }
                        }
                    }
                }
                else
                {
                    using (var dbConnection = dapperManager.GetConnection())
                    {
                        dbConnection.Open();

                        using (var transaction = dbConnection.BeginTransaction())
                        {
                            try
                            {
                                var param = new Dapper.DynamicParameters();
                                param.Add("billId", billing.billId, System.Data.DbType.Guid);
                                param.Add("updatedBy", UserName, System.Data.DbType.String);

                                param.Add("dateDue", billing.dateDue, System.Data.DbType.DateTime);
                                param.Add("totalAmount", billing.totalAmount, System.Data.DbType.Decimal);
                                param.Add("status", billing.status, System.Data.DbType.String);
                                param.Add("amountPaid", billing.amountPaid, System.Data.DbType.Decimal);
                                param.Add("balance", billing.balance, System.Data.DbType.Decimal);

                                var result = await dapperManager.ExecuteAsync("spUpdateBillings", transaction, dbConnection, param);

                                foreach (BillingLineItem item in billing.billingLineItems)
                                {
                                    var paramLine = new Dapper.DynamicParameters();
                                    paramLine.Add("Id", item.Id, System.Data.DbType.Guid);
                                    paramLine.Add("description", item.description, System.Data.DbType.String);
                                    paramLine.Add("amount", item.amount, System.Data.DbType.Decimal);
                                    paramLine.Add("lineNo", item.lineNo, System.Data.DbType.Int32);
                                    paramLine.Add("billingId", billing.billId, System.Data.DbType.Guid);
                                    paramLine.Add("generated", item.generated, System.Data.DbType.Boolean);
                                    paramLine.Add("amountPaid", item.amountPaid, System.Data.DbType.Decimal);
                                    paramLine.Add("billLineType", item.billLineType, System.Data.DbType.String);
                                    await dapperManager.ExecuteAsync("spInsertOrUpdateBillingLineItem", transaction, dbConnection, paramLine);
                                }

                                if (!string.IsNullOrEmpty(DeletedItems.ToString()))
                                {
                                    var itemsToDelete = DeletedItems.ToString().Split("|");
                                    foreach (string item in itemsToDelete)
                                    {
                                        Guid id = Guid.Empty;
                                        if (Guid.TryParse(item, out id))
                                        {
                                            var paramLine = new Dapper.DynamicParameters();
                                            paramLine.Add("Id", id, System.Data.DbType.Guid);
                                            await dapperManager.ExecuteAsync("spDeleteBillingLineItem", transaction, dbConnection, paramLine);
                                        }
                                    }
                                }

                                transaction.Commit();
                                NavigateToList();
                            }
                            catch (Exception ex)
                            {
                                ErrorMessage = ex.ToString();
                                transaction.Rollback();
                            }
                            finally
                            {
                                if (dbConnection.State == ConnectionState.Open)
                                {
                                    dbConnection.Close();
                                }
                            }
                        }
                    }
                }

                await SaveEventCallback.InvokeAsync(true);
            }
            catch (Exception ex)
            {
                ErrorMessage = ex.ToString();
                IsDataLoaded = true;
            }

            if (!string.IsNullOrEmpty(ErrorMessage))
            {
                ShowDialog = true;
                StateHasChanged();
                return;
            }

            ShowDialog = false;
            StateHasChanged();
        }