Esempio n. 1
0
        public static bool CleanupRawAddressFields(DAL.CDWOrderAddressRecord objCDWOrderAddressRecord, out string strCDWCustomerOrderNumber, out string strCDWAddressOne, out string strCDWCity, out string strCDWState, out string strCDWPostalCode, out string strCDWCountry, out string strCDWFloor, out string strCDWRoom, out string strCDWSuite)
        {
            // Initialize the return fields
            strCDWCustomerOrderNumber = String.Empty;
            strCDWAddressOne          = String.Empty;
            strCDWCity       = String.Empty;
            strCDWState      = String.Empty;
            strCDWPostalCode = String.Empty;
            strCDWCountry    = String.Empty;
            strCDWFloor      = String.Empty;
            strCDWRoom       = String.Empty;
            strCDWSuite      = String.Empty;

            try
            {
                strCDWCustomerOrderNumber = objCDWOrderAddressRecord.CustomerOrderNumber?.Trim();
                strCDWAddressOne          = objCDWOrderAddressRecord.Line1Address?.Trim();
                strCDWCity       = objCDWOrderAddressRecord.CityName?.Trim();
                strCDWState      = objCDWOrderAddressRecord.StateCode?.Trim();
                strCDWPostalCode = objCDWOrderAddressRecord.PostalCode?.Trim();
                strCDWCountry    = objCDWOrderAddressRecord.CountryName?.Trim();
                strCDWFloor      = objCDWOrderAddressRecord.FloorName?.Trim();
                strCDWRoom       = objCDWOrderAddressRecord.RoomName?.Trim();
                strCDWSuite      = objCDWOrderAddressRecord.SuiteName?.Trim();

                return(true);
            }
            catch (Exception ex)
            {
                _objLogger.Error(String.Format("There was an exception thrown while trying to Cleanup the raw address fields received from CDW.  Error Message = [{0}]", ex.Message));
                return(false);
            }
        }
