public async Task <IActionResult> DeleteMemberFromProject(int id, ProjectAddViewModel project) { if (ModelState.IsValid) { var proj = await _context.Projects.SingleOrDefaultAsync(c => c.ProjectID == id); var client = await _context.Members.SingleOrDefaultAsync(c => c.ID == project.SelectID); var cliToAdd = new ProjectPerson { Project = proj, ProjectID = project.PAVID, Person = client, PersonID = client.ID }; _context.ProjectPersons.Remove(cliToAdd); await _context.SaveChangesAsync(); return(RedirectToRoute("removeFromProj")); } return(NotFound()); }
public IActionResult RemoveClient(int id, [Bind("SelectID", "ProjID")] ProjectDetailViewModel project) { if (ModelState.IsValid) { var proj = _context.Projects.SingleOrDefault(c => c.ProjectID == id); var client = _context.Clients.SingleOrDefault(c => c.ID == project.SelectID); var cliToAdd = new ProjectPerson { Project = proj, ProjectID = id, Person = client, PersonID = client.ID }; _context.ProjectPersons.Remove(cliToAdd); _context.SaveChanges(); return(RedirectToRoute(new { controller = "Project", action = "Details", id = id })); } return(NotFound()); }
/// <summary> /// Constructor for building a new simple object with the POCO class /// </summary> public ProjectPersonSimple(ProjectPerson projectPerson) : this() { PersonID = projectPerson.PersonID; PersonName = projectPerson.Person.FullNameFirstLast; ProjectPersonRelationshipTypeID = projectPerson.ProjectPersonRelationshipTypeID; }
public async Task <IActionResult> AddClientToProject(int id, ProjectAddViewModel project) { if (ModelState.IsValid) { var proj = await _context.Projects.SingleOrDefaultAsync(c => c.ProjectID == id); var client = await _context.Clients.SingleOrDefaultAsync(c => c.ID == project.SelectID); var cliToAdd = new ProjectPerson { Project = proj, ProjectID = project.PAVID, Person = client, PersonID = client.ID }; _context.ProjectPersons.Add(cliToAdd); await _context.SaveChangesAsync(); return(RedirectToRoute(new { controller = "Project", action = "Details", id = id })); } return(NotFound()); }
public ProjectPerson SaveProjectPerson(ProjectPerson _pp) { try { using (var context = new ProjectManagementEntities()) { context.ProjectPerson.Add(_pp); int numberOfInserted = context.SaveChanges(); return(numberOfInserted > 0 ? _pp : null); } } catch (Exception exc) { throw exc; } }
public ActionResult SavePerson(ProjectPerson person) { if (person.SeqNO == 0) {//新增 int maxOne = db.ProjectPerson.Where(x => x.ProjectId == person.ProjectId).OrderByDescending(x => x.SeqNO).Select(x => x.SeqNO).FirstOrDefault(); person.SeqNO = maxOne + 1; person.InDateTime = DateTime.Now; person.InUserId = UserInfo.InUserId; db.ProjectPerson.Add(person); } else { db.Entry(person).State = EntityState.Modified; } db.SaveChanges(); return(Json(new { Status = true, Data = person })); }
public FileContentResult CostShareAgreementPdf(ProjectPersonPrimaryKey projectPersonPrimaryKey) { string blankCostSharePdfFilePath = BlankCostSharePdfFilePath(); byte[] binaryContentsOfOutputPdfFile; string outputFileName; ProjectPerson landownerProjectPerson = projectPersonPrimaryKey.EntityObject; Person landownerPerson = landownerProjectPerson.Person; Check.Ensure(landownerProjectPerson.ProjectPersonRelationshipType == ProjectPersonRelationshipType.PrivateLandowner, $"Only expecting Landowner contacts here. {landownerProjectPerson.Person.FullNameFirstLast} is a {landownerProjectPerson.ProjectPersonRelationshipType} on Project {landownerProjectPerson.Project.DisplayName}."); using (var outputPdfFile = DisposableTempFile.MakeDisposableTempFileEndingIn(".pdf")) { PdfDocument pdf = new PdfDocument(new PdfReader(blankCostSharePdfFilePath), new PdfWriter(outputPdfFile.FileInfo.FullName)); PdfAcroForm form = PdfAcroForm.GetAcroForm(pdf, true); IDictionary <String, PdfFormField> fields = form.GetFormFields(); var landownerName = landownerPerson.FullNameFirstLast; outputFileName = $"CostShareAgreement-{landownerName.Replace(" ", "")}.pdf"; fields.TryGetValue("Names", out var nameToSet); nameToSet?.SetValue(MakeEmptyStringForNullString(landownerName)); fields.TryGetValue("Address1", out var address1); address1?.SetValue(MakeEmptyStringForNullString(landownerPerson.PersonAddress)); fields.TryGetValue("Address2", out var address2); address2?.SetValue(MakeEmptyStringForNullString(string.Empty)); fields.TryGetValue("PhoneNumber", out var phoneToSet); phoneToSet?.SetValue(MakeEmptyStringForNullString(landownerPerson.Phone)); fields.TryGetValue("Email", out var emailToSet); emailToSet?.SetValue(MakeEmptyStringForNullString(landownerPerson.Email)); form.FlattenFields(); pdf.Close(); binaryContentsOfOutputPdfFile = System.IO.File.ReadAllBytes(outputPdfFile.FileInfo.FullName); } return(File(binaryContentsOfOutputPdfFile, "application/pdf", outputFileName)); }
/// <summary> /// Adds the onsite developer. /// </summary> /// <param name="presenter">The presenter.</param> /// <param name="selectedPersonId">The selected person identifier.</param> /// <param name="projectPerson">The project person.</param> /// <param name="selectedRole">The selected role.</param> /// <param name="developerItem">The developer item.</param> private static void AddOnsiteDeveloper(ProjectPresenter presenter, string selectedPersonId, ProjectPerson projectPerson, LookupItem selectedRole, Developer developerItem) { projectPerson = new ProjectPerson(); projectPerson.PointOfContactFlag = presenter.PointContactFlag; projectPerson.ProjectID = presenter.Project.ProjectID; projectPerson.ModifiedByDeveloperID = SessionData.Instance.UserInfo.Developer.DeveloperID; projectPerson.ModifiedDate = DateTime.Now; projectPerson.Email = developerItem.Email; projectPerson.Skype = developerItem.Skype; projectPerson.RoleName = selectedRole.Name; projectPerson.RoleID = selectedRole.ID; projectPerson.Name = developerItem.Name; projectPerson.PersonID = Convert.ToInt32(selectedPersonId, CultureInfo.CurrentCulture); projectPerson.PersonType = Persontype.OnSiteTeam; projectPerson.DeveloperImage = developerItem.LoginID.RetrieveDeveloperImageName(); projectPerson.ApplicationEntityState = ApplicationEntityState.Added; presenter.Project.ProjectPersons.Add(projectPerson); }
/// <summary> /// Inserts or updates the project person. /// </summary> /// <param name="projectPerson">The project person.</param> public void InsertOrUpdateProjectPerson(ProjectPerson projectPerson) { if (projectPerson == null) { throw new ArgumentNullException(ProjectPersonConstant); } if (projectPerson.PersonID == default(int)) { this.unitOfWork.Context.ProjectPersons.Add(projectPerson); } else { projectPerson.ApplicationEntityState = ApplicationEntityState.Modified; this.unitOfWork.Context.ProjectPersons.Attach(projectPerson); this.unitOfWork.Context.ApplyStateChanges(); } }
/// <summary> /// Maps the project list item to project person. /// </summary> /// <param name="projectPersonlistItem">The project person list item.</param> /// <param name="presenter">The presenter.</param> /// <returns>person detail</returns> private ProjectPerson MapProjectListItemToProjectPerson(ProjectPersonListItem projectPersonlistItem, ProjectPresenter presenter) { ProjectPerson person = new ProjectPerson(); var selectedRole = projectPersonlistItem.RoleID.HasValue ? presenter.Roles.FirstOrDefault(e => e.ID == projectPersonlistItem.RoleID) : new LookupItem { ID = -1 }; person.Email = projectPersonlistItem.Email; person.Skype = projectPersonlistItem.Skype; person.ApplicationEntityState = ApplicationEntityState.Modified; person.ModifiedByDeveloperID = projectPersonlistItem.ModifiedByDeveloperID; person.ModifiedDate = DateTime.Now; person.Name = projectPersonlistItem.Name; person.PersonID = projectPersonlistItem.StakeHolderID; person.PersonType = projectPersonlistItem.PersonType; person.PointOfContactFlag = projectPersonlistItem.PointOfContactFlag; person.ProjectID = projectPersonlistItem.ProjectID; person.RoleID = selectedRole.ID; person.RoleName = selectedRole.Name; person.ProjectPersonID = projectPersonlistItem.ProjectPersonID; this.MapDeveloperImage(projectPersonlistItem, person); return person; }
/// <summary> /// Maps the developer image. /// </summary> /// <param name="projectPersonlistItem">The project person list item.</param> /// <param name="person">The person.</param> private void MapDeveloperImage(ProjectPersonListItem projectPersonlistItem, ProjectPerson person) { if (person.PersonType == Persontype.OnSiteTeam) { var developerItem = this.developerService.RetrieveById(Convert.ToInt32(projectPersonlistItem.StakeHolderID)); person.DeveloperImage = developerItem.LoginID.RetrieveDeveloperImageName(); } else if (person.PersonType == Persontype.StakeHolder) { var stackHolderItem = this.projectStakeHolderService.RetrieveStackHolderById(Convert.ToInt32(projectPersonlistItem.StakeHolderID)); person.DeveloperImage = stackHolderItem.Skype.RetrieveStackHolderImageName(); } }
/// <summary> /// Saves the project person. /// </summary> /// <param name="projectPerson">The project person.</param> public void InsertOrUpdateProjectPerson(ProjectPerson projectPerson) { if (projectPerson == null) { throw new ArgumentNullException(ProjectPersonConst); } this.projectStackHolderRepository.InsertOrUpdateProjectPerson(projectPerson); this.unitOfWork.Save(); }
/// <summary> /// Updates the stack holder. /// </summary> /// <param name="presenter">The presenter.</param> /// <param name="selectedPersonId">The selected person identifier.</param> /// <param name="stackHolderItem">The stack holder item.</param> /// <param name="projectPerson">The project person.</param> /// <param name="selectedRole">The selected role.</param> private static void UpdateStackHolder(ProjectPresenter presenter, string selectedPersonId, StackHolder stackHolderItem, ProjectPerson projectPerson, LookupItem selectedRole) { projectPerson.PointOfContactFlag = presenter.PointContactFlag; projectPerson.ProjectID = presenter.Project.ProjectID; projectPerson.ModifiedByDeveloperID = SessionData.Instance.UserInfo.Developer.DeveloperID; projectPerson.ModifiedDate = DateTime.Now; projectPerson.RoleName = selectedRole.Name; projectPerson.RoleID = selectedRole.ID; projectPerson.Name = stackHolderItem.FirstName; projectPerson.Email = stackHolderItem.Email; projectPerson.Skype = stackHolderItem.Skype; projectPerson.PersonID = Convert.ToInt32(selectedPersonId, CultureInfo.CurrentCulture); projectPerson.PersonType = Persontype.StakeHolder; projectPerson.DeveloperImage = stackHolderItem.Skype.RetrieveStackHolderImageName(); projectPerson.ApplicationEntityState = projectPerson.ProjectPersonID > 0 ? ApplicationEntityState.Modified : ApplicationEntityState.Added; presenter.Project.ProjectPersons.Where(a => a.PersonID == Convert.ToInt32(selectedPersonId)).Select(a => a = projectPerson); }
public Project SelectById(int id) { Project p = null; List <Project> list = null; DataProvider.ExecuteCmd(GetConnection, "dbo.Project_SelectById", inputParamMapper : delegate(SqlParameterCollection paramCollection) { paramCollection.AddWithValue("@Id", id); } , map : delegate(IDataReader reader, short set) { int startingIndex = 0; //startingOrdinal switch (set) { case 0: p = new Project(); p.Id = reader.GetSafeInt32(startingIndex++); p.ProjectName = reader.GetSafeString(startingIndex++); p.Description = reader.GetSafeString(startingIndex++); p.Budget = reader.GetSafeDecimalNullable(startingIndex++); p.Deadline = reader.GetSafeDateTimeNullable(startingIndex++); p.DateCreated = reader.GetSafeDateTime(startingIndex++); p.DateModified = reader.GetSafeDateTime(startingIndex++); p.ProjectStatusId = reader.GetSafeInt32(startingIndex++); p.Status = reader.GetSafeString(startingIndex++); p.CompanyId = reader.GetSafeInt32(startingIndex++); p.AmountToDate = reader.GetSafeDecimal(startingIndex++); p.TrelloBoardId = reader.GetSafeString(startingIndex++); p.TrelloBoardUrl = reader.GetSafeString(startingIndex++); if (list == null) { list = new List <Project>(); } list.Add(p); break; case 1: ProjectPerson pp = new ProjectPerson(); int ord = 0; int projectId = reader.GetSafeInt32(ord++); pp.Person = new PersonBase(); pp.Person.Id = reader.GetSafeInt32(ord++); pp.IsLeader = reader.GetSafeBool(ord++); pp.StatusId = reader.GetSafeInt32(ord++); pp.ProjectPersonStatus = reader.GetSafeString(ord++); pp.Person.FirstName = reader.GetSafeString(ord++); pp.Person.LastName = reader.GetSafeString(ord++); pp.Person.PhoneNumber = reader.GetSafeString(ord++); pp.Person.Email = reader.GetSafeString(ord++); pp.Person.PhotoKey = reader.GetSafeString(ord++); pp.HourlyRate = reader.GetSafeDecimal(ord++); Project parentProject = list.Find(x => x.Id == projectId); if (parentProject.Staff == null) { parentProject.Staff = new List <ProjectPerson>(); } parentProject.Staff.Add(pp); break; } } ); return(p); }
public List <Project> SelectAll() { List <Project> list = null; DataProvider.ExecuteCmd(GetConnection, "dbo.Project_SelectAll" , inputParamMapper : null , map : delegate(IDataReader reader, short set) { switch (set) { case 0: Project p = new Project(); int startingIndex = 0; p.Id = reader.GetSafeInt32(startingIndex++); p.ProjectName = reader.GetSafeString(startingIndex++); p.Description = reader.GetSafeString(startingIndex++); p.Budget = reader.GetSafeDecimal(startingIndex++); p.Deadline = reader.GetSafeDateTime(startingIndex++); p.DateCreated = reader.GetSafeDateTime(startingIndex++); p.DateModified = reader.GetSafeDateTime(startingIndex++); p.ProjectStatusId = reader.GetSafeInt32(startingIndex++); p.Status = reader.GetSafeString(startingIndex++); p.CompanyId = reader.GetSafeInt32(startingIndex++); p.AmountToDate = reader.GetSafeDecimal(startingIndex++); if (list == null) { list = new List <Project>(); } list.Add(p); break; case 1: ProjectPerson pp = new ProjectPerson(); int ord = 0; int projectId = reader.GetSafeInt32(ord++); pp.Person = new PersonBase(); pp.Person.Id = reader.GetSafeInt32(ord++); pp.IsLeader = reader.GetSafeBool(ord++); pp.StatusId = reader.GetSafeInt32(ord++); pp.ProjectPersonStatus = reader.GetSafeString(ord++); pp.Person.FirstName = reader.GetSafeString(ord++); pp.Person.LastName = reader.GetSafeString(ord++); pp.Person.PhoneNumber = reader.GetSafeString(ord++); pp.Person.Email = reader.GetSafeString(ord++); Project parentProject = list.Find(x => x.Id == projectId); if (parentProject.Staff == null) { parentProject.Staff = new List <ProjectPerson>(); } parentProject.Staff.Add(pp); break; } } ); return(list); }
/// <summary> /// Function to delete project person information. /// </summary> /// <param name="id">Project Person id</param> public void DeleteProjectPerson(int id) { var projectPerson = new ProjectPerson { PersonID = id }; this.unitOfWork.Context.Entry(projectPerson).State = EntityState.Deleted; }
public JsonResult SaveProject(string _titleProject, string _code, string _shortname, string _description, int _personId, int _projectId, List <int> _projeKisi) { try { if (_projectId == 0) { var project = new Project() { Name = _titleProject, Code = _code, ShortName = _shortname, Description = _description, ProjectLeader = _personId, Status = 1 }; var result = ProjectDB.GetInstance().SaveProject(project); var currentPersonId = JsonConvert.DeserializeObject <Person>(HttpContext.Session.GetString("ActivePerson")).Id; if (!_projeKisi.Contains(currentPersonId)) { _projeKisi.Add(currentPersonId); } for (int i = 0; i < _projeKisi.Count; i++) { var projeKisi = new ProjectPerson() { ProjectId = result.Id, PersonId = _projeKisi[i] }; var ppResult = ProjectDB.GetInstance().SaveProjectPerson(projeKisi); } Board b = new Board() { Name = "YAPILACAK", ProjectId = result.Id, Status = 1 }; BoardDB.GetInstance().SavePano(b); b = new Board() { Name = "YAPILIYOR", ProjectId = result.Id, Status = 1 }; BoardDB.GetInstance().SavePano(b); b = new Board() { Name = "TAMAMLANDI", ProjectId = result.Id, Status = 1 }; BoardDB.GetInstance().SavePano(b); return(Json(result != null)); } else { var project = new Project() { Name = _titleProject, Code = _code, ShortName = _shortname, Description = _description, ProjectLeader = _personId, Id = _projectId, Status = 1 }; var delete = ProjectDB.GetInstance().DeleteProjectPersonByProjectId(_projectId); var currentPersonId = JsonConvert.DeserializeObject <Person>(HttpContext.Session.GetString("ActivePerson")).Id; if (!_projeKisi.Contains(currentPersonId)) { _projeKisi.Add(currentPersonId); } for (int i = 0; i < _projeKisi.Count; i++) { var projeKisi = new ProjectPerson() { ProjectId = _projectId, PersonId = _projeKisi[i] }; var ppResult = ProjectDB.GetInstance().SaveProjectPerson(projeKisi); } var result = ProjectDB.GetInstance().UpdateProject(project); return(Json(result != null)); } } catch (Exception exc) { throw exc; } }
public ProjectPersonRelationship(ProjectPerson x) : this(x.Project, x.Person, x.ProjectPersonRelationshipType) { }