public async Task <IActionResult> Edit(int id, [Bind("ProjectInviteId,DateInvited,DateAccepted,IsActive,SenderId,ReceiverId,ProjectId")] ProjectInvite projectInvite) { if (id != projectInvite.ProjectInviteId) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(projectInvite); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ProjectInviteExists(projectInvite.ProjectInviteId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["ProjectId"] = new SelectList(_context.Project, "ProjectId", "ArtistName", projectInvite.ProjectId); ViewData["ReceiverId"] = new SelectList(_context.ApplicationUsers, "Id", "Id", projectInvite.ReceiverId); ViewData["SenderId"] = new SelectList(_context.ApplicationUsers, "Id", "Id", projectInvite.SenderId); return(View(projectInvite)); }
public void Invite(Company company) { var invite = new ProjectInvite(); invite.Project = this; invite.Company = company; invite.Status = PROJECT_INVITE_STATUS.NEW; }
public async Task <IActionResult> Create([Bind("ProjectInviteId,DateInvited,DateAccepted,IsActive,SenderId,ReceiverId,ProjectId")] ProjectInvite projectInvite) { if (ModelState.IsValid) { _context.Add(projectInvite); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["ProjectId"] = new SelectList(_context.Project, "ProjectId", "ArtistName", projectInvite.ProjectId); ViewData["ReceiverId"] = new SelectList(_context.ApplicationUsers, "Id", "Id", projectInvite.ReceiverId); ViewData["SenderId"] = new SelectList(_context.ApplicationUsers, "Id", "Id", projectInvite.SenderId); return(View(projectInvite)); }
public async Task <IActionResult> InviteMembers(InviteUserViewModel viewmodel) { var user = await GetCurrentUserAsync(); var projectInvite = new ProjectInvite(); projectInvite.DateInvited = DateTime.Now; projectInvite.IsActive = true; projectInvite.SenderId = user.Id; projectInvite.ReceiverId = viewmodel.UserId; projectInvite.ProjectId = viewmodel.ProjectId; _context.Add(projectInvite); await _context.SaveChangesAsync(); return(RedirectToAction("InviteMembers", new { id = viewmodel.ProjectId })); }
public ProjectInvite SendInvite(long companyId) { var invite = new ProjectInvite(); var company = this.DbContext().Company.LoadRelated(c => c.Account).Single(c => c.Id == companyId); invite.ProjectId = this.Id; invite.CompanyId = companyId; invite.Status = PROJECT_INVITE_STATUS.NEW; if (!this.IsLoaded(p => p.Attachments)) { this.Load(this.EntityContext, p => p.Attachments); } string subject = string.Format("You have been invited to give a quote for Project {0}", this.Title); NotificationUtil.SendSystemEmailWithTemplate(company.Account.Email, subject, EMAIL_TEMPLATES.PROJECT_INVITE_TEMPLATE, company.Name, this.Title, this.Id.ToString(), this.Description, this.Attachments.Count > 0 ? this.Attachments.Single().Token.ToString() : null, this.Budget.ToString()); this.DbContext().AddObject(invite); return(invite); }