public ProjectDO CreateProject(ProjectDO project) { if (CanCreateProject(project.CompanyId)) { return(_projectDao.Create(project)); } throw new InvalidOperationException("Failed to create new Project. Too many projects for this subscription"); }
private CategoryDO CreateCategory(ProjectDO project, string name) { var category1 = new CategoryDO { ProjectId = project.ProjectId, Name = name }; _categoryDao.Create(category1); return(category1); }
public void TestMethod1() { UserDO invitingUser = new UserDO() { EMail = "*****@*****.**" }; ProjectDO project = new ProjectDO() { Name = "testProject" }; InvitationEmailSender.SendProjectInvitation("*****@*****.**", invitingUser, project, "generatedPassword"); }
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); }
public static void SendProjectInvitation(string emailAdress, UserDO invitingUser, ProjectDO project, string generatedPassword) { var smtpClient = CreateSmtpClient(); var mail = new MailMessage { From = new MailAddress("*****@*****.**", "PINZonline") }; //Setting From , To and CC mail.To.Add(new MailAddress(emailAdress)); //Content var invitationFrom = invitingUser.EMail; if (!string.IsNullOrEmpty(invitingUser.FirstName) || !string.IsNullOrEmpty(invitingUser.FamilyName)) { invitationFrom = string.Format("{0} {1}", invitingUser.FirstName, invitingUser.FamilyName); } mail.Subject = "You have been invited to join PinzOnline"; mail.Body = string.Format(ProjectInviteEmailTemplate, invitationFrom, project.Name, emailAdress, generatedPassword); mail.IsBodyHtml = true; smtpClient.Send(mail); }
public void DeleteProject(ProjectDO project) { _projectDao.Delete(project); }
public ProjectDO UpdateProject(ProjectDO project) { return(_projectDao.Update(project)); }