Example #1
0
        /// <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>
 /// Constructor for building a new simple object with the POCO class
 /// </summary>
 public ProjectOrganizationSimple(ProjectOrganization projectOrganization)
     : this()
 {
     OrganizationID     = projectOrganization.OrganizationID;
     OrganizationName   = projectOrganization.Organization.OrganizationName;
     RelationshipTypeID = projectOrganization.RelationshipTypeID;
 }
Example #3
0
        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();
                }
            }
        }
Example #4
0
        /// <summary>
        ///
        /// </summary>
        protected void SetOrganizationTitle()
        {
            ProjectOrganization org = new ProjectOrganization();

            org.Get(int.Parse(OrganizationId));
            OrganizationLabel.Text = org[ProjectOrganization.Name].ToString();
        }
Example #5
0
 protected void DeleteClick(object sender, EventArgs e)
 {
     if (OrganizationId.HasValue)
     {
         BOL.ProjectOrganization organization = new ProjectOrganization();
         organization.Delete(OrganizationId.Value);
         ReloadMain(true);
     }
 }
        private void SetOrganizationDetails(int organizationId)
        {
            ProjectOrganization organization = new ProjectOrganization();

            organization.Get(organizationId);

            string name = organization[ProjectOrganization.Name].ToString();

            OrganizationName.Text = name;
        }
Example #7
0
        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;
        }
Example #8
0
        protected void DeleteClick(object sender, CommandEventArgs e)
        {
            ProjectOrganization biz = new ProjectOrganization();

            biz.Delete(orgId);

            LoadBlankForm();
            SetFormState(true);

            RefreshMainList(true);
        }
Example #9
0
        public ReportTemplateProjectOrganizationModel(ProjectOrganization projectOrganization)
        {
            // Private properties
            ProjectOrganization = projectOrganization;
            People = projectOrganization.Organization.People.ToList();

            // Public properties
            OrganizationName             = ProjectOrganization.Organization.OrganizationName;
            OrganizationShortName        = ProjectOrganization.Organization.OrganizationShortName;
            OrganizationTypeName         = ProjectOrganization.Organization.OrganizationType.OrganizationTypeName;
            OrganizationTypeAbbreviation = ProjectOrganization.Organization.OrganizationType.OrganizationTypeAbbreviation;
            OrganizationRelationshipType = ProjectOrganization.OrganizationRelationshipType.OrganizationRelationshipTypeName;
        }
Example #10
0
 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);
     }
 }
Example #11
0
        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();
                }
            }
        }
Example #12
0
        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);
        }
            public static ProjectOrganization Create(Project project, Organization organization)
            {
                var projectOrganization = ProjectOrganization.CreateNewBlank(project, organization, OrganizationRelationshipType.CreateNewBlank());

                return(projectOrganization);
            }
Example #14
0
        // 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);
        }
Example #15
0
        /// <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);
                }
            }
        }