public CreateCustomerResult AddCustomer(CustomerModel customer) { var result = new CreateCustomerResult(); if (Repo.IsCustomerExistByPhoneNumber(customer.PhoneNumber)) { result.IsCreated = false; result.Description = customerExist; } else { var convertedCustomer = ConvertCustomer(customer); if (Repo.AddUser(convertedCustomer)) { result.IsCreated = true; result.Id = Repo.GetCustomerByPhoneAndPassword(customer.PhoneNumber, customer.Password).UserId; result.Description = customerCreated; } else { result.IsCreated = false; result.Description = customerFailed; } } return(result); }
public async Task <IActionResult> Execute(CreateCustomerModel data) { var customer = new Customer(data.Name); await _db.AddAsync(customer); await _db.SaveChangesAsync(); var result = new CreateCustomerResult { Id = customer.Id, Name = customer.Name }; return(Ok(result)); }
public ManagerResponse <CreateCustomerResult, CommerceCustomer> CreateCustomer(CommerceCustomer commerceCustomer) { Assert.ArgumentNotNull(commerceCustomer, nameof(commerceCustomer)); var createCustomerRequest = new CreateCustomerRequest(commerceCustomer); CreateCustomerResult createCustomerResult = this.customerServiceProvider.CreateCustomer(createCustomerRequest); if (!createCustomerResult.Success) { Log.Warn("Create customer failed", this.GetType()); } return(new ManagerResponse <CreateCustomerResult, CommerceCustomer>(createCustomerResult, createCustomerResult.CommerceCustomer)); }
protected bool CreateUser() { Explore.NetSuite.DataAccess.NDAL client = new Explore.NetSuite.DataAccess.NDAL(); //AccountDropDown.SelectedItem.Value; string company = CompanyLabelTextBox.Text; if (company == "") company = null; PriceLevels thelevel = PriceLevels.Educational; switch (AccountDropDown.SelectedItem.Value) { case "1": thelevel = PriceLevels.MSRP; break; case "2": thelevel = PriceLevels.Educational; break; case "3": thelevel = PriceLevels.State; break; default: break; } try { CreateCustomerResult newCustomer = new CreateCustomerResult(); if (Session["UserID"] == null) newCustomer = client.CreateCustomer(company, PhoneLabelTextBox.Text, EmailTextBox.Text , FirstNameTextBox.Text, LastNameTextBox.Text, thelevel, TitleTextBox.Text, null); bool EmailChanged = false; if (newCustomer != null || Session["UserID"] != null) { // retrive the newly created customer so we can update it with an address and password string customerID = ""; if (Session["UserID"] != null) customerID = Session["UserID"].ToString(); else customerID = newCustomer.CustomerInternalID; Customer customer = client.GetCustomer(customerID); if (Session["UserID"] != null) { if(customer.Email != EmailTextBox.Text) EmailChanged = true; customer.Email = EmailTextBox.Text; customer.CompanyName = company; customer.Phone = PhoneLabelTextBox.Text; customer.FirstName = FirstNameTextBox.Text; customer.LastName = LastNameTextBox.Text; customer.CustomerType = thelevel; customer.Title = TitleTextBox.Text; } customer.JobRole = GetJobRole(RoleDropDown.SelectedItem.Text); // assign at least one address string state = ""; if (StateLabel1RadComboBox.Visible) state = StateLabel1RadComboBox.SelectedItem.Text; else state = StateLabel1TextBox.Text; //create primary address: this is no loger being done by Andrew/John request: bug 2387 //Address addr = new Address(); //addr.Attention = CompanyLabelTextBox.Text; //addr.CompanyName = CompanyLabelTextBox.Text; //addr.Address1 = Address1LabelTextBox.Text; //addr.Address2 = Address2LabelTextBox.Text; //addr.City = CityLabelTextBox.Text; //addr.State = state; //addr.Zip = ZipLabelTextBox.Text; //addr.DefaultBilling = false; //addr.DefaultShipping = true; //addr.DefaultAccount = false; //addr.DefaultDelivery = false; //DataSet dsCount = doQuery("SELECT * FROM Countries WHERE country_name = '" + // CountryLabel1RadComboBox.SelectedItem.Text + "'"); //addr.Country = dsCount.Tables[0].Rows[0]["country_2_code"].ToString(); //addr.Residential = ResidentialCheckBox.Checked; //addr.Phone = PhoneLabelTextBox.Text; //if (exTextBox.Text.Trim() != "") //{ // addr.Phone = PhoneLabelTextBox.Text + " x" + exTextBox.Text.Trim(); //} Address addr2 = new Address(); addr2.Attention = FirstNameTextBox.Text + " " + LastNameTextBox.Text; addr2.CompanyName = CompanyLabelTextBox.Text; addr2.Address1 = Address1LabelTextBox.Text; addr2.Address2 = Address2LabelTextBox.Text; addr2.City = CityLabelTextBox.Text; addr2.State = state; addr2.Zip = ZipLabelTextBox.Text; addr2.DefaultBilling = false; addr2.DefaultShipping = false; addr2.DefaultAccount = true; addr2.DefaultDelivery = false; DataSet dsCount = doQuery("SELECT * FROM Countries WHERE country_name = '" + CountryLabel1RadComboBox.SelectedItem.Text + "'"); addr2.Country = dsCount.Tables[0].Rows[0]["country_2_code"].ToString(); addr2.Residential = ResidentialCheckBox.Checked; addr2.Phone = PhoneLabelTextBox.Text; if (exTextBox.Text.Trim() != "") { addr2.Phone = PhoneLabelTextBox.Text + " x" + exTextBox.Text.Trim(); } List<NDAL.DataTypes.Address> addresses = new List<NDAL.DataTypes.Address>(); //addresses.Add(addr); addresses.Add(addr2); if (Session["UserID"] == null) { customer.Addresses = addresses; } else { for(int j=0;j<customer.Addresses.Count;j++) { if (customer.Addresses[j].DefaultAccount.Value) { customer.Addresses[j] = addr2; } } } // set a password for this customer customer.Password = PasswordTextBox.Text; // save dynamic fields object refCust = customer; SaveDynamicFields("1", ref refCust); customer = (Customer)refCust; // perform the update, sending back the complete customer object client.UpdateCustomer(customer); Session["HasUserBeenClicked"] = "true"; // get the customer again to verify password was set Customer getCustomer = client.GetCustomer(customerID); string custID = ""; //Sign the new user in bool isAuth = false; if (Session["UserID"] == null) isAuth = client.Authenticate(EmailTextBox.Text, PasswordTextBox.Text, out custID); else { if (EmailChanged) { isAuth = client.Authenticate(EmailTextBox.Text, PasswordTextBox.Text, out custID); } else { custID = Session["UserID"].ToString(); } } Session["UserID"] = custID; Session["UserType"] = getCustomer.CustomerType; Session["User"] = getCustomer.FirstName; Session["UserSalesRep"] = getCustomer.SalesRepID; string groups = ""; groups = "1"; UserTracking(); FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(1, EmailTextBox.Text.Trim(), DateTime.Now, DateTime.Now.AddMinutes(60), false, groups); // Now encrypt the ticket. string encryptedTicket = FormsAuthentication.Encrypt(authTicket); // Create a cookie and add the encrypted ticket to the // cookie as data. HttpCookie authCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket); // Add the cookie to the outgoing cookies collection. Response.Cookies.Add(authCookie); //} //catch (CommandErrorException ex) //{ // Console.WriteLine("Oh No! Code: {0} Message: {1}", ex.ErrorCode, ex.Message); //} //catch (TimeoutException ex) //{ // Console.WriteLine("WCF client network request timed out, message: {0}", ex.Message); //} //catch (CommunicationException ex) //{ // Console.WriteLine("WCF communication exception, message: {0}", ex.Message); //} Static1Messages.Text = ""; return true; } else { Static1Messages.Text = "A customer with this email address already exists."; return false; } } catch (Exception ex) { if (ex.ToString().Contains("Existing Customer")) { Static1Messages.Text = "A customer with this email address already exists."; } else { ErrorLabel.Text = ex.ToString(); } return false; } }