Exemplo n.º 1
0
        public void AddUserToProject(Guid userId, Guid projectId, bool isProjectAdmin)
        {
            var ps = new ProjectStaffDO();

            ps.ProjectId      = projectId;
            ps.UserId         = userId;
            ps.IsProjectAdmin = isProjectAdmin;
            _projectStaffDao.Create(ps);
        }
        public UserDO CreateSubscription(Subscription subscription, string originalEmail)
        {
            //create Subscription
            var subscriptionDo = _mapper.Map <SubscriptionDO>(subscription);

            subscriptionDo.OriginalEmail = originalEmail;
            _log.InfoFormat("Subscription ID:{0}, subscription created in DB. {1}", subscription.SubscriptionReference,
                            subscriptionDo);

            //create Company
            var company = new CompanyDO();

            if (string.IsNullOrEmpty(subscription.Customer.Company))
            {
                company.Name = $"{subscription.Customer.FirstName} {subscription.Customer.LastName}";
            }
            else
            {
                company.Name = subscription.Customer.Company;
            }
            company.SubscriptionReference = subscriptionDo.SubscriptionReference;
            company.Subscription          = subscriptionDo;
            _companyDao.Create(company);
            _log.InfoFormat("Subscription ID:{0}, company created in DB. {1}", subscription.SubscriptionReference,
                            company);

            //create master User
            var user = new UserDO();

            user.EMail            = subscription.Customer.Email;
            user.FirstName        = subscription.Customer.FirstName;
            user.FamilyName       = subscription.Customer.LastName;
            user.PhoneNumber      = subscription.Customer.PhoneNumber;
            user.IsCompanyAdmin   = true;
            user.CompanyId        = company.CompanyId;
            user.IsPinzSuperAdmin = false;
            user.Password         = RandomPassword.Generate();
            user = _userDao.Create(user);
            _log.InfoFormat("Subscription ID:{0}, user created in DB. {1}", subscription.SubscriptionReference, user);

            //create Project
            var project = new ProjectDO
            {
                CompanyId   = company.CompanyId,
                Name        = "GetStarted",
                Description = "Project to get you started with PINZ! Feel free to rename and use as you like."
            };

            project = _projectDao.Create(project);

            //staff user as admin on project
            var ps = new ProjectStaffDO
            {
                ProjectId      = project.ProjectId,
                UserId         = user.UserId,
                IsProjectAdmin = true
            };

            _projectStaffDao.Create(ps);

            //create tasks
            var categoryAdministration = CreateCategory(project, "Administration");

            CreateTask(categoryAdministration, user, "Rename this project",
                       "In the Outlook Ribbon, click on PINZ tab. Fromo there you can navigate to Administration panel.");

            CreateTask(categoryAdministration, user, "Invite more users",
                       "In the Outlook Ribbon, click on PINZ tab. Fromo there you can navigate to Administration panel.");

            CreateTask(categoryAdministration, user, "Close Tasks",
                       "Close Tasks by ticking the checkboxes in the task list.");

            CreateTask(categoryAdministration, user, "Delete Categories",
                       "Only empty categories can be deleted.");

            var educationAdministration = CreateCategory(project, "Education");

            CreateTask(educationAdministration, user, "Visit Support Page",
                       "Visit our Support Senter at https://pinzonline.zendesk.com for more information.");

            return(user);
        }