Esempio n. 2
0
        private void InsertAsNewOrderAddress(DAL.CDWOrderAddressRecord objCDWOrderAddressRecord, Model.OrderSystemOfRecords enmOrderSystemOfRecord, string strCDWCustomerOrderNumber, string strCDWAddressOne, string strCDWCity, string strCDWState, string strCDWPostalCode, string strCDWCountry, string strCDWFloor, string strCDWRoom, string strCDWSuite)
        {
            // Instantiate a new object
            DAL.OrderAddress objOrderAddress = new DAL.OrderAddress();

            // Declare a common date value to use
            DateTime dteNow = DateTime.Now;

            // Analyze the floor, room, and suite to determine if this address should be considerd a SITE or a SERVICE LOCATION
            objOrderAddress.OrderAddressTypeID = (int)CDWOrderAddressRecordUtil.TranslateRawAddressFieldsToOrderAddressType(strCDWFloor, strCDWRoom, strCDWSuite);

            // Set the default system status for new records
            objOrderAddress.MigrationStatusID = (int)MigrationStatuses.STAGED_for_Processing;

            // Set the SOR already translated/provided by the caller
            objOrderAddress.OrderSystemOfRecordID = (int)enmOrderSystemOfRecord;

            // Set the address field values, using the strings that were already cleaned by the caller as part of the existence check
            // The null overrride to empty string is important, since SQL SQL Syntax and the way the SELECT queries are written see a difference between EmptyString and NULL.  i.e. - NULL values received from the CDW are translated to empty string
            objOrderAddress.CDWCustomerOrderNumber = strCDWCustomerOrderNumber ?? String.Empty;
            objOrderAddress.CDWAddressOne          = strCDWAddressOne ?? String.Empty;
            objOrderAddress.CDWCity       = strCDWCity ?? String.Empty;
            objOrderAddress.CDWState      = strCDWState ?? String.Empty;
            objOrderAddress.CDWPostalCode = strCDWPostalCode ?? String.Empty;
            objOrderAddress.CDWCountry    = strCDWCountry ?? String.Empty;
            objOrderAddress.CDWFloor      = strCDWFloor ?? String.Empty;
            objOrderAddress.CDWRoom       = strCDWRoom ?? String.Empty;
            objOrderAddress.CDWSuite      = strCDWSuite ?? String.Empty;

            objOrderAddress.CDWCLII = objCDWOrderAddressRecord.CLIICode;

            // Validate the CLII provided
            objOrderAddress.ValidCLII = CLIIUtility.IsValidCLII(objCDWOrderAddressRecord.CLIICode);

            // Set all appropriate defaults for values that we don't yet have
            objOrderAddress.NumberOfFailedGLMSiteCalls = 0;
            objOrderAddress.ExistsInGLMAsSite          = false;
            objOrderAddress.GLMPLNumber = String.Empty;
            objOrderAddress.NumberOfFailedGLMSiteCodeExistenceCalls = 0;
            objOrderAddress.NumberOfFailedGLMSiteCodeCreationCalls  = 0;
            objOrderAddress.GLMSiteCode    = String.Empty;
            objOrderAddress.HasGLMSiteCode = false;
            objOrderAddress.NumberOfFailedSAPSiteAddressSearchCalls = 0;
            objOrderAddress.NumberOfFailedSAPSiteAddressImportCalls = 0;
            objOrderAddress.ExistsInSAPAsSiteAddress   = false;
            objOrderAddress.NumberOfRecordsInSAPWithPL = 0;
            objOrderAddress.NumberOfFailedGLMServiceLocationSearchCalls   = 0;
            objOrderAddress.NumberOfFailedGLMServiceLocationCreationCalls = 0;
            objOrderAddress.GLMSLNumber = String.Empty;
            objOrderAddress.ExistsInGLMAsServiceLocation         = false;
            objOrderAddress.NumberOfFailedGLMSCodeExistenceCalls = 0;
            objOrderAddress.NumberOfFailedGLMSCodeCreationCalls  = 0;
            objOrderAddress.GLMSCode    = String.Empty;
            objOrderAddress.HasGLMSCode = false;
            objOrderAddress.NumberOfFailedSAPServiceLocationAddressSearchCalls = 0;
            objOrderAddress.NumberOfFailedSAPServiceLocationAddressImportCalls = 0;
            objOrderAddress.ExistsInSAPAsServiceLocationAddress = false;
            objOrderAddress.NumberOfRecordsInSAPWithSL          = 0;

            objOrderAddress.DateTimeOfLastMigrationStatusUpdate = dteNow;
            //objOrderAddress.DateTimeOfLastDupDetection = leave null
            objOrderAddress.DateCreated = dteNow;
            objOrderAddress.DateUpdated = dteNow;

            objOrderAddress.ServiceOrderNumber    = objCDWOrderAddressRecord.ServiceOrderNumber;
            objOrderAddress.FIRST_ORDER_CREATE_DT = objCDWOrderAddressRecord.FIRST_ORDER_CREATE_DT;
            objOrderAddress.OPE_LAST_MODIFY_DATE  = objCDWOrderAddressRecord.OPE_LAST_MODIFY_DATE;
            objOrderAddress.PL_LAST_MODIFY_DATE   = objCDWOrderAddressRecord.PL_LAST_MODIFY_DATE;
            objOrderAddress.PS_LAST_MODIFY_DATE   = objCDWOrderAddressRecord.PS_LAST_MODIFY_DATE;

            string strLastError = String.Empty;

            if (objOrderAddress.Insert(out strLastError))
            {
                // The insert worked
                // Add a log item with the log message
                DAL.OrderAddressLogItem objOrderAddressLogItem = new DAL.OrderAddressLogItem();
                objOrderAddressLogItem.OrderAddressID    = objOrderAddress.OrderAddressID;
                objOrderAddressLogItem.MigrationStatusID = objOrderAddress.MigrationStatusID;
                objOrderAddressLogItem.LogMessage        = "The order address was just pulled from the CDW and is now staged for further processing downstream into GLM and SAP.";
                objOrderAddressLogItem.DateCreated       = dteNow;
                objOrderAddressLogItem.DateUpdated       = dteNow;

                strLastError = String.Empty;
                if (objOrderAddressLogItem.Insert(out strLastError) == false)
                {
                    throw new Exception(String.Format("There was an error while tyring to insert the log message detailing the order address record update.  Error Message = [{0}]", strLastError));
                }
            }
            else
            {
                throw new Exception(String.Format("There was an error while trying to insert the record retrieved from the CDW into the customer Order Address table in SQL Server (tblOrderAddress).  Error Message = [{0}]", strLastError));
            }
        }
Esempio n. 3
0
 public static string CalcUniqueRecordIdentifierLoggingString(DAL.CDWOrderAddressRecord objCDWOrderAddressRecord)
 {
     return(String.Format("CWD Order Address -> DataWarehouseSourceSystemCode = [{0}], CustomerOrderNumber = [{1}], Line1Address = [{2}], CityName = [{3}], StateCode = [{4}], PostalCode = [{5}],  CountryName = [{6}]", objCDWOrderAddressRecord.DataWarehouseSourceSystemCode, objCDWOrderAddressRecord.CustomerOrderNumber, objCDWOrderAddressRecord.Line1Address, objCDWOrderAddressRecord.CityName, objCDWOrderAddressRecord.StateCode, objCDWOrderAddressRecord.PostalCode, objCDWOrderAddressRecord.CountryName));
 }