Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
abstract committed Jan 10, 2022
2 parents 21b3d56 + 6045f83 commit c91f3c6
Show file tree
Hide file tree
Showing 4 changed files with 92 additions and 1 deletion.
7 changes: 7 additions & 0 deletions docs/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
### GSCCCA.RealEstate Help.chm
A compiled HTML formatted help file is included. This allows easy navigation of source objects in a quickly referenceable file.

### Implementation Guides
Various implementation guides are located on the [GSCCCA eFile website][0]. Read over the Real Estate eFiling Guides for assistance on integration.

[0]: https://efile.gsccca.org/Implementers.aspx
77 changes: 76 additions & 1 deletion src/GSCCCA.RealEstate/Filing.cs
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,20 @@ private PRIA_RECORDING_ENDORSEMENT_Type getPriaEndorsement()
return endorse;
}

private static IEnumerable<FilingFee> GetEstimatedFees(PRIALibraryV24.PRIA_CONSIDERATION_Type[] considerations)
{
if (considerations is null) yield break;

var estimates = considerations.Where(p => p._Type == PRIA_ConsiderationTypeEnumerated.Other
&& !string.IsNullOrEmpty(p._TypeOtherDescription)
&& FeeEstimateTypes.Keys.ToList().Contains(p._TypeOtherDescription)
&& double.TryParse(p._Amount, out double _));

foreach (var estimate in estimates)
{
yield return new FilingFee(double.Parse(estimate._Amount), estimate._TypeOtherDescription);
}
}

/// <summary>
/// Maps a GSCCCA docket type to a PRIA Volume Type
Expand Down Expand Up @@ -178,7 +191,67 @@ internal virtual PRIA_DOCUMENT_Type ToPriaDocument()
return this.ToPriaDocument(1);
}

/// <summary>
/// Gets / Sets a collection of estimated fees associated with this Filing
/// </summary>
public List<FilingFee> FeeEstimates
{
get;
set;
}

/// <summary>
/// There is a set list of allowed estimated fees.
/// This is provided for programmatic usage of estimates.
/// </summary>
public enum FeeEstimateType
{
/// <summary>
/// Estimated Base Filing Fee
/// </summary>
Base = 0,
/// <summary>
/// Estimated Assigned Fees
/// </summary>
Assigned,
/// <summary>
/// Estimated Documents Being Cancelled Fees
/// </summary>
Cancelled,
/// <summary>
/// Estimated Cross Index Fees
/// </summary>
Xref,
/// <summary>
/// Estimated PT-61 Tax
/// </summary>
TransferTax,
/// <summary>
/// Estimated Intangible Tax
/// </summary>
IntangibleTax,
/// <summary>
/// Estimated Page Fees
/// </summary>
Pages,
}

/// <summary>
/// Convert the XML string to an enumerated value for programmatic use
/// </summary>
public static Dictionary<string, FeeEstimateType> FeeEstimateTypes
{
get => new Dictionary<string, FeeEstimateType>()
{
{"Estimated Base Filing Fee", FeeEstimateType.Base },
{"Estimated Assigned Fees", FeeEstimateType.Assigned },
{"Estimated Documents Being Cancelled Fees", FeeEstimateType.Cancelled },
{"Estimated Cross Index Fees", FeeEstimateType.Xref },
{"Estimated PT-61 Tax", FeeEstimateType.TransferTax },
{"Estimated Intangible Tax", FeeEstimateType.IntangibleTax },
{"Estimated Page Fees", FeeEstimateType.Pages },
};
}

/// <summary>
/// Gets / Sets a collection of recording fees associated with this AcceptedFiling
Expand Down Expand Up @@ -408,6 +481,8 @@ internal static Filing FromPriaDoc(PRIALibraryV24.PRIA_DOCUMENT_Type doc)
}
}

f.FeeEstimates = GetEstimatedFees(doc.CONSIDERATION).ToList();

//get the endorsement
if (doc.RECORDING_ENDORSEMENT != null)
{
Expand Down Expand Up @@ -446,7 +521,7 @@ internal static Filing FromPriaDoc(PRIALibraryV24.PRIA_DOCUMENT_Type doc)
}

}
catch
catch (Exception ex)
{
f = null;
}
Expand Down
7 changes: 7 additions & 0 deletions src/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
### GSCCCA.RealEstate
Example code containing objects which perform various calls to the GSCCCA eFile Web Services can be found in this project.

### PRIA Library 2.4
This project is a collection of C# objects created from the PRIA 2.4.1 XSD specification which are used in the GSCCCA.RealEstate namespace. From these objects, an XML document which conforms to the given specification can be created. For more information on PRIA and its technical specifications, visit [https://www.pria.us][0].

[0]: https://www.pria.us
2 changes: 2 additions & 0 deletions test/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
### GSCCCA_API_DEMO
This is a semi-implemented application utilizing the `GSCCCA.RealEstate` and `PRIA Library v2.4` libraries. Not all functionality is implemented, and it is given as example only to demonstrate the use of the Real Estate API.

0 comments on commit c91f3c6

Please sign in to comment.