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); }
/// <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); }
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); }
/// <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); }
/// <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); }