Exemplo n.º 1
0
        public bool CheckUserAccessByApplicationID(Guid applicationID, ElementBase.e_AccessType e_AccessType)
        {
            sysBpmsUser user = string.IsNullOrWhiteSpace(base.EngineSharedModel.CurrentUserName) ? null :
                               new UserService(base.UnitOfWork).GetInfo(base.EngineSharedModel.CurrentUserName);

            return(this.UnitOfWork.Repository <IApplicationPageAccessRepository>().GetUserAccess(user?.ID, applicationID, e_AccessType));
        }
 protected void AddUserIfNotExist()
 {
     using (ConfigurationService configurationService = new ConfigurationService())
     {
         bool addUser = configurationService.GetValue(sysBpmsConfiguration.e_NameType.AddUserAutomatically.ToString()).ToLower() == "true";
         using (UserService userService = new UserService())
         {
             sysBpmsUser sysBpmsUser = userService.GetInfo(base.User.Username);
             if (addUser && !string.IsNullOrWhiteSpace(base.User?.Username) && sysBpmsUser == null)
             {
                 sysBpmsUser = userService.GetInfoByEmail(base.User.Email);
                 if (sysBpmsUser != null)
                 {
                     sysBpmsUser.Username = base.User.Username;
                     userService.Update(sysBpmsUser, null);
                 }
                 else
                 {
                     sysBpmsUser = new sysBpmsUser(Guid.Empty, base.User.Username, base.User.FirstName, base.User.LastName, base.User.Email, base.User.Profile.Telephone, base.User.Profile.Cell);
                     userService.Add(sysBpmsUser, null);
                 }
             }
         }
     }
 }
        public ResultOperation Update(sysBpmsUser user, sysBpmsEmailAccount emailAccount)
        {
            ResultOperation resultOperation = new ResultOperation();

            try
            {
                this.BeginTransaction();
                if (resultOperation.IsSuccess)
                {
                    this.UnitOfWork.Repository <IUserRepository>().Update(user);
                    this.UnitOfWork.Save();
                    if (emailAccount != null)
                    {
                        emailAccount.ObjectID = user.ID;
                        resultOperation       = new EmailAccountService(base.UnitOfWork).AddOverwrite(emailAccount);
                    }
                }
            }
            catch (Exception ex)
            {
                return(base.ExceptionHandler(ex));
            }
            base.FinalizeService(resultOperation);
            return(resultOperation);
        }
        public bool CreateSiteUser(string userName, string firstName, string LastName, string email, string password, bool doLogin = true, bool createBpms = true)
        {
            UserInfo userInfo = new UserInfo();

            userInfo.Username               = userName;
            userInfo.FirstName              = firstName.ToStringObj().Trim();
            userInfo.LastName               = LastName.ToStringObj().Trim();
            userInfo.Email                  = email.ToStringObj().Trim();
            userInfo.Membership.Approved    = DotNetNuke.Entities.Portals.PortalSettings.Current.UserRegistration == (int)Globals.PortalRegistrationType.PublicRegistration;
            userInfo.Membership.CreatedDate = System.DateTime.Now;
            userInfo.Membership.Password    = password;
            userInfo.IsDeleted              = false;
            userInfo.PortalID               = DotNetNuke.Entities.Portals.PortalSettings.Current.PortalId;
            bool result = this.CreateDnnUserInfo(userInfo, doLogin);

            if (createBpms)
            {
                UserService userService = new UserService(this.UnitOfWork);
                if (userService.GetInfo(userInfo.Username) == null)
                {
                    sysBpmsUser user = new sysBpmsUser(Guid.NewGuid(), userInfo.Username, userInfo.FirstName, userInfo.LastName, userInfo.Username, userInfo.Email, userInfo.Profile.Cell.ToStringObj());
                    userService.Add(user, null);
                }
            }
            return(result);
        }
        public ResultOperation TerminateIfPossible(sysBpmsUser currentUser)
        {
            ResultOperation          resultOperation    = new ResultOperation();
            ThreadTaskService        threadTaskService  = new ThreadTaskService(base.UnitOfWork);
            ThreadEventService       threadEventService = new ThreadEventService(base.UnitOfWork);
            List <sysBpmsThreadTask> listActiveTask     = threadTaskService.GetList(this.EngineSharedModel.CurrentThreadID.Value, null, null, null).Where(c => c.StatusLU != (int)sysBpmsThreadTask.e_StatusLU.Done).ToList();

            //if terminated
            if (this.EngineSharedModel.CurrentThread.StatusLU == (int)sysBpmsThread.Enum_StatusLU.Done)
            {
                foreach (var itm in listActiveTask)
                {
                    itm.Update(DateTime.Now, (int)sysBpmsThreadTask.e_StatusLU.Done,
                               itm.OwnerUserID ?? currentUser?.ID);
                    resultOperation = threadTaskService.Update(itm);
                }
                List <sysBpmsThreadEvent> listEvents = threadEventService.GetActive(base.EngineSharedModel.CurrentThreadID.Value);
                foreach (var item in listEvents)
                {
                    item.Done();
                    resultOperation = threadEventService.Update(item);
                }
            }
            else
            {
                if (!listActiveTask.Any() && !threadEventService.GetActive(base.EngineSharedModel.CurrentThreadID.Value).Any())
                {
                    resultOperation = new ThreadService(this.UnitOfWork).DoneThread(base.EngineSharedModel.CurrentThreadID.Value);
                }
            }
            return(resultOperation);
        }
        public ResultOperation DoneThreadTask(sysBpmsThreadTask currentThreadTask, sysBpmsUser currentUser)
        {
            ThreadTaskService threadTaskService = new ThreadTaskService(base.UnitOfWork);

            currentThreadTask.Update(DateTime.Now, (int)sysBpmsThreadTask.e_StatusLU.Done,
                                     currentThreadTask.OwnerUserID ?? currentUser?.ID);
            return(threadTaskService.Update(currentThreadTask));
        }
