Beispiel #1
0
        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());
        }
Beispiel #2
0
        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());
        }
Beispiel #3
0
 /// <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;
 }
Beispiel #4
0
        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;
     }
 }
Beispiel #6
0
        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 }));
        }
Beispiel #7
0
        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);
 }
Beispiel #14
0
        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);
        }
Beispiel #15
0
        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;
            }
        }
Beispiel #18
0
 public ProjectPersonRelationship(ProjectPerson x) : this(x.Project, x.Person, x.ProjectPersonRelationshipType)
 {
 }