Ejemplo n.º 1
0
 public AuthorizationController(
     SystemUserManager systemUserManager,
     SingleSignOnManager singleSignOnManager)
 {
     _systemUserManager   = systemUserManager;
     _singleSignOnManager = singleSignOnManager;
 }
Ejemplo n.º 2
0
        public async Task CreateWhenUserNotCompleteShouldReturnOperationResultFailed(SystemUserCreateViewModel systemUserCreateViewModel)
        {
            SystemUserManager systemUserManager = new SystemUserManager(systemUserRepository, mapper, encrypService, emailService);

            IOperationResult <bool> actual = await systemUserManager.Create(systemUserCreateViewModel);

            Assert.IsFalse(actual.Success);
            Assert.AreEqual("Todos los campos son requeridos", actual.Message);
        }
Ejemplo n.º 3
0
        protected override void Dispose(bool disposing)
        {
            if (disposing && _UserManager != null)
            {
                _UserManager.Dispose();
                _UserManager = null;
            }

            base.Dispose(disposing);
        }
Ejemplo n.º 4
0
        public async Task CreateWhenEncrypTextThrowShouldReturnOperationResultFailed()
        {
            encrypService.EncrypText(Arg.Any <string>()).Throws(new Exception());

            SystemUserManager systemUserManager = new SystemUserManager(systemUserRepository, mapper, encrypService, emailService);

            IOperationResult <bool> actual = await systemUserManager.Create(systemUserCreateViewModel);

            Assert.IsFalse(actual.Success);
            Assert.AreEqual("Ha ocurrido un error creando el usuario", actual.Message);
        }
Ejemplo n.º 5
0
        public async Task CreateWhenAllSuccessShouldReturnOperationResultSuccess()
        {
            SystemUser systemUser = new SystemUser
            {
                Email = "uncorreovacano"
            };

            encrypService.EncrypText(Arg.Any <string>()).Returns("texto encriptado");
            mapper.Map <SystemUser>(Arg.Any <SystemUserCreateViewModel>()).Returns(systemUser);

            SystemUserManager systemUserManager = new SystemUserManager(systemUserRepository, mapper, encrypService, emailService);

            IOperationResult <bool> actual = await systemUserManager.Create(systemUserCreateViewModel);

            Assert.IsTrue(actual.Success);
        }
Ejemplo n.º 6
0
        protected override TResponse Execute <TRequest, TResponse>(TRequest request, Action <IQuoteConnector, TResponse> action)
        {
            using (SoDatabaseContext.EnterDatabaseContext(request.ContextIdentifier))
            {
                var systemUserToken = SystemUserManager.GetSystemUserToken(request.ContextIdentifier);
                SuperOffice.Configuration.ConfigFile.WebServices.RemoteBaseURL = systemUserToken.NetserverUrl;

                using (SoSession session = SoSession.Authenticate(new SoCredentials()
                {
                    Ticket = systemUserToken.Ticket
                }))
                {
                    return(base.Execute <TRequest, TResponse>(request, action));
                }
            }
        }
Ejemplo n.º 7
0
        public async Task CreateWhenEmailServiceSendEmailThrowShouldReturnOperationResultFailed()
        {
            SystemUser systemUser = new SystemUser
            {
                Email = "uncorreovacano"
            };

            encrypService.EncrypText(Arg.Any <string>()).Returns("texto encriptado");
            mapper.Map <SystemUser>(Arg.Any <SystemUserCreateViewModel>()).Returns(systemUser);
            emailService.SendActivationEmail(Arg.Any <SystemUserActivationRequest>()).Throws(new Exception());

            SystemUserManager systemUserManager = new SystemUserManager(systemUserRepository, mapper, encrypService, emailService);

            IOperationResult <bool> actual = await systemUserManager.Create(systemUserCreateViewModel);

            Assert.IsFalse(actual.Success);
            Assert.AreEqual("Ha ocurrido un error creando el usuario", actual.Message);
        }
