// ReSharper disable once RedundantAssignment
 private vsUser GetUser()
 {
     using (var ctx = new AutomallContext())
     {
         return(ctx.vsUsers.Include("Presentations").FirstOrDefault(i => i.Login == ((HttpListenerBasicIdentity)Thread.CurrentPrincipal.Identity).Name));
     }
 }
        private Kag[] GetKagList()
        {
            using (var amCtx = new AutomallContext())
            {
                var user = amCtx.vsUsers.Include("Presentations").FirstOrDefault(i => i.Login == ((HttpListenerBasicIdentity)Thread.CurrentPrincipal.Identity).Name);

                if (user == null)
                {
                    return(null);
                }

                using (var cubeCtx = new CubeContext())
                {
                    var clients =
                        cubeCtx.vsspGetClientsInfo(string.Join(",", user.Presentations.Select(i => i.ClientId)), null);
                    return(clients.Select(i => new Kag {
                        KagId = i.KagId, KagName = i.KagName
                    }).ToArray());
                }
            }
        }
        public ResponseMessageResult KagList()
        {
            using (var ctx = new AutomallContext())
            {
                var user = ctx.vsUsers.Include("Presentations").FirstOrDefault(i => i.Login == ((HttpListenerBasicIdentity)Thread.CurrentPrincipal.Identity).Name);

                if (user == null)
                {
                    return(ResponseMessage(new HttpResponseMessage(HttpStatusCode.Forbidden)));
                }

                using (var cubeCtx = new CubeContext())
                {
                    var clients =
                        cubeCtx.vsspGetClientsInfo(string.Join(",", user.Presentations.Select(i => i.ClientId)), null);
                    var result = clients.Select(i => new Kag {
                        KagId = i.KagId, KagName = i.KagName
                    }).ToArray();
                    return(XmlResponseMessage(result));
                }
            }
        }