예제 #1
0
        /// <summary>
        /// Retrieve customer details
        /// </summary>
        /// <param name="inputModel">Object of HospitalityBookingEnquiryInputModel</param>
        /// <returns>Customer details</returns>
        private DataSet retrieveCustomerDetails(HospitalityBookingEnquiryInputModel inputModel)
        {
            DataSet       dsResults  = new DataSet();
            TalentPackage talPackage = new TalentPackage();
            DESettings    settings   = Environment.Settings.DESettings;
            ErrorObj      err        = new ErrorObj();

            talPackage.Settings = settings;
            talPackage.DePackages.HospitalityBookingFilters                    = new HospitalityBookingFilters();
            talPackage.DePackages.HospitalityBookingFilters.Agent              = inputModel.BoxOfficeUser;
            talPackage.DePackages.HospitalityBookingFilters.CallId             = inputModel.CallID;
            talPackage.DePackages.HospitalityBookingFilters.Fromdate           = inputModel.FromDate;
            talPackage.DePackages.HospitalityBookingFilters.ToDate             = inputModel.ToDate;
            talPackage.DePackages.HospitalityBookingFilters.Status             = inputModel.Status;
            talPackage.DePackages.HospitalityBookingFilters.Customer           = inputModel.CustomerNumber;
            talPackage.DePackages.HospitalityBookingFilters.PackageDescription = inputModel.Package;
            talPackage.DePackages.HospitalityBookingFilters.ProductDescription = inputModel.ProductCode;
            talPackage.DePackages.HospitalityBookingFilters.MaxRecords         = inputModel.MaxRecords;
            talPackage.DePackages.HospitalityBookingFilters.MarkOrderFor       = inputModel.MarkOrderFor;
            talPackage.DePackages.HospitalityBookingFilters.QandAStatus        = inputModel.QandAStatus;

            DECustomer deCust = new DECustomer();

            deCust.CustomerNumber  = inputModel.CustomerNumber;
            deCust.CorporateSaleID = inputModel.CallID.ToString();

            DECustomerV11 deCustV11 = new DECustomerV11();

            deCustV11.DECustomersV1.Add(deCust);

            TalentCustomer talentCustomer = new TalentCustomer();

            talentCustomer.DeV11    = deCustV11;
            talentCustomer.Settings = settings;
            err = talentCustomer.CustomerRetrieval();

            dsResults = talentCustomer.ResultDataSet;
            return(dsResults);
        }
예제 #2
0
        /// <summary>
        /// Perform the customer details retrieval process and return a view model with error handling
        /// </summary>
        /// <param name="inputModel">The forgotten password input model object</param>
        /// <returns>Forgotten password view model correctly populated for display</returns>
        private ForgottenPasswordViewModel getCustomerDetailsFromBackEnd(ForgottenPasswordInputModel inputModel)
        {
            ErrorObj   talentErrObj = new ErrorObj();
            DECustomer deCust       = new DECustomer();

            Mapper.CreateMap <ForgottenPasswordInputModel, DECustomer>();
            DECustomerV11 deCustV11 = new DECustomerV11();
            ForgottenPasswordViewModel viewModel = new ForgottenPasswordViewModel(true);

            deCust        = Mapper.Map <DECustomer>(inputModel);
            deCust.Source = GlobalConstants.SOURCE;
            deCustV11.DECustomersV1.Add(deCust);
            _talCust.DeV11    = deCustV11;
            _talCust.Settings = Environment.Settings.DESettings;
            talentErrObj      = _talCust.CustomerRetrieval();
            viewModel.Error   = Data.PopulateErrorObject(talentErrObj, _talCust.ResultDataSet, _talCust.Settings, 2);

            if (!viewModel.Error.HasError)
            {
                //Add the tokens to the result Set
                _dtCustomerResults = _talCust.ResultDataSet.Tables["CustomerResults"];
                if (_dtCustomerResults.Rows.Count == 1)
                {
                    _doTokenHashing = inputModel.DoTokenHashing;
                    checkCustomerTokens();
                    if (generateResetTokens())
                    {
                        if (generateTableRecords())
                        {
                            generateEmail();
                            viewModel.Mode = GlobalConstants.PASSWORD_ENC_MODE_RESPONSE;
                        }
                        else
                        {
                            viewModel.Mode               = GlobalConstants.PASSWORD_ENC_MODE_INITIAL;
                            viewModel.Error.HasError     = true;
                            viewModel.Error.ErrorMessage = viewModel.GetPageText("UnspecifiedError");
                            _talCust.Settings.Logging.ErrorObjectLog("ForgottenPassword.aspx - Reset Password email", "FPW", "Cannot create reset password table records", "PasswordEncryptionLog");
                        }
                    }
                    else
                    {
                        viewModel.Mode               = GlobalConstants.PASSWORD_ENC_MODE_INITIAL;
                        viewModel.Error.HasError     = true;
                        viewModel.Error.ErrorMessage = viewModel.GetPageText("UnspecifiedError");
                        _talCust.Settings.Logging.ErrorObjectLog("ForgottenPassword.aspx - Reset Password email", "FPW", "Cannot create reset password tokens", "PasswordEncryptionLog");
                    }
                }
                else
                {
                    viewModel.Mode               = GlobalConstants.PASSWORD_ENC_MODE_INITIAL;
                    viewModel.Error.HasError     = true;
                    viewModel.Error.ErrorMessage = viewModel.GetPageText("UnspecifiedError");
                    _talCust.Settings.Logging.ErrorObjectLog("ForgottenPassword.aspx - Reset Password email", "FPW", "No customer records have been returned from WS009R", "PasswordEncryptionLog");
                }
            }
            else
            {
                viewModel.Mode = GlobalConstants.PASSWORD_ENC_MODE_INITIAL;
                _talCust.Settings.Logging.ErrorObjectLog("ForgottenPassword.aspx - Reset Password email", "FPW", viewModel.Error.ErrorMessage, "PasswordEncryptionLog");
            }
            return(viewModel);
        }