HUD Section 1200
Moderator: Phil Barton
-
- Posts: 68
- Joined: Tue Mar 03, 2020 5:23 pm
Re: HUD Section 1200
I just had a chance to look at this. I still have a question though. How do I add a new fee to line 1202? The marvelous SDK documentation gives no clue of how to do this.
-
- Posts: 68
- Joined: Tue Mar 03, 2020 5:23 pm
Re: HUD Section 1200
Please understand that I am only creating and populating new orders from an old access database. I really have no need to read existing orders as there are none. I already created the lines collection and can access line 1202 easily.
IOrderItem line1202 = (IOrderItem)lines[1202];
Now how do I populate the fees collection?
Thanks.
IOrderItem line1202 = (IOrderItem)lines[1202];
Now how do I populate the fees collection?
Thanks.
-
- Posts: 1382
- Joined: Wed Jan 15, 2014 3:50 pm
- Location: Raleigh, NC
- Contact:
Re: HUD Section 1200
Alrighty. This code will create new fees by creating them, adding them to the charge object then populating the various required field. Use this in conjunction with the fee schedule search code from earlier in this post. This order has a Settlement Agent in the contacts.
In the IOrder.CreateNew() call, I had to pass the specific name for the object I wanted - HUD1202ChargeFee. The object names are available in the Order HUDs section of the SDK (i.e. How-To/Order HUDs/Section 1200 - Government Recording and Transfer Charges, Line 1202). Information is also available regarding lines that do not allow additional fees.
Code: Select all
IFeeScheduleVersion match = {from prior code}
IOrderItem charge = {charge on line 1202}
IBillCode bc = {billcode}
charge.SetProperty("BillCode", bc);
charge.SetProperty("HUDTo",
order.GetProperty<IEnumerable<IOrderItem>>("Contacts")
.Single(t => t.GetProperty<ContactType>("ContactType") == ContactType.SettlementAgent));
// Add a fee to charge and set properties.
IOrderItem fee = order.CreateNew("HUD1202ChargeFee");
charge.GetProperty<IList>("Fees").Add(fee);
fee.SetProperty("Amount", 111m);
fee.SetProperty("DocumentType", DocumentType.Mortgage);
fee.SetProperty("SellerPayPercent", 1m);
// Add a second fee to charge and set properties.
fee = order.CreateNew("HUD1202ChargeFee");
charge.GetProperty<IList>("Fees").Add(fee);
fee.SetProperty("Amount", 222m);
fee.SetProperty("DocumentType", DocumentType.Release);
fee.SetProperty("SellerPayPercent", 0.5m);
Bob Richards, Senior Software Developer, SoftPro
-
- Posts: 68
- Joined: Tue Mar 03, 2020 5:23 pm
Re: HUD Section 1200
IOrderItem line1202 = (IOrderItem)lines[1202];
if (hb2.Hud1201D > 0 || hb2.Hud1201M > 0 || hb2.Hud1201R > 0)
{
IOrderItem charge = (IOrderItem)line1202.GetProperty("Charge");
IOrderItem fee = o.CreateNew("Hud1202ChargeFee");
charge.GetProperty<IList>("Fees").Add(fee);
}
results in the following error. Can you shed some light on this?
Severity Code Description Project File Line
Error CS0308 The non-generic method 'IOrderItem.GetProperty(string)' cannot be used with type arguments SoftProConversion C:\dev\SoftProConversion\SoftProConversion\Form1.cs 4942
if (hb2.Hud1201D > 0 || hb2.Hud1201M > 0 || hb2.Hud1201R > 0)
{
IOrderItem charge = (IOrderItem)line1202.GetProperty("Charge");
IOrderItem fee = o.CreateNew("Hud1202ChargeFee");
charge.GetProperty<IList>("Fees").Add(fee);
}
results in the following error. Can you shed some light on this?
Severity Code Description Project File Line
Error CS0308 The non-generic method 'IOrderItem.GetProperty(string)' cannot be used with type arguments SoftProConversion C:\dev\SoftProConversion\SoftProConversion\Form1.cs 4942
-
- Posts: 68
- Joined: Tue Mar 03, 2020 5:23 pm
Re: HUD Section 1200
It doesn't like .GetProperty<IList>()
-
- Posts: 68
- Joined: Tue Mar 03, 2020 5:23 pm
Re: HUD Section 1200
Any answers as to why I am getting this error?
-
- Posts: 1382
- Joined: Wed Jan 15, 2014 3:50 pm
- Location: Raleigh, NC
- Contact:
Re: HUD Section 1200
Sorry but I was out last week. Not sure what you mean by "It doesn't like .GetProperty<IList>()". What was the error?
Did you include
Did you include
Code: Select all
using System.Collections;
Bob Richards, Senior Software Developer, SoftPro
-
- Posts: 68
- Joined: Tue Mar 03, 2020 5:23 pm
Re: HUD Section 1200
The error is listed above along with the code as copied from studio.
-
- Posts: 68
- Joined: Tue Mar 03, 2020 5:23 pm
Re: HUD Section 1200
System.Collections is there. I always include it as I use collections extensively.
-
- Posts: 1382
- Joined: Wed Jan 15, 2014 3:50 pm
- Location: Raleigh, NC
- Contact:
Re: HUD Section 1200
The GetService<T>() method is defined in the Package classes (and SelectServer, etc.). However your code class does not inherit from these classes. You have two options:
1. Put your code in a new or partial class that inherits from a class that provides GetService<T>()
2. Put your code in a new or partial class that inherits from a class that provides GetService(Type) method and do the same logic.
In this case, another thing that I frequently do if I create a class that doesn't have GetService<T>() is to add a method with the same signature to replace it. It is very handy.
3. And the last option is to pass a copy of the service container to your class in a constructor and keep a copy of it. Then use it anywhere you would have used it previously.
1. Put your code in a new or partial class that inherits from a class that provides GetService<T>()
2. Put your code in a new or partial class that inherits from a class that provides GetService(Type) method and do the same logic.
Code: Select all
IList fees = (IList)charge.GetProperty("Fees");
fees.Add(newFee);
Code: Select all
/// <summary>
/// Gets the service of type T.
/// </summary>
/// <typeparam name="T">The desired type.</typeparam>
/// <returns> A service object of type T or null if not found.</returns>
public T GetService<T>()
{
return (T)GetService(typeof(T));
}
Code: Select all
private ServiceContainer _serviceContainer;
public MyClass(ServiceContainer serviceContainer)
{
_serviceContainer = serviceContainer;
}
public T GetService<T>()
{
return (T)_serviceContainer.GetService(typeof(T));
}
Bob Richards, Senior Software Developer, SoftPro