Exemple #1
0
        public void TotalActual_PerMonth_ResultCallback(LoadOperation<TotalActual_PerMonth> result)
        {
            object[] state = (object[])result.UserState;
            if (result.Error == null)
            {
                if (state.Length == 5)
                {
                    _regionsData = new RegionValueCollection
                    {
                        Product = (SanofiProductBrands)state[0],
                        StartMonth = (int)state[1],
                        StartYear = (int)state[2],
                        EndMonth = (int)state[3],
                        EndYear = (int)state[4],
                        Polygons = Polygons.Total_NoPolygon
                    };
                    _loadedData = new CommonRawDataCollection();
                    Utils.Add_to_Lists(result, _loadedData, _months_With_Actual);
                    foreach (CommonRawData dataItem in _loadedData)
                        AddToRegionDataTotals(dataItem.QTY, dataItem.VAL);

                    SetPageByData(_regionsData, _selected_RegionType);
                }
            }
            else
            {
                SetPageForEndOfLoadData();
            }
            RemovefromLoadingList("GetTotalActual_PerMonthQuery", state);
        }
Exemple #2
0
        private double Get_RegionObjective(RegionValueCollection regionsData, int aRegionMapId)
        {
            double objective = 0;
            if (regionsData == null || regionsData.Count == 0 || aRegionMapId == -1) return objective;

            IEnumerable<RegionData> matchingRegionData = null;
            if (_isShare)
                matchingRegionData = regionsData.Where(rvc => rvc.RegionMapId == aRegionMapId);
            else
                matchingRegionData = regionsData.Where(rvc => DBUtils.GetGroupRegionMapId(rvc.RegionMapId, (SanofiProductBrands)_selected_Product) == DBUtils.GetGroupRegionMapId(aRegionMapId, (SanofiProductBrands)_selected_Product));

            if (matchingRegionData != null && matchingRegionData.Count() > 0)
                foreach (RegionData rd in matchingRegionData)
                    objective += rd.GetObjective(_isValue);
            return objective;
        }
Exemple #3
0
 public void TotalActualPerProvincePerMonth_ResultCallback(LoadOperation<TotalActualPerProvincePerMonth> result)
 {
     object[] state = (object[])result.UserState;
     if (Utils.LoadOperation_Error_Handled(result.Error, "CD"))
     {
         if (state.Length == 5)
         {
             _regionsData = new RegionValueCollection
             {
                 Product = (SanofiProductBrands)state[0],
                 StartMonth = (int)state[1],
                 StartYear = (int)state[2],
                 EndMonth = (int)state[3],
                 EndYear = (int)state[4],
                 Polygons = Polygons.Provinces,
                 ObjectivesLoaded = false
             };
             _loadedData = new CommonRawDataCollection();
             Utils.Add_to_Lists(result, _loadedData, _months_With_Actual);
             foreach (CommonRegionData dataItem in _loadedData)
             {
                 if (!Utils.IsPermitted(C.SHOW_IRAN_PERMISSIONCODE))
                     if (!Utils.IsPermitted(DBUtils.Get_PermissionCode(dataItem.RegionMapId)))
                         continue;
                 Add_to_RegionData(dataItem.QTY, dataItem.VAL, dataItem.RegionMapId);
             }
             if (_isShare)
                 SetPageByData(_regionsData, _selected_RegionType);
             else
                 if (AreCurrentSelections(_regionsData.Product, SanofiRegionTypes.Province, _regionsData.StartMonth, _regionsData.StartYear, _regionsData.EndMonth, _regionsData.EndYear))
                     if (!_regionsData.ObjectivesLoaded)
                         LoadProvinceObjectives(_regionsData.Product, _regionsData.StartMonth, _regionsData.StartYear, _regionsData.EndMonth, _regionsData.EndYear);
         }
     }
     else
         SetPageForEndOfLoadData();
     RemovefromLoadingList("GetTotalActual_PerProvince_PerMonthQuery", state);
 }
Exemple #4
0
        private void SetSlider(RegionValueCollection regionValCol)
        {
            SliderGrd.Visibility = System.Windows.Visibility.Visible;
            ClearSlider();
            if (regionValCol == null || regionValCol.Count == 0)
                return;
            if (_isShare)
                PageSlider.IsEnabled = true;
            else
                PageSlider.IsEnabled = false;

            SetUnitLabel(regionValCol.Product, _isValue);
            SetCategoryNameLabel((regionValCol.Polygons == Polygons.Provinces) ? SanofiRegionTypes.Province : SanofiRegionTypes.Tehran);

            List<double> qtys = new List<double>();
            foreach (RegionData rv in regionValCol)
                qtys.Add(rv.Get(_isValue));
            double maximum = qtys.Max();

            double secondMaximum = 0;
            _totalRegionsValue = 0;
            foreach (double i in qtys)
            {
                _totalRegionsValue += i;
                if (i < maximum && i > secondMaximum)
                    secondMaximum = i;
            }
            PageSlider.Maximum = secondMaximum;
            PageSlider.Value = secondMaximum;
            _currentMaxRegionValue = secondMaximum;

            List<double> translateTransforms = new List<double>();
            foreach (RegionData rv in regionValCol)
            {
                if (rv.Get(_isValue) == maximum)
                {
                    SetMaximumText(rv);
                    continue;
                }
                translateTransforms = AddLabelToSlider(rv, translateTransforms);
            }
        }
