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

            conn = DataHelper.OpenIfNeeded(conn);

            conn.Execute("INSERT INTO \"invoice\" (\"id\", \"bill_to_contact_id\", \"date\", \"due\", " +
                         "\"subtotal\", \"tax_amount\", \"total\", \"external_invoice_id\", \"bill_to_name_line_1\", " +
                         "\"bill_to_name_line_2\", \"bill_to_address_line_1\", \"bill_to_address_line_2\", " +
                         "\"bill_to_city\", \"bill_to_state\", \"bill_to_zip\", \"matter_id\", \"billing_group_id\", " +
                         "\"utc_created\", \"utc_modified\", \"created_by_user_pid\", \"modified_by_user_pid\") " +
                         "VALUES (@Id, @BillToContactId, @Date, @Due, @Subtotal, @TaxAmount, " +
                         "@Total, @ExternalInvoiceId, @BillTo_NameLine1, @BillTo_NameLine2, @BillTo_AddressLine1, " +
                         "@BillTo_AddressLine2, @BillTo_City, @BillTo_State, @BillTo_Zip, @MatterId, @BillingGroupId, " +
                         "@UtcCreated, @UtcModified, @CreatedByUserPId, @ModifiedByUserPId)",
                         dbo);

            DataHelper.Close(conn, closeConnection);

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

            conn = DataHelper.OpenIfNeeded(conn);

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

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

            conn = OpenIfNeeded(conn);

            conn.Execute("UPDATE \"invoice\" SET " +
                         "\"bill_to_contact_id\"=@BillToContactId, \"date\"=@Date, \"due\"=@Due, \"subtotal\"=@Subtotal, \"tax_amount\"=@TaxAmount, " +
                         "\"total\"=@Total, \"external_invoice_id\"=@ExternalInvoiceId, \"bill_to_name_line_1\"=@BillTo_NameLine1, \"bill_to_name_line_2\"=@BillTo_NameLine2, " +
                         "\"bill_to_address_line_1\"=@BillTo_AddressLine1, \"bill_to_address_line_2\"=@BillTo_AddressLine2, \"bill_to_city\"=@BillTo_City, " +
                         "\"bill_to_state\"=@BillTo_State, \"bill_to_zip\"=@BillTo_Zip, \"matter_id\"=@MatterId, \"billing_group_id\"=@BillingGroupId, " +
                         "\"utc_modified\"=@UtcModified, \"modified_by_user_pid\"=@ModifiedByUserPId " +
                         "WHERE \"id\"=@Id", dbo);

            Close(conn, closeConnection);

            return(model);
        }