Ejemplo n.º 8
0
        protected override void Dispose(bool disposing)
        {
            if (disposing)
            {
                if (_UserManager != null)
                {
                    _UserManager.Dispose();
                    _UserManager = null;
                }

                if (_SignInManager != null)
                {
                    _SignInManager.Dispose();
                    _SignInManager = null;
                }
            }

            base.Dispose(disposing);
        }
Ejemplo n.º 9
0
 public SystemUsersController(SystemUserManager systemUserManager)
 {
     _systemUserManager = systemUserManager;
 }
Ejemplo n.º 10
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="userManager"></param>
 /// <param name="signInManager"></param>
 public ManageController(SystemUserManager userManager, SystemSignInManager signInManager)
 {
     UserManager   = userManager;
     SignInManager = signInManager;
 }
Ejemplo n.º 11
0
        public SingleSignOnManager(
            SystemUserManager systemUserManager)

        {
            _systemUserManager = systemUserManager;
        }
Ejemplo n.º 12
0
        public ActionResult Index(string jwt)
        {
            if (String.IsNullOrWhiteSpace(jwt))
            {
                return(RedirectToAction("Index", "Home"));
            }

            /*
             * Here it is up to the partner intercept the callback from SuperID
             * and route the user to the correct partner application instance.
             *
             * This is also the opportunity for the Partner to create a system user
             * in the customers superoffice database for future use and storage.
             *
             * This is where any additional setup or configuration options are input into
             * the partners application for future use.
             */


            if (SuperOfficeAuthHelper.TryLogin(jwt))
            {
                var context = SuperOfficeAuthHelper.Context;

                AppDB.Initialize();
                AppDB.UpgradeDatabase();


                using (var db = new AppDB())
                {
                    bool newCustomer = false;
                    var  utcNow      = DateTime.UtcNow;
                    User user        = null;

                    var customer = db.Customers.FirstOrDefault(c => c.ContextIdentifier == context.ContextIdentifier);
                    if (customer == null)
                    {
                        customer = new Customer
                        {
                            ContextIdentifier = context.ContextIdentifier,
                            Registered        = utcNow,
                            LastUsed          = utcNow,
                        };
                        db.Customers.Add(customer);
                        newCustomer = true;
                        db.SaveChanges(); // Save one first....
                    }

                    if (!newCustomer)
                    {
                        user = customer.Users.FirstOrDefault(u => u.AssociateId == context.AssociateId);
                    }

                    if (user == null)
                    {
                        user = new User
                        {
                            Customer    = customer,
                            AssociateId = context.AssociateId,
                        };
                        db.Users.Add(user);
                    }
                    user.UserPrincipalName = context.Username;
                    user.Email             = context.Email;

                    if (newCustomer)
                    {
                        customer.RegisteredBy = user;
                    }

                    customer.LastUsedBy      = user;
                    customer.LastUsed        = utcNow;
                    customer.Name            = context.Company;
                    customer.NetServerUrl    = context.NetServerUrl;
                    customer.SystemUserToken = context.SystemToken;


                    db.SaveChanges();
                    SystemUserManager.ClearCachedItem(context.ContextIdentifier);
                }
                //Store the System User Information in the Database
                //var databaseContext = new PartnerDatabaseContext();
                //var customer = databaseContext.Customers.FirstOrDefault(c => c.ContextIdentifier == context.ContextIdentifier);
                //if (customer == null)
                //{
                //    databaseContext.Customers.Add(new CustomerInfo
                //    {
                //        AssociateID = context.AssociateId,
                //        ContextIdentifier = context.ContextIdentifier,
                //        IsActive = true,
                //        LastSync = new DateTime(2000, 1, 1),
                //        SystemUserToken = context.SystemToken
                //    });
                //    databaseContext.SaveChanges();
                //}

                // Redirect to original request
                var redirectUr = Session["RedirectUrl"] as string;

                if (!String.IsNullOrEmpty(redirectUr))
                {
                    return(Redirect(redirectUr));
                }
                else
                {
                    return(RedirectToAction("Index", "Home"));
                }
            }
            else
            {
                return(RedirectToAction("Index", "Home"));
            }
        }