Beispiel #1
0
        public Fee GetFeeData(Fee returnValue)
        {
            using (OleDbConnection connection = new OleDbConnection(ConnectionString))
            {
                using (OleDbCommand sqlCommand = connection.CreateCommand())
                {
                    string fields = returnValue.GetFieldNames();

                    sqlCommand.CommandText = "SELECT " + fields + ", Adjustment, AdjustmentExplanation, IsPriority, IsEmergency, IsRapidResponse FROM tblFees WHERE ID = " + returnValue.ID;
                    connection.Open();

                    OleDbDataReader reader = sqlCommand.ExecuteReader();
                    reader.Read();

                    int index = 0;
                    foreach (ICharge charge in returnValue.Charges)
                    {
                        switch (charge.Type)
                        {
                        case "variable":
                            VariableCharge vCharge = (VariableCharge)charge;
                            vCharge.Count = reader.GetDecimalSafe(index++);
                            break;

                        case "categorical":
                            CategoricalCharge cCharge = (CategoricalCharge)charge;
                            cCharge.Count = reader.GetDecimalSafe(index++);
                            break;

                        case "boolean":
                            BooleanCharge bCharge = (BooleanCharge)charge;
                            bCharge.IsIncurred = reader.GetBooleanSafe(index++);
                            break;
                        }
                    }
                    returnValue.Adjustment            = reader.GetDecimalSafe(index++);
                    returnValue.AdjustmentExplanation = reader.GetStringSafe(index++);
                    returnValue.IsPriority            = reader.GetBooleanSafe(index++);
                    returnValue.IsEmergency           = reader.GetBooleanSafe(index++);
                    returnValue.IsRapidResponse       = reader.GetBooleanSafe(index++);

                    returnValue.CalculateProjectCost();
                    return(returnValue);
                }
            }
        }
Beispiel #2
0
        public RecordSearch GetRecordSearchByID(int id, bool loadAsCurrentSearch = true)
        {
            using (OleDbConnection connection = new OleDbConnection(ConnectionString))
            {
                using (OleDbCommand sqlCommand = connection.CreateCommand())
                {
                    sqlCommand.CommandText = "SELECT ID, ICPrefix, ICYear, ICEnumeration, ICSuffix, " +
                                             "DateReceived, DateEntered, DateOfResponse, DateBilled, DatePaid, LastUpdated, " +
                                             "RequestorID, AdditionalRequestors, ClientID, MailingAddressID, IsMailingAddressSameAsBilling, BillingAddressID, " +
                                             "ProjectName, RecordSearchType, Status, SpecialCaseDetails, " +
                                             "MainCounty, AdditionalCounties, PLSS, Acres, LinearMiles, " +
                                             "AreResourcesInProject, Recommendation, IsReportReceived, Processor, EncryptionPassword, " +
                                             "FeeVersion, FeeID, TotalCost, " +
                                             "ProjectNumber, InvoiceNumber, CheckName, CheckNumber, IsPrePaid, IsSelected, Notes " +
                                             "FROM tblRecordSearches WHERE ID = " + id;
                    connection.Open();

                    OleDbDataReader reader = sqlCommand.ExecuteReader();
                    reader.Read();

                    int          index       = 0;
                    RecordSearch returnValue = new RecordSearch()
                    {
                        ID                     = reader.GetInt32Safe(index++), //0
                        ICTypePrefix           = reader.GetStringSafe(index++),
                        ICYear                 = reader.GetStringSafe(index++),
                        ICEnumeration          = reader.GetInt32Safe(index++),
                        ICSuffix               = reader.GetStringSafe(index++),
                        DateReceived           = reader.GetDateTimeSafe(index++), //5
                        DateEntered            = reader.GetDateTimeSafe(index++),
                        DateOfResponse         = reader.GetDateTimeSafe(index++),
                        DateBilled             = reader.GetDateTimeSafe(index++),
                        DatePaid               = reader.GetDateTimeSafe(index++),
                        LastUpdated            = reader.GetDateTimeSafe(index++), //10
                        RequestorID            = reader.GetInt32Safe(index),
                        Requestor              = _ps.GetPersonByID(reader.GetInt32Safe(index++)),
                        AdditionalRequestors   = reader.GetStringSafe(index++),
                        ClientID               = reader.GetInt32Safe(index),
                        ClientModel            = _cs.GetClientByID(reader.GetInt32Safe(index++)), //15
                        MailingAddress         = _as.GetAddressByID(reader.GetInt32Safe(index++)),
                        IsMailingSameAsBilling = reader.GetBooleanSafe(index++),
                        BillingAddress         = _as.GetAddressByID(reader.GetInt32Safe(index++)),
                        ProjectName            = reader.GetStringSafe(index++),
                        RSType                 = reader.GetStringSafe(index++), //20
                        Status                 = reader.GetStringSafe(index++),
                        SpecialDetails         = reader.GetStringSafe(index++),
                        MainCounty             = reader.GetStringSafe(index++),
                        AdditionalCounties     = ParseAdditionalCounties(reader.GetStringSafe(index++)),
                        PLSS                   = reader.GetStringSafe(index++), //25
                        Acres                  = reader.GetInt32Safe(index++),
                        LinearMiles            = reader.GetInt32Safe(index++),
                        AreResourcesInProject  = reader.GetBooleanSafe(index++),
                        Recommendation         = reader.GetStringSafe(index++),
                        IsReportReceived       = reader.GetBooleanSafe(index++), //30
                        Processor              = reader.GetStringSafe(index++),
                        EncryptionPassword     = reader.GetStringSafe(index++),
                        FeeVersion             = reader.GetStringSafe(index++),
                        FeeID                  = reader.GetInt32Safe(index++),
                        TotalFee               = reader.GetDecimalSafe(index++),
                        ProjectNumber          = reader.GetStringSafe(index++),
                        InvoiceNumber          = reader.GetStringSafe(index++),
                        CheckName              = reader.GetStringSafe(index++),
                        CheckNumber            = reader.GetStringSafe(index++),
                        IsPrePaid              = reader.GetBooleanSafe(index++),
                        IsSelected             = reader.GetBooleanSafe(index++),
                        Notes                  = reader.GetStringSafe(index++),
                    };

                    returnValue.Fee = GetFeeData(returnValue.FeeVersion, returnValue.FeeID);
                    if (returnValue.IsMailingSameAsBilling)
                    {
                        returnValue.BillingAddress = returnValue.MailingAddress;
                    }
                    if (loadAsCurrentSearch)
                    {
                        CurrentRecordSearch = returnValue;
                    }
                    return(returnValue);
                }
            }
        }