示例#1
0
        public string Publish(Program program, HttpResponseMessage responseMessage)
        {
            //if (!program.IsTrusted())
            //{
            //    responseMessage.StatusCode = HttpStatusCode.Forbidden;
            //    responseMessage.Content = new StringContent("Request does not appear to be from a trusted source.");
            //    return string.Empty;
            //}

            var code = Encoding.UTF8.GetString(Convert.FromBase64String(program.Code));
            var user = new UserContext().GetOrAdd(program.AuthorId);
            var publisher = NInjectFactory.Get<Publisher>();
            return publisher.Publish(user.UserId.ToString("N"), program.Name, code);
        }
示例#2
0
        public ServiceResponse Save(Program program, HttpResponseMessage responseMessage)
        {
            if (!program.IsTrusted())
            {
                responseMessage.StatusCode = HttpStatusCode.Forbidden;
                return new ServiceResponse("Request does not appear to be from a trusted source.");
            }

            var code = Encoding.UTF8.GetString(Convert.FromBase64String(program.Code));
            var user = new UserContext().GetOrAdd(program.AuthorId);
            var saver = NInjectFactory.Get<Saver>();
            saver.Save(user.UserId.ToString("N"), program.Name, code);
            return new ServiceResponse("Saved as " + program.Name);
        }
示例#3
0
 public List<string> List(string windowsLiveAnonymousId, HttpResponseMessage responseMessage)
 {
     var user = new UserContext().GetOrAdd(windowsLiveAnonymousId);
     var loader = NInjectFactory.Get<Loader>();
     try
     {
         return loader.List(user.UserId).ToList();
     }
     catch (StorageClientException)
     {
         return null;
     }
 }
示例#4
0
 public Program Open(string windowsLiveAnonymousId, string name, HttpResponseMessage responseMessage)
 {
     var user = new UserContext().GetOrAdd(windowsLiveAnonymousId);
     var loader = NInjectFactory.Get<Loader>();
     return loader.Load(user, name);
 }