コード例 #1
0
        public AddressChangeSyncViewModel SyncAddress(AddressChangeSyncInputModel inputModel)
        {
            AddressChangeSyncViewModel viewModel      = new AddressChangeSyncViewModel(inputModel);
            TalentCustomer             talentCustomer = new TalentCustomer();

            Mapper.CreateMap <AddressChangeSyncInputModel, DECustomer>();

            talentCustomer.Settings = Environment.Settings.DESettings;

            DECustomer deCust = new DECustomer();

            deCust = Mapper.Map <DECustomer>(inputModel);


            DECustomerV11 deCustV11 = new DECustomerV11();

            talentCustomer.DeV11.DECustomersV1.Add(deCust);

            ErrorObj err = talentCustomer.UpdateCustomerAddresses();

            viewModel.Error = Data.PopulateErrorObject(err, talentCustomer.ResultDataSet, talentCustomer.Settings, null);

            //if (!viewModel.Error.HasError)
            //{
            //    viewModel.AddressChange = Data.PopulateObjectListFromTable<AddressChangeModel>(talentCustomer.ResultDataSet.Tables["CustomersAtAddress"]);
            //}

            return(viewModel);
        }
コード例 #2
0
        /// <summary>
        /// Does the main work for resetting a user's password. Validates their token, then sends the details to the backend for update.
        /// </summary>
        /// <param name="inputModel">The reset password input model</param>
        /// <returns>viewModel for handling</returns>
        private ResetPasswordViewModel resetUserPassword(ResetPasswordInputModel inputModel)
        {
            //Initialise everything we need.
            ResetPasswordViewModel viewModel = new ResetPasswordViewModel(true);
            ErrorObj   talentErrObj          = new ErrorObj();
            DECustomer deCust = new DECustomer();

            Mapper.CreateMap <ResetPasswordInputModel, DECustomer>();
            DECustomerV11 deCustV11 = new DECustomerV11();
            PasswordHash  pH        = new PasswordHash();

            //Make sure token is still valid
            inputModel = validateToken(inputModel);
            if (inputModel.IsValid)
            {
                //Hash the user's new password.
                inputModel.NewHashedPassword = pH.HashSalt(inputModel.NewPassword, Environment.Settings.DefaultValues.SaltString);

                //Map the inputModel parameters to a DECustomer object.
                deCust        = Mapper.Map <DECustomer>(inputModel);
                deCust.Source = GlobalConstants.SOURCE;
                deCustV11.DECustomersV1.Add(deCust);
                _talCust.DeV11    = deCustV11;
                _talCust.Settings = Environment.Settings.DESettings;

                //Backend call, and error checking
                talentErrObj    = _talCust.ResetPassword();
                viewModel.Error = Data.PopulateErrorObject(talentErrObj, _talCust.ResultDataSet, _talCust.Settings, null);
                if (!viewModel.Error.HasError)
                {
                    viewModel.Mode = GlobalConstants.PASSWORD_ENC_MODE_RESPONSE;
                    expireUsedToken(inputModel);
                }
                else
                {
                    viewModel.Mode = GlobalConstants.PASSWORD_ENC_MODE_INITIAL;
                    if (viewModel.Error == null)
                    {
                        viewModel.Error              = new ErrorModel();
                        viewModel.Error.HasError     = true;
                        viewModel.Error.ErrorMessage = viewModel.GetPageText("UnspecifiedError");
                    }
                }
            }
            else
            {
                viewModel.Mode = GlobalConstants.PASSWORD_ENC_MODE_INITIAL;
                if (viewModel.Error == null)
                {
                    viewModel.Error              = new ErrorModel();
                    viewModel.Error.HasError     = true;
                    viewModel.Error.ErrorMessage = viewModel.GetPageText("GenericError");
                }
            }
            return(viewModel);
        }
コード例 #3
0
        public VerifyAndRetrieveCustomerViewModel VerifyAndRetrieveCustomer(VerifyAndRetrieveCustomerInputModel inputModel)
        {
            VerifyAndRetrieveCustomerViewModel viewModel = new VerifyAndRetrieveCustomerViewModel();
            TalentCustomer talentCustomer = new TalentCustomer();

            Mapper.CreateMap <VerifyAndRetrieveCustomerInputModel, DECustomer>();
            DECustomer customer = Mapper.Map <DECustomer>(inputModel);

            customer.Password = Talent.Common.Utilities.TripleDESEncode(Talent.Common.Utilities.RandomString(10), inputModel.NoiseEncryptionKey);
            customer.Source   = "W";
            DECustomerV11 V11 = new DECustomerV11();

            V11.DECustomersV1.Add(customer);
            talentCustomer.DeV11 = V11;

            talentCustomer.Settings = Environment.Settings.DESettings;
            talentCustomer.Settings.TicketingKioskMode = true;
            talentCustomer.Settings.IsAgent            = Environment.Settings.DESettings.IsAgent;

            ErrorObj err = talentCustomer.VerifyAndRetrieveCustomerDetails();

            viewModel.Error = Data.PopulateErrorObject(err, talentCustomer.ResultDataSet, talentCustomer.Settings, null);

            if (!viewModel.Error.HasError)
            {
                viewModel = Data.PopulateObjectFromRow <VerifyAndRetrieveCustomerViewModel>(talentCustomer.ResultDataSet.Tables["CustomerResults"].Rows[0]);
                // set session value for company
                if (!string.IsNullOrEmpty(viewModel.CompanyName) && !string.IsNullOrEmpty(viewModel.CompanyNumber))
                {
                    Data.Session.Add("Company", new KeyValuePair <string, string>(viewModel.CompanyNumber, viewModel.CRMCompanyName));
                }
                viewModel.Valid = true;
            }
            else
            {
                viewModel.Valid = false;
            }

            return(viewModel);
        }
コード例 #4
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);
        }
コード例 #5
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);
        }