Beispiel #1
0
        public ActionResult <User> Register([FromBody, Required] CliendId client)
        {
            if (client == null)
            {
                return(BadRequest("Missing clientId"));
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            try
            {
                var userName = _userNameGenerator.Generate();
                var token    = _tokenGenerator.Generate(userName, client);
                var user     = new User
                {
                    Name         = userName,
                    ConnectionId = client.ConnectionId,
                    Token        = token
                };

                _userService.Register(user);

                return(Created("", user));
            }
            catch (InvalidOperationException)
            {
                return(Problem("No username available"));
            }
        }
Beispiel #2
0
        public Customer SaveCustomer(SchedulingCustomerEditModel model, bool isExistingCustomer)
        {
            Customer customer;

            model.FullName.FirstName  = model.FullName.FirstName.ToUppercaseInitalLetter();
            model.FullName.LastName   = model.FullName.LastName.ToUppercaseInitalLetter();
            model.FullName.MiddleName = model.FullName.MiddleName.ToUppercaseInitalLetter();

            if (model.Id > 0)
            {
                customer = _customerRepository.GetCustomer(model.Id);
                customer.DateModified = DateTime.Now;
                customer.DateOfBirth  = model.DateofBirth;
                customer.Gender       = (Gender)(model.Gender != null && model.Gender > 0 ? model.Gender.Value : 0);

                var addressId = customer.Address.Id;
                customer.Address    = Mapper.Map <AddressEditModel, Address>(model.ShippingAddress);
                customer.Address.Id = addressId;

                if (!isExistingCustomer)
                {
                    customer.MarketingSource = model.MarketingSource;
                }
            }
            else
            {
                customer = new Customer
                {
                    UserLogin = new UserLogin
                    {
                        UserName     = !string.IsNullOrEmpty(model.UserName) ? model.UserName : _userNameGenerator.Generate(model.FullName),
                        Password     = model.Password,
                        HintAnswer   = null,
                        HintQuestion = null,
                        IsSecurityQuestionVerified = false,
                        UserVerified = true
                    },
                    AddedByRoleId   = (long)Roles.Customer,
                    DateCreated     = DateTime.Now,
                    DateOfBirth     = model.DateofBirth,
                    Gender          = (Gender)(model.Gender != null && model.Gender > 0 ? model.Gender.Value : 0),
                    Address         = Mapper.Map <AddressEditModel, Address>(model.ShippingAddress),
                    MarketingSource = model.MarketingSource,
                    EnableTexting   = model.ConfirmationToEnablTexting != null && model.ConfirmationToEnablTexting.Value,
                    EnableVoiceMail = model.ConfirmationToEnableVoiceMail != null && model.ConfirmationToEnableVoiceMail.Value
                };

                //customer.Address.Id = 0;
            }

            customer.Name = model.FullName;

            if (!string.IsNullOrEmpty(model.Email))
            {
                customer.Email = new Email(model.Email);
            }
            else
            {
                customer.Email = null;
            }

            customer.HomePhoneNumber = new PhoneNumber
            {
                PhoneNumberType = PhoneNumberType.Home,
                Number          = model.HomeNumber
            };
            customer.MobilePhoneNumber = new PhoneNumber
            {
                PhoneNumberType = PhoneNumberType.Mobile,
                Number          = model.PhoneCell
            };
            customer.EnableTexting   = model.ConfirmationToEnablTexting != null && model.ConfirmationToEnablTexting.Value;
            customer.EnableVoiceMail = model.ConfirmationToEnableVoiceMail != null && model.ConfirmationToEnableVoiceMail.Value;

            customer.InsuranceId = model.InsuranceId;
            customer.Ssn         = model.Ssn;

            var result = SaveCustomer(customer, model.Id);

            return(result ? customer : null);
        }