Example #1
0
        /// <summary>
        ///  绑定数据
        /// </summary>
        private void BindGrd(ProcessRecord recordInfo = null)
        {
            try
            {
                List <CarTypeMap>             listCar = new List <CarTypeMap>();
                List <ParkingSpaceStatistics> listParkSpaceStatistics = new List <ParkingSpaceStatistics>();
                ICR_INOUT_RECODE bllRecord = EngineContext.Current.Resolve <ICR_INOUT_RECODE>();
                int recordCount            = 0;
                int pageCount = 0;
                var temp      = bllRecord.GetInSideList(string.Empty, 0, int.MaxValue, out recordCount, out pageCount);
                var ListPar   = Parking.Core.GlobalEnvironment.ListOragnization.Where(x => x.channelType == enumChannelType.par).ToList();

                foreach (var p in ListPar)
                {
                    foreach (var tempCarType in p.ListCardType)
                    {
                        tempCarType.AreaName      = p.ORGANIZATION_NAME;
                        tempCarType.AreaCode      = p.ORGANIZATION_CODE;
                        tempCarType.parkingNumber = tempCarType.parkingNumber - tempCarType.tempParking;
                        listCar.Add(tempCarType);
                    }
                }
                foreach (var t in temp)
                {
                    var par = listCar.Where(x => x.AreaCode == t.CurrPartitionCode && x.carType == t.Credentials_Type).FirstOrDefault();
                    if (null != par)
                    {
                        par.parkingNumber = par.parkingNumber > 0 ? par.parkingNumber - 1 : 0;
                    }
                }
                foreach (var tempCar in listCar)
                {
                    var objectPar = listParkSpaceStatistics.Where(x => x.AreaName.Contains(tempCar.AreaName)).FirstOrDefault();
                    if (null == objectPar)
                    {
                        ParkingSpaceStatistics t = new ParkingSpaceStatistics();
                        t.AreaName = tempCar.AreaName;
                        if ((int)enumCardType.CAR_TYPE_TEMP == tempCar.carType)
                        {
                            t.CAR_TYPE_TEMP_COUNT = tempCar.parkingNumber;
                        }
                        if ((int)enumCardType.CAR_TYPE_MONTH == tempCar.carType)
                        {
                            t.CAR_TYPE_MONTH_COUNT = tempCar.parkingNumber;
                        }
                        listParkSpaceStatistics.Add(t);
                    }
                    else
                    {
                        if ((int)enumCardType.CAR_TYPE_TEMP == tempCar.carType)
                        {
                            objectPar.CAR_TYPE_TEMP_COUNT = tempCar.parkingNumber;
                        }
                        if ((int)enumCardType.CAR_TYPE_MONTH == tempCar.carType)
                        {
                            objectPar.CAR_TYPE_MONTH_COUNT = tempCar.parkingNumber;
                        }
                    }
                }
                GlobalEnvironment.ListCarTypeMap    = listCar;
                this.dgParkingStatistics.DataSource = listParkSpaceStatistics;
                dgParkingStatistics.CurrentCell     = null;
            }
            catch (Exception ex)
            {
                LogHelper.Log.Error(ex.Message);
            }
        }