/// <summary> /// Constructor for building a new simple object with the POCO class /// </summary> public ProjectContactSimple(ProjectContact projectContact) : this() { ContactID = projectContact.ContactID; ContactName = projectContact.Contact.GetFullNameFirstLast(); ContactRelationshipTypeID = projectContact.ContactRelationshipTypeID; }
public async Task <IActionResult> UpdateProject(int id, ProjectForUpdateDto projectForUpdateDto) { Project project = await _projectService.GetProject(id); _mapper.Map(projectForUpdateDto, project); if (projectForUpdateDto.ContactList.Count() > 0) { List <ProjectContact> Contacts = new List <ProjectContact>(); foreach (int contactId in projectForUpdateDto.ContactList) { ProjectContact pc = new ProjectContact { ContactId = contactId }; Contacts.Add(pc); } project.Contacts = Contacts; } if (await _projectService.Update(project)) { var projectView = _mapper.Map <ProjectForViewDto>(project); return(Ok(projectView)); } throw new Exception($"Updating project {id} failed on save"); }
public void SaveProjectContactTest() { // The Project Number string projectNumber = "12345.00"; // Try to get the Project Project project = this.repository.FindBy(projectNumber); // Get the old count of Project Contacts int oldCount = project.Contacts.Count; // Get a Contact IContactRepository contactRepository = RepositoryFactory.GetRepository <IContactRepository, Contact>(); object contactKey = "cae9eb86-5a86-4965-9744-18326fd56a3b"; Contact contact = contactRepository.FindBy(contactKey); // Create a Project Contact ProjectContact projectContact = new ProjectContact(project, Guid.NewGuid(), contact); // Save the Project Contact this.repository.SaveContact(projectContact); // Commit the transaction this.unitOfWork.Commit(); // Reload the the Project Project updatedProject = this.repository.FindBy("12345.00"); // Verify that there is a new ProjectContact now Assert.AreEqual(oldCount, updatedProject.Contacts.Count - 1); }
public RoutingItem(object key, Discipline discipline, int routingOrder, ProjectContact recipient, DateTime dateSent) : this(key, discipline, routingOrder, recipient, dateSent, null) { }
public void SaveProjectContactTest() { // Try to get the Project Project project = this.repository.FindAll()[0]; // Get the old count of Project Contacts int oldCount = project.Contacts.Count; // Get a Contact IContactRepository contactRepository = RepositoryFactory.GetRepository <IContactRepository, Contact>(); Contact contact = contactRepository.FindAll()[0]; // Create a Project Contact ProjectContact projectContact = new ProjectContact(project, Guid.NewGuid(), contact); // Save the Project Contact this.repository.SaveContact(projectContact); // Commit the transaction this.unitOfWork.Commit(); // Reload the the Project Project updatedProject = this.repository.FindBy(project.Key); // Verify that there is a new ProjectContact now Assert.AreEqual(oldCount, updatedProject.Contacts.Count - 1); }
internal static CopyTo BuildCopyTo(object projectKey, IDataReader reader) { ProjectContact contact = ProjectService.GetProjectContact(projectKey, reader[FieldNames.ProjectContactId]); return(new CopyTo(contact, reader[FieldNames.Notes].ToString())); }
public RequestForInformation(object key, object projectKey, int number) : base(key, projectKey) { this.number = number; this.from = null; this.dateReceived = null; this.dateRequestedBy = null; this.contractor = null; this.specSection = null; this.question = string.Empty; this.description = string.Empty; this.contractorProposedSolution = string.Empty; this.change = false; this.cause = 0; this.origin = 0; this.status = null; this.dateToField = null; this.shortAnswer = string.Empty; this.longAnswer = string.Empty; this.remarks = string.Empty; this.numberSpecification = new NumberSpecification <RequestForInformation>(); this.dateToFieldSpecification = new RequestForInformationDateSpecification(); this.questionAnswerSpecification = new RequestForInformationQuestionAnswerSpecification(); this.ValidateInitialization(); }
public ProposalRequest(object key, object projectKey, int number) : base(key, projectKey) { this.number = number; this.to = null; this.from = null; this.issueDate = null; this.GetExpectedContractorReturnDays(); this.expectedContractorReturnDate = this.TransmittalDate.AddDays(this.expectedContractorReturnDays); this.contractor = null; this.description = string.Empty; this.attachment = string.Empty; this.reason = string.Empty; this.initiator = string.Empty; this.cause = 0; this.origin = 0; this.remarks = string.Empty; this.numberSpecification = new NumberSpecification <ProposalRequest>(); this.descriptionSpecification = new DescriptionSpecification <ProposalRequest>(); this.ValidateInitialization(); this.brokenRuleMessages = new ProposalRequestRuleMessages(); }
public ConstructionChangeDirective(object key, object projectKey, int number) : base(key, projectKey) { this.number = number; this.to = null; this.from = null; this.issueDate = null; this.contractor = null; this.description = string.Empty; this.attachment = string.Empty; this.reason = string.Empty; this.initiator = string.Empty; this.cause = 0; this.origin = 0; this.remarks = string.Empty; this.changeType = null; this.priceChangeDirection = ChangeDirection.Unchanged; this.amountChanged = 0; this.timeChangeDirection = ChangeDirection.Unchanged; this.timeChanged = 0; this.ownerSignatureDate = null; this.architectSignatureDate = null; this.contractorSignatureDate = null; this.numberSpecification = new NumberSpecification <ConstructionChangeDirective>(); this.descriptionSpecification = new DescriptionSpecification <ConstructionChangeDirective>(); this.changeOrderKey = null; this.ValidateInitialization(); this.brokenRuleMessages = new ConstructionChangeDirectiveRuleMessages(); }
private void NewCommandHandler(object sender, EventArgs e) { ProjectContact contact = new ProjectContact(UserSession.CurrentProject, null, new Contact(null, "{First Name}", "{Last Name}")); this.contactList.Add(contact); this.contacts.Refresh(); this.contacts.MoveCurrentToLast(); }
public ProjectContactViewModel(IView view) : base(view) { contactList = UserSession.CurrentProject.Contacts; contacts = new CollectionView(contactList); currentContact = null; companies = new CollectionView(CompanyService.GetAllCompanies()); this.saveCommand = new DelegateCommand(SaveCommandHandler); this.newCommand = new DelegateCommand(NewCommandHandler); }
internal static ProjectContact BuildProjectContact(Project project, IDataReader reader) { ProjectContact contact = new ProjectContact(project, DataHelper.GetGuid(reader[FieldNames.ProjectContactId]), ContactService.GetContact(reader[FieldNames.ContactId])); contact.OnFinalDistributionList = DataHelper.GetBoolean(reader[FieldNames.OnFinalDistributionList]); return(contact); }
public RoutingItem(object key, Discipline discipline, int routingOrder, ProjectContact recipient, DateTime dateSent, DateTime?dateReturned) { this.key = key; this.discipline = discipline; this.routingOrder = routingOrder; this.recipient = recipient; this.dateSent = dateSent; this.DateReturned = dateReturned; }
protected void PersistUpdateItem(ProjectContact item) { StringBuilder builder = GetBaseQueryBuilder(); builder.Append("UPDATE ProjectContact SET "); builder.Append(string.Format("{0} = {1}", ProjectFactory.FieldNames.ProjectId, DataHelper.GetSqlValue(item.Project))); builder.Append(string.Format("{0} = {1}", ContactFactory.FieldNames.ContactId, DataHelper.GetSqlValue(item.Contact))); builder.Append(string.Format("{0} = {1}", ProjectFactory.FieldNames.OnFinalDistributionList, DataHelper.GetSqlValue(item.OnFinalDistributionList))); builder.Append(" "); builder.Append(this.BuildBaseWhereClause(item.Key)); }
protected void PersistDeletedItem(ProjectContact contact) { StringBuilder builder = new StringBuilder(100); builder.Append("UPDATE ProjectContact SET "); builder.Append(string.Format("{0} = {1}", ProjectFactory.FieldNames.OnFinalDistributionList, DataHelper.GetSqlValue(contact.OnFinalDistributionList))); builder.Append(" "); builder.Append(string.Format("WHERE ProjectContactID = '{0}'", contact.Key)); this.Database.ExecuteNonQuery(this.Database.GetSqlStringCommand(builder.ToString())); }
internal static RoutingItem BuildRoutingItem(object projectKey, IDataReader reader) { ProjectContact contact = ProjectService.GetProjectContact(projectKey, reader[FieldNames.ProjectContactId]); return(new RoutingItem(reader[FieldNames.RoutingItemId], TransmittalFactory.BuildDiscipline(reader), DataHelper.GetInteger(reader[FieldNames.RoutingOrder]), contact, DataHelper.GetDateTime(reader[FieldNames.DateSent]), DataHelper.GetNullableDateTime(reader[FieldNames.DateReturned]))); }
public bool AddProjectContact(ProjectContact projectContact) { try { _projectContactService.InsertProjectContact(projectContact); return(true); } catch { return(false); } }
public void SaveContact(ProjectContact contact) { List <ProjectContact> contacts = new List <ProjectContact>(this.FindBy(contact.Project.Key).Contacts); if (contacts.Where(c => c.Key.Equals(contact.Key)).Count() > 0) { this.UnitOfWork.RegisterChanged(contact, this); } else { this.UnitOfWork.RegisterAdded(contact, this); } }
public MutableCopyTo(CopyTo copyTo) { if (copyTo != null) { this.projectContact = copyTo.Contact; this.notes = copyTo.Notes; } else { this.projectContact = null; this.notes = string.Empty; } }
public override void PersistDeletedItem(IEntity item) { Project project = item as Project; if (project != null) { this.PersistDeletedItem(project); } else { ProjectContact contact = item as ProjectContact; this.PersistDeletedItem(contact); } }
public async Task FindByCompositeKeyTest() { Assert.NotNull(dbc = new DBContext(settings.Database.ConnectionString, logger)); ProjectContactRepository repos = new ProjectContactRepository(settings, logger, dbc); int projectId = 1; int contactId = 2; ProjectContact pc = await repos.FindByPK(new PrimaryKey() { CompositeKey = new object[] { projectId, contactId }, IsComposite = true }); Assert.NotNull(pc); }
protected void PersistNewItem(ProjectContact contact) { StringBuilder builder = new StringBuilder(100); builder.Append(string.Format("INSERT INTO ProjectContact ({0}, {1}, {2}) ", ProjectFactory.FieldNames.ProjectId, ContactFactory.FieldNames.ContactId, contact.OnFinalDistributionList)); builder.Append(string.Format("VALUES ({0}, {1}, {2});", DataHelper.GetSqlValue(contact.Project.Key), DataHelper.GetSqlValue(contact.Contact.Key), DataHelper.GetSqlValue(contact.OnFinalDistributionList))); this.Database.ExecuteNonQuery(this.Database.GetSqlStringCommand(builder.ToString())); }
public ReportTemplateProjectContactModel(ProjectContact projectContact) { // Private properties ProjectContact = projectContact; Organization = ProjectContact.Contact.Organization; // Public properties FullName = ProjectContact.Contact.GetFullNameFirstLast(); FirstName = ProjectContact.Contact.FirstName; LastName = ProjectContact.Contact.LastName; Email = ProjectContact.Contact.Email; Phone = ProjectContact.Contact.Phone; ContactType = ProjectContact.ContactRelationshipType.ContactRelationshipTypeName; }
public async Task <ProjectContact> AddContactAsync(int projectId, int contactId) { // var project = _context.Projects.SingleOrDefaultAsync(x => x.ProjectId == projectId); // var contact = _context.Contacts.SingleOrDefaultAsync(x => x.ContactId == contactId); var item = new ProjectContact() { ProjectId = projectId, ContactId = contactId }; var result = await _context.ProjectContacts.AddAsync(item); await _context.SaveChangesAsync(); return(item); }
public void SaveContact(ProjectContact contact) { // Get the list of contacts List <ProjectContact> contacts = new List <ProjectContact>( this.FindBy(contact.Project.Key).Contacts); if (contacts.Where(c => c.Key.Equals(contact.Key)).Count() > 0) { // The contact exists, so update it this.UnitOfWork.RegisterChanged(contact, this); } else { // The contact is new, so add it this.UnitOfWork.RegisterAdded(contact, this); } }
public void Get([FromQuery] int projectId, [FromQuery] int contactId) { var project = _db.Projects.Where(p => p.Id == projectId).SingleOrDefault(); var contact = _db.Contacts.Where(c => c.Id == contactId).SingleOrDefault(); bool existingProjectContact = _db.ProjectContacts.Any(pc => pc.ContactId == contactId && pc.ProjectId == projectId); if (project == null || contact == null || existingProjectContact) { throw new ValidationException("Incorrect input"); } var projectContact = new ProjectContact() { ProjectId = projectId, ContactId = contactId }; _db.ProjectContacts.Add(projectContact); _db.SaveChanges(); }
public Submittal(object key, SpecificationSection specSection, object projectKey) : base(key, projectKey) { this.specSection = specSection; this.specSectionPrimaryIndex = "01"; this.specSectionSecondaryIndex = "00"; this.to = null; this.from = null; this.dateReceived = null; this.contractNumber = string.Empty; this.trackingItems = new List <TrackingItem>(); this.remarks = string.Empty; this.action = ActionStatus.NoExceptionTaken; this.status = null; this.dateToField = null; this.remainderLocation = SubmittalRemainderLocation.None; this.remainderUnderSubmittalNumber = string.Empty; this.otherRemainderLocation = string.Empty; this.ValidateInitialization(); }
public void SaveContactTest() { string projectNumber = "12345.00"; Project project = repository.FindBy(projectNumber); int oldCount = project.Contacts.Count; IUnitOfWork contactUnitOfWork = new UnitOfWork(); IContactRepository contactRepository = RepositoryFactory.GetRepository <IContactRepository, Contact>(unitOfWork); object contactKey = "“cae9eb86-5a86-4965-9744-18326fd56a3b"; Contact contact = contactRepository.FindBy(contactKey); ProjectContact projectContact = new ProjectContact(project, Guid.NewGuid(), contact); this.repository.SaveContact(projectContact); this.unitOfWork.Commit(); Project updatedProject = this.repository.FindBy(projectNumber); Assert.AreEqual(oldCount, updatedProject.Contacts.Count - 1); }
public CopyTo(ProjectContact contact, string notes) { this.contact = contact; this.notes = notes; }
public void SaveContact(ProjectContact contact) { throw new Exception("The method or operation is not implemented."); }