Esempio n. 1
0
        /// <summary>
        /// 根据条件获取当前用户能查看的所有车辆,参数的两个条件由 AND 组合
        /// </summary>
        /// <param name="CompanyName">公司名称</param>
        /// <param name="PlateNumOrTerminalCode">车牌号或终端号</param>
        private StrucVehiclesListModel[] InternalGetVehiclesListByCurrentUserID(string CompanyName, string PlateNumOrTerminalCode)
        {
            int userid = GetUserSession().UserId;

            var map = new Dictionary <string, List <KeyValuePair <string, string> > >();
            var dt  = TerminalSettingsBLL.GetVehicleList(userid, CompanyName, PlateNumOrTerminalCode);

            foreach (DataRow dr in dt.Rows)
            {
                var    vehicle   = new KeyValuePair <string, string>((string)dr["PlateNum"], (string)dr["TerminalCode"]);
                string StrucName = (string)dr["StrucName"];

                List <KeyValuePair <string, string> > vehiclesList;
                if (!map.ContainsKey(StrucName))
                {
                    vehiclesList = new List <KeyValuePair <string, string> >();
                    map.Add(StrucName, vehiclesList);
                }
                else
                {
                    vehiclesList = map[StrucName];
                }
                vehiclesList.Add(vehicle);
            }

            var ret  = new StrucVehiclesListModel[map.Values.Count];
            var Keys = map.Keys.ToArray();

            for (int i = 0; i != Keys.Length; i++)
            {
                ret[i]             = new StrucVehiclesListModel();
                ret[i].CompanyName = Keys[i];
                ret[i].Vehicles    = map[Keys[i]].ToArray();
            }
            return(ret);
        }