public void Add(ProjectTeamData projectTeamData) { _unitOfWork.BeginTransaction(); _projectTeamRepository.Create(projectTeamData); _unitOfWork.Commit(); }
public void Delete(ProjectTeamData projectTeamData) { _unitOfWork.BeginTransaction(); ProjectTeamData projectTeamDataForDelete = _projectTeamRepository .GetAll() .First(pt => pt.UserData.Id == projectTeamData.UserData.Id && pt.ProjectData.Id == projectTeamData.ProjectData.Id); _projectTeamRepository.Delete(projectTeamDataForDelete.Id); _unitOfWork.Commit(); }
public void ChangeUserRole(ProjectTeamData projectTeamData) { _unitOfWork.BeginTransaction(); ProjectTeamData projectTeamDataForChangeUserRole = _projectTeamRepository .GetAll() .First(pt => pt.UserData.Id == projectTeamData.UserData.Id && pt.ProjectData.Id == projectTeamData.ProjectData.Id); projectTeamDataForChangeUserRole.UserRole = projectTeamData.UserRole; _projectTeamRepository.Update(projectTeamDataForChangeUserRole); _unitOfWork.Commit(); }
public object RemoveMemberFromProject(RemoveMemberViewModel removeMemberViewModel) { if (!ModelState.IsValid) { return(Request.CreateResponse(HttpStatusCode.BadRequest, new BaseResponse(ResponseStatus.ValidationError.ToString(), ModelState.Values.ToList()[0].Errors[0].ErrorMessage))); } CurrentUserInfo currentUserInfo = _tokenHelper.GetUserInfo(); if (!_projectLogic.IsProjectExist(currentUserInfo.Id, removeMemberViewModel.ProjectId)) { return(Request.CreateResponse(HttpStatusCode.NotFound, new BaseResponse(ResponseStatus.Notfound.ToString(), ResponseMessagesModel.ProjectNotFound))); } if (_projectLogic.IsUserProjectCreator(currentUserInfo.Id, removeMemberViewModel.ProjectId)) { return(Request.CreateResponse(HttpStatusCode.MethodNotAllowed, new BaseResponse(ResponseStatus.ValidationError.ToString(), ResponseMessagesModel.PermissionDenied))); } if (!_projectLogic.IsUserAdminOrCreatorOfProject(currentUserInfo.Id, removeMemberViewModel.ProjectId)) { return(Request.CreateResponse(HttpStatusCode.MethodNotAllowed, new BaseResponse(ResponseStatus.ValidationError.ToString(), ResponseMessagesModel.PermissionDenied))); } if (!_accountLogic.IsUserExist(removeMemberViewModel.UserId)) { return(Request.CreateResponse(HttpStatusCode.NotFound, new BaseResponse(ResponseStatus.Notfound.ToString(), ResponseMessagesModel.UserIsNotFound))); } if (!_projectTeamLogic.IsUserExistInProject(removeMemberViewModel.UserId, removeMemberViewModel.ProjectId)) { return(Request.CreateResponse(HttpStatusCode.BadRequest, new BaseResponse(ResponseStatus.ValidationError.ToString(), ResponseMessagesModel.UserIsNotFound))); } ProjectTeamData projectTeamData = RemoveMemberViewModel.GetProjectTeamData(removeMemberViewModel); _projectTeamLogic.Delete(projectTeamData); return(Request.CreateResponse(HttpStatusCode.OK, new BaseResponse(ResponseStatus.Success.ToString(), ResponseMessagesModel.Success))); }
protected void btnUpdate_Click(object sender, EventArgs e) { ProjectTeamData ptd = new ProjectTeamData(); Common common = new Common(); string message; try { for (int i = 0; i < dgTop20Projects.Rows.Count; i++) { CheckBox joinCheckBox = checked((CheckBox)dgTop20Projects.Rows[i].FindControl("JoinProject")); HyperLink titleHyperlink = checked((HyperLink)dgTop20Projects.Rows[i].FindControl("hlProjectTitle")); if (joinCheckBox.Checked) { string subject = "A user has shown interest in your Project: " + titleHyperlink.Text + ", posted on Beta Job Jar website"; //Extract the project Id from the title hyperlink string projectID = titleHyperlink.NavigateUrl.ToString(); projectID = projectID.Substring(31); int length = projectID.Length; length = length - 1; projectID = projectID.Substring(0, length); ptd.AddTeamMember(Convert.ToInt32(projectID), titleHyperlink.Text, dgTop20Projects.Rows[i].Cells[2].Text, Convert.ToInt32(hidUserId.Value), ((TextBox)dgTop20Projects.Rows[i].FindControl("Comments")).Text); string body = "Hi, \n The below user has shown interest in your Project:" + titleHyperlink.Text + " (https://betasandbox.accenture.com/BetaJobJar/Post%20Project.aspx?mode=edit&projectid=" + projectID + ") , posted on Beta Job Jar website. \n\n Name :" + Common.GetUserName() + "\n View People Page Profile (https://people.accenture.com/personal/MySite/Person.aspx?accountname=DIR\\" + Common.GetUserName() + ") \n\n Please visit the website to add the member to your team. \n \n Thanks \n Beta Job Jar Team"; common.SendMail(dgTop20Projects.Rows[i].Cells[2].Text + "@accenture.com", subject, body); } } Response.Redirect(Request.Url.ToString()); } catch (Exception exc) { message = exc.Message.ToString(); ScriptManager.RegisterStartupScript(this, typeof(string), "Error", "alert('" + message + "');", true); } }
public object AddMemberToProject(CreateProjectTeamViewModel createProjectTeamViewModel) { if (!ModelState.IsValid) { return(Request.CreateResponse(HttpStatusCode.BadRequest, new BaseResponse(ResponseStatus.ValidationError.ToString(), ModelState.Values.ToList()[0].Errors[0].ErrorMessage))); } CurrentUserInfo currentUserInfo = _tokenHelper.GetUserInfo(); if (!_projectLogic.IsProjectExist(currentUserInfo.Id, createProjectTeamViewModel.ProjectId)) { return(Request.CreateResponse(HttpStatusCode.NotFound, new BaseResponse(ResponseStatus.Notfound.ToString(), ResponseMessagesModel.ProjectNotFound))); } if (!_projectLogic.IsUserAdminOrCreatorOfProject(currentUserInfo.Id, createProjectTeamViewModel.ProjectId) || createProjectTeamViewModel.UserRole == UserRole.Creator) { return(Request.CreateResponse(HttpStatusCode.MethodNotAllowed, new BaseResponse(ResponseStatus.ValidationError.ToString(), ResponseMessagesModel.PermissionDenied))); } if (!_accountLogic.IsUserExist(createProjectTeamViewModel.EmailAddress.ToLower())) { return(Request.CreateResponse(HttpStatusCode.NotFound, new BaseResponse(ResponseStatus.Notfound.ToString(), ResponseMessagesModel.UserIsNotFound))); } if (_projectTeamLogic.IsUserExistInProject(createProjectTeamViewModel.EmailAddress.ToLower(), createProjectTeamViewModel.ProjectId)) { return(Request.CreateResponse(HttpStatusCode.BadRequest, new BaseResponse(ResponseStatus.ValidationError.ToString(), ResponseMessagesModel.UserAlreadyExistInProject))); } ProjectTeamData projectTeamData = CreateProjectTeamViewModel.GetProjectTeamData( _accountLogic.GetUser(createProjectTeamViewModel.EmailAddress).Id, createProjectTeamViewModel); _projectTeamLogic.Add(projectTeamData); return(Request.CreateResponse(HttpStatusCode.OK, new BaseResponse(ResponseStatus.Success.ToString(), ResponseMessagesModel.Success))); }