public static Common.Models.Billing.InvoiceExpense Create(Common.Models.Billing.InvoiceExpense model,
                                                                  Common.Models.Account.Users creator,
                                                                  IDbConnection conn = null, bool closeConnection = true)
        {
            if (!model.Id.HasValue)
            {
                model.Id = Guid.NewGuid();
            }
            model.Created   = model.Modified = DateTime.UtcNow;
            model.CreatedBy = model.ModifiedBy = creator;
            DBOs.Billing.InvoiceExpense dbo = Mapper.Map <DBOs.Billing.InvoiceExpense>(model);

            conn = OpenIfNeeded(conn);

            Common.Models.Billing.InvoiceExpense currentModel = Get(model.Invoice.Id.Value, model.Expense.Id.Value, conn, closeConnection);

            if (currentModel != null)
            { // Update
                conn.Execute("UPDATE \"invoice_expense\" SET \"utc_modified\"=@UtcModified, \"modified_by_user_pid\"=@ModifiedByUserPId " +
                             "\"utc_disabled\"=null, \"disabled_by_user_pid\"=null WHERE \"id\"=@Id", dbo);
                model.Created   = currentModel.Created;
                model.CreatedBy = currentModel.CreatedBy;
            }
            else
            { // Create
                conn.Execute("INSERT INTO \"invoice_expense\" (\"id\", \"expense_id\", \"invoice_id\", \"amount\", \"details\", \"utc_created\", \"utc_modified\", \"created_by_user_pid\", \"modified_by_user_pid\") " +
                             "VALUES (@Id, @ExpenseId, @InvoiceId, @Amount, @Details, @UtcCreated, @UtcModified, @CreatedByUserPId, @ModifiedByUserPId)",
                             dbo);
            }

            Close(conn, closeConnection);

            return(model);
        }
Example #2
0
        public static void Delete(
            Common.Models.Billing.InvoiceExpense model,
            Common.Models.Account.Users deleter,
            IDbConnection conn   = null,
            bool closeConnection = true)
        {
            DBOs.Billing.InvoiceExpense dbo = Mapper.Map <DBOs.Billing.InvoiceExpense>(model);

            conn = DataHelper.OpenIfNeeded(conn);

            conn.Execute("DELETE FROM \"invoice_expense\" WHERE \"id\"=@Id", dbo);

            DataHelper.Close(conn, closeConnection);
        }
Example #3
0
        public static Common.Models.Billing.InvoiceExpense Edit(
            Common.Models.Billing.InvoiceExpense model,
            Common.Models.Account.Users modifier,
            IDbConnection conn   = null,
            bool closeConnection = true)
        {
            model.ModifiedBy = modifier;
            model.Modified   = DateTime.UtcNow;
            DBOs.Billing.InvoiceExpense dbo = Mapper.Map <DBOs.Billing.InvoiceExpense>(model);

            conn = DataHelper.OpenIfNeeded(conn);

            conn.Execute("UPDATE \"invoice_expense\" SET " +
                         "\"amount\"=@Amount, \"details\"=@Details, " +
                         "\"utc_modified\"=@UtcModified, \"modified_by_user_pid\"=@ModifiedByUserPId " +
                         "\"utc_disabled\"=null, \"disabled_by_user_pid\"=null WHERE \"id\"=@Id", dbo);

            DataHelper.Close(conn, closeConnection);

            return(model);
        }