Beispiel #1
0
        public List<CapabilityTrendAnalysis> GetCapabilityTrendAnalysis(string capName, string regName, string counName, string busTypeName, string fromDateStr, string toDateStr)
        {
            List<CAPABILITYGAPINFO> capGapInfoList;
            DateTime toDate;
            DateTime fromDate;
            if (!DateTime.TryParse(fromDateStr, out fromDate))
            {
                fromDate = DateTime.MinValue;
            }
            if (!DateTime.TryParse(toDateStr, out toDate))
            {
                toDate = DateTime.MaxValue;
            }
            if (regName != "All")
            {
                if (busTypeName != "All")
                {
                    capGapInfoList = GetCapabilityGapInfosFromCapabilityRegionAndBusinessType(capName, regName, counName, busTypeName, fromDate, toDate);
                }

                else
                {
                    capGapInfoList = GetCapabilityGapInfosFromCapabilityRegion(capName, regName, counName, fromDate, toDate);
                }
            }

            else
            {
                if (busTypeName != "All")
                {
                    capGapInfoList = GetCapabilityGapInfosFromCapabilityBusinessType(capName, busTypeName, fromDate, toDate);
                }

                else
                {
                    capGapInfoList = GetCapabilityGapInfosFromCapability(capName, fromDate, toDate);
                }
            }

            List<CapabilityTrendAnalysis> ctaList = new List<CapabilityTrendAnalysis>();
            CapabilityTrendAnalysis cta;
            CLIENT client;
            if (capGapInfoList != null)
            {
                foreach (CAPABILITYGAPINFO capGapInfo in capGapInfoList)
                {
                    if (capGapInfo.GAP.HasValue && capGapInfo.PRIORITIZEDGAP.HasValue)
                    {
                        cta = new CapabilityTrendAnalysis();
                        client = capGapInfo.CLIENT;
                        cta.Date = client.STARTDATE;
                        cta.Country = client.COUNTRY.NAME.TrimEnd();
                        cta.Region = client.COUNTRY.REGION.NAME.TrimEnd();
                        cta.BusinessType = client.BUSINESSTYPE.NAME.TrimEnd();
                        cta.Country = cta.Region;
                        cta.CapabilityGap = capGapInfo.GAP.Value;
                        cta.PrioritizedCapabilityGap = capGapInfo.PRIORITIZEDGAP.Value;
                        cta.GapType = capGapInfo.GAPTYPE.TrimEnd();
                        cta.PrioritizedGapType = capGapInfo.PRIORITIZEDGAPTYPE.TrimEnd();
                        cta.Name = capName;
                        ctaList.Add(cta);
                    }
                }
            }

            return ctaList;
        }
Beispiel #2
0
        private void CreateCapabilityToTrack(string region, string country, string busi, string from, string to)
        {
            if (currentlyBeingTracked == "" || currentlyBeingTracked == "Capability")
            {
                List<CapabilityTrendAnalysis> capabilities = new List<CapabilityTrendAnalysis>();
                capabilities = db.GetCapabilityTrendAnalysis(capabilitiesComboBox.Text, region, country, busi, from, to);
                CapabilityTrendAnalysis ent = new CapabilityTrendAnalysis();
                if (capabilities.Count > 0)
                {
                    capabilities.Sort((x, y) => DateTime.Compare(x.Date, y.Date));
                    float gap = capabilities.Average(d => d.CapabilityGap);
                    float prior = capabilities.Average(d => d.PrioritizedCapabilityGap);

                    ent.CapabilityGap = gap;
                    ent.PrioritizedCapabilityGap = prior;
                    ent.GapType = "---";
                    ent.PrioritizedGapType = "---";
                    ent.Type1 = TrendAnalysisEntity.Type.Master;
                    ent.Name = capabilitiesComboBox.Text;
                    capabilitiesToTrack.Add(ent);
                }
                else
                    MessageBox.Show("Query returned no results");

                foreach (CapabilityTrendAnalysis cap in capabilities)
                {
                    ent.Children++;
                    cap.Type1 = TrendAnalysisEntity.Type.Child;
                    capabilitiesToTrack.Add(cap);
                }

                trendGridView.DataSource = null;
                trendGridView.DataSource = capabilitiesToTrack;
                trendGridView.Refresh();
                currentlyBeingTracked = "Capability";
                trendGridView.Columns["Collapse"].Visible = true;
            }
            else
            {
                MessageBox.Show("You can only track one entity type at a time. Please clear grid and try again.");
            }
        }