private void SetFormFieldData(int tempOrgId) { ProjectOrganization org = new ProjectOrganization(); org.Get(tempOrgId); CICHelper.SetFieldValues(Form.Controls, org); // Set Color if needed string orgColor = org[ProjectOrganization.ColorCode].ToString(); if (!string.IsNullOrEmpty(orgColor)) { ColorCodeBox.Style[HtmlTextWriterStyle.BackgroundColor] = orgColor; } // Set fields in Main table // Labels are assigned IDs based on field names in ProjectOrganization table OrganizationFullName.Text = org[ProjectOrganization.Name].ToString(); foreach (string field in org.FieldNames) { Label fieldValue = DetailsViewLayer.FindControl(field) as Label; if (fieldValue != null) { fieldValue.Text = org[field].ToString(); } } }
/// <summary> /// /// </summary> protected void SetOrganizationLevelView(int orgId) { // Load record from BusinessObject ProjectOrganization org = new ProjectOrganization(); org.Get(orgId); // Set Heading And Hide Grid OrgHeading.Text = "Organization"; OrganizationsGrid.Visible = false; ContactsGrid.Visible = false; OrgAddress.Visible = true; // Set Address OrgName.Text = org[ProjectOrganization.Name].ToString(); OrgShortName.Text = org[ProjectOrganization.ShortName].ToString(); OrgAddress1.Text = org[ProjectOrganization.Address1].ToString(); OrgAddress2.Text = org[ProjectOrganization.Address2].ToString(); OrgCity.Text = org[ProjectOrganization.City].ToString(); OrgState.Text = org[ProjectOrganization.State].ToString(); OrgPostal.Text = org[ProjectOrganization.PostalCode].ToString(); ProjectManagementDa da = new ProjectManagementDa(); // Filter list of contacts in this project by this organization DataView orgsContacts = da.GetAllContactsWithOrgNameByProjectId(projectId).DefaultView; orgsContacts.RowFilter = ProjectOrganization.OrganizationId + " = " + OrganizationId; OrgContactsRptr.DataSource = orgsContacts; OrgContactsRptr.DataBind(); }
/// <summary> /// /// </summary> protected void SetOrganizationTitle() { ProjectOrganization org = new ProjectOrganization(); org.Get(int.Parse(OrganizationId)); OrganizationLabel.Text = org[ProjectOrganization.Name].ToString(); }
private void SetOrganizationDetails(int organizationId) { ProjectOrganization organization = new ProjectOrganization(); organization.Get(organizationId); string name = organization[ProjectOrganization.Name].ToString(); OrganizationName.Text = name; }
private void BuildOrganization(int organizationId) { BOL.ProjectOrganization organization = new ProjectOrganization(); organization.Get(organizationId); CICHelper.SetFieldValues(EditPanel.Controls, organization); // enable buttons UpdateBtn.Text = "Update"; DeleteBtn.Visible = true; }
protected void SaveClick(object sender, EventArgs e) { BOL.ProjectOrganization organization = new ProjectOrganization(); // udpdate if (OrganizationId.HasValue) { organization.Get(OrganizationId.Value); } CICHelper.SetBOValues(EditPanel.Controls, organization, -1); if (!organization.IsEmpty) { organization.Save(); ReloadMain(false); } }
private void SetOrgNameByOrgId(string strOrgId) { if (!string.IsNullOrEmpty(strOrgId)) { ProjectOrganization orgBiz = new ProjectOrganization(); int nOrgId = -1; nOrgId = Int32.Parse(strOrgId); orgBiz.Get(nOrgId); //if (orgBiz.RecordCount > 0) if (!orgBiz.IsEmpty) { Organization.Text = orgBiz["Name"].ToString(); } } }
private void SaveProject(bool addToProject) { ProjectOrganization org = new ProjectOrganization(); bool isNew = true; if (orgId != -1) { isNew = false; org.Get(orgId); } CICHelper.SetBOValues(Form.Controls, org, 0); org.Save(); // Ensure color picker box color if (!string.IsNullOrEmpty(ColorCode.Value)) { ColorCodeBox.Style[HtmlTextWriterStyle.BackgroundColor] = ColorCode.Value; } OrganizationFullName.Text = org[ProjectOrganization.Name].ToString(); int nOriginalOrgId = orgId; orgId = Int32.Parse(org[ProjectOrganization.OrganizationId].ToString()); OrgIdField.Value = org[ProjectOrganization.OrganizationId].ToString(); SetFormState(false); if (addToProject) { // Check if this is a new organization and the user wants to assign this organization to the project AddOrgToProject(nOriginalOrgId); } RefreshMainList(false); }
// TODO: REFACTOR to Controller/DA private string GenerateStudyIdByOrganization(int protocolId, string protocolNum, int organizationId) { string generatedStudyId = string.Empty; int parseValue = -1; string strippedProtocolNum = protocolNum.Contains("-") ? protocolNum.Substring(protocolNum.LastIndexOf("-") + 1) : protocolNum; // cleanup version #, i.e., v1 if (strippedProtocolNum.Length > 0) { var words = strippedProtocolNum.Split(' '); if (words.Length > 0) { strippedProtocolNum = words[0]; } } if (int.TryParse(strippedProtocolNum, out parseValue)) { // note: retain padded 0s in full protocol # string normalizedProtocolNum = strippedProtocolNum; var organization = new ProjectOrganization(); organization.Get(organizationId); string orgNum = organization[ProjectOrganization.OrgNum].ToString(); // validation: requires OrgNum if (!string.IsNullOrEmpty(orgNum)) { // get a list of all Patients on Protocol var patientProtocols = BusinessObject.GetByFields <PatientProtocol>(new Dictionary <string, object> { { PatientProtocol.ProtocolId, protocolId } }); List <int> normalizedStudyIds = new List <int>(); // for each patient, collection StudyId for trial foreach (var patientProtocol in patientProtocols) { // full compound id string fullStudyId = patientProtocol[PatientProtocol.PtProtocolStudyId].ToString(); // strip last 3 numbers for patient seq # if (fullStudyId.Length >= 3) { string normalizedStudyId = fullStudyId.Substring(fullStudyId.Length - 3, 3); // validate int, add to collection if (int.TryParse(normalizedStudyId, out parseValue)) { normalizedStudyIds.Add(int.Parse(normalizedStudyId)); } } } // default int nextNormalizedStudyId = 1; // increment if patients currently assigned if (normalizedStudyIds.Count() > 0) { // get next study id (current MAX + 1) // TODO: MAX (i.e., 1, 2, 15, 16, then 17) or NEXT (i.e., 1, 2, 15, 16, then 3) int maxNormalizedStudyId = normalizedStudyIds.Max(); nextNormalizedStudyId = maxNormalizedStudyId + 1; } // FORMAT: 2 digit org num + 3 digit protocol id + 3 digit incremental subject id string nextFullStudyId = string.Format("{0:d2}{1:d3}{2:d3}", orgNum, normalizedProtocolNum, nextNormalizedStudyId); return(nextFullStudyId); } } return(generatedStudyId); }
/// <summary> /// Builds an organzational level Gant Chart where items on chart represents each /// stage belonging to the organization /// </summary> /// <param name="chart"></param> /// <param name="projectId"></param> /// <param name="organizationId"></param> public static void BuildOrganizationLevelGantChart(GantChart chart, int projectId, int organizationId) { ProjectOrganization orgBiz = new ProjectOrganization(); orgBiz.Get(organizationId); string gantTitle = "Stages for [" + orgBiz[ProjectOrganization.Name].ToString() + "]"; chart.GantTitle = gantTitle; ProjectManagementDa da = new ProjectManagementDa(); DataTable orgStages = da.GetStagesByProjectAndOrganization(projectId, organizationId); // Loop through all stages in this organization foreach (DataRow orgStage in orgStages.Rows) { string stageName = orgStage[ProjectStage.Name].ToString(); string stageColor = orgStage[ProjectStage.ColorCode].ToString(); DateTime startDate = DateTime.MinValue; DateTime endDate = DateTime.MaxValue; //ProjectStageEvent stageEventBiz = new ProjectStageEvent(); //stageEventBiz.GetByParent(int.Parse(orgStage[ProjectStage.StageId].ToString())); //DataTable orgStageEvents = stageEventBiz.DataSourceView.Table; DataView orgStageEventsView = BusinessObject.GetByParentAsDataView <ProjectStageEvent>((int)orgStage[ProjectStage.StageId]); DataTable orgStageEvents = orgStageEventsView.Table; // Increment total events by adding events in this stage int totalStageEventsForStage = orgStageEvents.Rows.Count; int totalCompletedStageEvents = 0; // Loop though all events in this stage foreach (DataRow orgStageEvent in orgStageEvents.Rows) { bool hasStart = false; bool hasEnd = false; if (orgStageEvent[ProjectStageEvent.EventStartDate] != null) { if (!string.IsNullOrEmpty(orgStageEvent[ProjectStageEvent.EventStartDate].ToString())) { DateTime recordStartDate = (DateTime)orgStageEvent[ProjectStageEvent.EventStartDate]; hasStart = true; if (startDate == DateTime.MinValue || recordStartDate < startDate) { startDate = recordStartDate; } } } if (orgStageEvent[ProjectStageEvent.EventEndDate] != null) { if (!string.IsNullOrEmpty(orgStageEvent[ProjectStageEvent.EventEndDate].ToString())) { DateTime recordEndDate = (DateTime)orgStageEvent[ProjectStageEvent.EventEndDate]; hasEnd = true; if (endDate == DateTime.MaxValue || recordEndDate > endDate) { endDate = recordEndDate; } } } if (hasStart && hasEnd) { totalCompletedStageEvents++; } } if (orgStageEvents.Rows.Count > 0) { string stageId = orgStage[ProjectStage.StageId].ToString(); string tableName = "ProjectStage"; GantItem gant = GetGantItem(startDate, endDate, totalStageEventsForStage, totalCompletedStageEvents, tableName, stageId, stageName); if (!string.IsNullOrEmpty(stageColor)) { gant.Color = stageColor; } chart.Controls.Add(gant); } } }