Exemple #5
0
        private double Get_RegionSalesOut(RegionValueCollection regionsData, int aRegionMapId)
        {
            double salesOut = 0;
            if (regionsData == null || regionsData.Count == 0 || aRegionMapId == -1)
                return salesOut;

            IEnumerable<RegionData> matchingRegionData = null;
            if (_isShare)
            {
                matchingRegionData = regionsData.Where(rvc => rvc.RegionMapId == aRegionMapId);
            }
            else
            {
                matchingRegionData = regionsData.Where(rvc => DBUtils.GetGroupRegionMapId(rvc.RegionMapId, (SanofiProductBrands)_selected_Product) == DBUtils.GetGroupRegionMapId(aRegionMapId, (SanofiProductBrands)_selected_Product));
            }

            if (matchingRegionData != null && matchingRegionData.Count() > 0)
            {
                foreach (RegionData rd in matchingRegionData)
                {
                    salesOut += rd.Get(_isValue);
                }
            }
            return salesOut;
        }
Exemple #6
0
        private void ChangeRegionColorOpacities(double maxSalesOut, RegionValueCollection regionsData)
        {
            if (regionsData == null || regionsData.Count == 0)
                return;
            foreach (BIT.AVL.Silver.Map.Geometry.Polygon p in DrawControl.DrawLayer.Children)
            {
                int theRegionMapId = GetRegionMapId(p.TempID);
                IEnumerable<RegionData> matchingRegionValues = regionsData.Where(rvc => rvc.RegionMapId == theRegionMapId);
                if (matchingRegionValues.Count() > 0)
                {
                    RegionData regionData = matchingRegionValues.First();

                    p.FillColor = GetRegionColor(regionData.Get(_isValue), _selected_RegionType, maxSalesOut, _isShare, regionData.GetObjective(_isValue));
                    p.Opacity = Get_RegionOpacity(_selected_RegionType, regionData.Get(_isValue), maxSalesOut, _isShare);
                }
            }
        }
Exemple #7
0
 private void SetTotalIrText(RegionValueCollection regionValCol)
 {
     if (BottomLabel_Stack != null && BottomLabel2_Bottom != null && BottomLabel1_Top != null)
     {
         BottomLabel_Stack.Visibility = System.Windows.Visibility.Visible;
         BottomLabel1_Top.Text = C.SALES_OUT + " " + Utils.GetUnitLabel_Long(regionValCol.Product, _isValue, KilooMega.None);
         if (_isValue)
         {
             BottomLabel2_Bottom.Text = "" + Utils.NumberToString((int)regionValCol.TotalValue);
         }
         else
         {
             BottomLabel2_Bottom.Text = "" + Utils.NumberToString((int)regionValCol.TotalQTY);
         }
     }
 }
Exemple #8
0
 private void SetControlsInMapMargin(SanofiRegionTypes regionT, RegionValueCollection regionValCol)
 {
     if (regionT == SanofiRegionTypes.Province)
     {
         ShowSharePerformance();
         RemoveTotalIrTexts();
         SetSlider(regionValCol);
     }else if (regionT == SanofiRegionTypes.Tehran) {
         HideSharePerformance();
         RemoveTotalIrTexts();
         SetSlider(regionValCol);
     }
     else if (regionT == SanofiRegionTypes.TotalIR)
     {
         RemoveSlider();
         SetMenusButton(C.TOTAL_IR);
         SetTotalIrText(regionValCol);
     }
 }
Exemple #9
0
 private void SetPageByData(RegionValueCollection regionValCol, SanofiRegionTypes regionT)
 {
     if (regionValCol != null && IsRegionsDataAvailable(regionValCol.Product, regionValCol.StartMonth, regionValCol.StartYear, regionValCol.EndMonth, regionValCol.EndYear, regionT) && IsPolygonsLoaded(regionT))
     {
         if (AreCurrentSelections(regionValCol.Product, regionT, regionValCol.StartMonth, regionValCol.StartYear, regionValCol.EndMonth, regionValCol.EndYear))
         {
             SetControlsInMapMargin(regionT, regionValCol);
             if (regionT != SanofiRegionTypes.TotalIR)
             {
                 //DrawPolygons((regionT == SanofiRegionTypes.Province) ? _provincePolygonsPoints.ToList() : _tehranPolygonsPoints.ToList(), regionValCol);
                 if (regionT == SanofiRegionTypes.Province)
                 {
                     Redraw_All_ProvincePolygons();
                 }
                 else if (regionT == SanofiRegionTypes.Tehran)
                 {
                     Redraw_All_TehranPolygons();
                 }
             }
             SetPageForEndOfLoadData();
         }
     }
 }
Exemple #10
0
 private void EmptyResultSet()
 {
     _regionsData = null;
     _loadedData = null;
 }