Exemplo n.º 7
0
        public void Delete(Guid UserId)
        {
            sysBpmsUser user = this.Context.sysBpmsUsers.FirstOrDefault(d => d.ID == UserId);

            if (user != null)
            {
                this.Context.sysBpmsUsers.Remove(user);
            }
        }
Exemplo n.º 8
0
 public UserDTO(sysBpmsUser user, sysBpmsEmailAccount emailAccount = null)
 {
     if (user != null)
     {
         this.ID              = user.ID;
         this.Username        = user.Username;
         this.FirstName       = user.FirstName;
         this.LastName        = user.LastName;
         this.Email           = user.Email;
         this.Tel             = user.Tel;
         this.Mobile          = user.Mobile;
         this.EmailAccountDTO = new EmailAccountDTO(emailAccount);
     }
 }
        public bool CreateBpmsUser(string userName, string firstName, string LastName, string email, string mobile, string telePhone)
        {
            if (string.IsNullOrWhiteSpace(userName))
            {
                return(false);
            }
            UserService userService = new UserService(this.UnitOfWork);

            if (userService.GetInfo(userName) == null)
            {
                sysBpmsUser user = new sysBpmsUser(Guid.NewGuid(), userName, firstName.ToStringObj().Trim(), LastName.ToStringObj().Trim(), email.ToStringObj().Trim(), telePhone.ToStringObj().Trim(), mobile.ToStringObj().Trim());
                userService.Add(user, null);
                if (this.GetSiteUser(user.Username) == null)
                {
                    bool createResult = this.CreateSiteUser(user.Username, user.FirstName, user.LastName, user.Email, UserController.GeneratePassword(), false);
                }
            }
            return(true);
        }
Exemplo n.º 10
0
        public bool CheckUserAccessByForm(Guid dynamicFormID, ElementBase.e_AccessType e_AccessType)
        {
            sysBpmsDynamicForm dynamicForm = new DynamicFormService(base.UnitOfWork).GetInfo(dynamicFormID);

            if (dynamicForm == null)
            {
                return(false);
            }
            if (!dynamicForm.ApplicationPageID.HasValue)
            {
                return(true);
            }
            if (base.EngineSharedModel == null)
            {
                return(true);
            }
            sysBpmsUser user = string.IsNullOrWhiteSpace(base.EngineSharedModel.CurrentUserName) ? null :
                               new UserService(base.UnitOfWork).GetInfo(base.EngineSharedModel.CurrentUserName);

            return(this.UnitOfWork.Repository <IApplicationPageAccessRepository>().GetUserAccess(user?.ID, dynamicForm.ApplicationPageID.Value, e_AccessType));
        }
