Example #1
0
        public IActionResult Search(string name, int pageIndex, int pageSize)
        {
            string shipId   = base.user.ShipId;
            var    datacrew = _context.Crew.Where(c => string.IsNullOrEmpty(name) ? 1 == 1 : c.Name.Contains(name)).ToList();
            int    count    = datacrew.Count();
            var    data     = datacrew.Skip((pageIndex - 1) * pageSize).Take(pageSize);
            var    Pics     = _context.CrewPicture.ToList();

            crewVMList = new List <CrewViewModel>();
            foreach (var item in data)
            {
                CrewViewModel model = new CrewViewModel()
                {
                    Id   = item.Id,
                    Job  = item.Job,
                    Name = item.Name,
                    crewPictureViewModels = new List <CrewPictureViewModel>()
                };
                var picW = Pics.Where(c => c.CrewId == item.Id);
                foreach (var pic in picW)
                {
                    CrewPictureViewModel vmpic = new CrewPictureViewModel()
                    {
                        Id      = pic.Id,
                        Picture = Convert.ToBase64String(pic.Picture)
                    };
                    model.crewPictureViewModels.Add(vmpic);
                }
                crewVMList.Add(model);
            }
            var result = new
            {
                code      = 0,
                data      = crewVMList,
                count     = count,
                pageIndex = pageIndex,
                pageSize  = pageSize,
                isSet     = !string.IsNullOrEmpty(shipId) ? base.user.EnableConfigure : false
            };

            return(new JsonResult(result));
        }
Example #2
0
        /// <summary>
        /// 陆地端查看船员信息
        /// </summary>
        /// <returns></returns>
        private IActionResult LandLoad()
        {
            //XMQ的组件ID
            string XMQComId = base.user.ShipId;
            string tokenstr = HttpContext.Session.GetString("comtoken");
            //获取XMQ组件里的WEB组件ID
            string webIdentity = ManagerHelp.GetLandToId(tokenstr);

            assembly.SendCrewQuery(XMQComId + ":" + webIdentity);
            List <ProtoBuffer.Models.CrewInfo> crewInfos = new List <ProtoBuffer.Models.CrewInfo>();

            try
            {
                bool flag = true;
                new TaskFactory().StartNew(() =>
                {
                    while (flag)
                    {
                        if (ManagerHelp.CrewReponse != "")
                        {
                            crewInfos = JsonConvert.DeserializeObject <List <ProtoBuffer.Models.CrewInfo> >(ManagerHelp.CrewReponse);
                            flag      = false;
                        }
                        Thread.Sleep(500);
                    }
                }).Wait(timeout);
                flag = false;
            }
            catch (Exception)
            {
            }
            ManagerHelp.CrewReponse = "";
            crewVMList = new List <CrewViewModel>();
            foreach (var item in crewInfos)
            {
                CrewViewModel model = new CrewViewModel()
                {
                    Id   = Convert.ToInt32(item.uid),
                    Job  = item.job,
                    Name = item.name,
                    crewPictureViewModels = new List <CrewPictureViewModel>()
                };
                if (item.pictures != null)
                {
                    foreach (var pic in item.pictures)
                    {
                        CrewPictureViewModel vm = new CrewPictureViewModel()
                        {
                            Id      = Guid.NewGuid().ToString(),
                            Picture = pic
                        };
                        model.crewPictureViewModels.Add(vm);
                    }
                }
                crewVMList.Add(model);
            }
            var result = new
            {
                code  = 0,
                data  = crewVMList,
                count = crewInfos.Count(),
                isSet = !string.IsNullOrEmpty(XMQComId) ? base.user.EnableConfigure : false
            };

            return(new JsonResult(result));
        }