Exemplo n.º 11
0
        public object PostAddEdit(UserDTO UserDTO)
        {
            sysBpmsUser user = new sysBpmsUser(UserDTO.ID, UserDTO.Username, UserDTO.FirstName, UserDTO.LastName,
                                               UserDTO.Email, UserDTO.Tel, UserDTO.Mobile);

            ResultOperation     resultOperation = new ResultOperation();
            sysBpmsEmailAccount emailAccount    = null;

            if (!string.IsNullOrWhiteSpace(UserDTO.EmailAccountDTO?.Email) ||
                !string.IsNullOrWhiteSpace(UserDTO.EmailAccountDTO?.SMTP))
            {
                emailAccount    = new sysBpmsEmailAccount();
                resultOperation = emailAccount.Update((int)sysBpmsEmailAccount.e_ObjectTypeLU.User, user.ID, UserDTO.EmailAccountDTO?.SMTP, UserDTO.EmailAccountDTO?.Port,
                                                      UserDTO.EmailAccountDTO?.MailPassword, UserDTO.EmailAccountDTO?.Email);
                if (!resultOperation.IsSuccess)
                {
                    return(new PostMethodMessage(resultOperation.GetErrors(), DisplayMessageType.error));
                }
            }
            if (!string.IsNullOrWhiteSpace(user.Username))
            {
                UserCodeHelper userCodeHelper = new UserCodeHelper(null, null);
                UserInfo       userInfo       = userCodeHelper.GetSiteUser(user.Username);
                if (userInfo == null)
                {
                    bool createResult = userCodeHelper.CreateSiteUser(user.Username, user.FirstName, user.LastName, user.Email, (string.IsNullOrWhiteSpace(UserDTO.Password) ? UserController.GeneratePassword() : UserDTO.Password), false, createBpms: false);
                    if (!createResult)
                    {
                        return(new PostMethodMessage(SharedLang.Get("CreateUserError.Text"), DisplayMessageType.error));
                    }
                }
                else
                {
                    //if user exists and some inputs are null, it fills those with userInfo.
                    if (string.IsNullOrWhiteSpace(user.FirstName))
                    {
                        user.FirstName = userInfo.FirstName.ToStringObj().Trim();
                    }
                    if (string.IsNullOrWhiteSpace(user.LastName))
                    {
                        user.LastName = userInfo.LastName.ToStringObj().Trim();
                    }
                    if (string.IsNullOrWhiteSpace(user.Tel))
                    {
                        user.Tel = userInfo.Profile.Telephone.ToStringObj().Trim();
                    }
                    if (string.IsNullOrWhiteSpace(user.Mobile))
                    {
                        user.Mobile = userInfo.Profile.Cell.ToStringObj().Trim();
                    }
                    if (string.IsNullOrWhiteSpace(user.Email))
                    {
                        user.Email = userInfo.Email.ToStringObj().Trim();
                    }
                }
            }

            using (UserService userService = new UserService())
            {
                if (user.ID != Guid.Empty)
                {
                    resultOperation = userService.Update(user, emailAccount);
                    //It deletes EmailAccount's record from database if user sends all emailAccount's inputs null.
                    if (resultOperation.IsSuccess && emailAccount == null)
                    {
                        using (EmailAccountService emailAccountService = new EmailAccountService())
                        {
                            emailAccount = emailAccountService.GetList((int)sysBpmsEmailAccount.e_ObjectTypeLU.User, user.ID, null).LastOrDefault();
                            if (emailAccount != null)
                            {
                                resultOperation = emailAccountService.Delete(emailAccount.ID);
                            }
                        }
                    }
                }
                else
                {
                    resultOperation = userService.Add(user, emailAccount);
                }
            }

            if (resultOperation.IsSuccess)
            {
                return(new PostMethodMessage(SharedLang.Get("Success.Text"), DisplayMessageType.success));
            }
            else
            {
                return(new PostMethodMessage(resultOperation.GetErrors(), DisplayMessageType.error));
            }
        }
Exemplo n.º 12
0
 public void Update(sysBpmsUser user)
 {
     this.Context.Entry(user).State = EntityState.Modified;
 }
Exemplo n.º 13
0
 public void Add(sysBpmsUser user)
 {
     user.ID = Guid.NewGuid();
     this.Context.sysBpmsUsers.Add(user);
 }