public override void HandleRequest()
        {
            var args = Request.Url.AbsolutePath.Split(new string[] { @"/" }, StringSplitOptions.RemoveEmptyEntries);

            if (args.Length != 2)
            {
                throw new FormatException("request url is not expected: " + Request.Url.AbsolutePath);
            }

            var label_id = new Guid(args[1]);

            var util  = new Notify.NotifySenderUtil();
            var files = util.QueryLabeledFiles(label_id);

            if (files.Any())
            {
                Response.RedirectLocation = new UriBuilder(Request.Url.Scheme, Request.Url.Host, Request.Url.Port, "/image/" + files.First().id.ToString() + "/medium").ToString();
            }
            else
            {
                Response.RedirectLocation = new UriBuilder(Request.Url.Scheme, Request.Url.Host, 12888, "/.resource/Empty.png").ToString();
            }

            Response.StatusCode = (int)HttpStatusCode.Found;
            Response.Close();
        }
        public override void HandleRequest()
        {
            CheckParameter("label_id");

            var label_id = new Guid(Parameters["label_id"]);

            object result;


            using (var db = new MyDbContext())
            {
                var label = (from lb in db.Object.Labels
                             where lb.label_id == label_id
                             select lb).FirstOrDefault();


                if (label == null)
                {
                    throw new Exception("label not exist: " + label_id.ToString());
                }

                var files = new Notify.NotifySenderUtil().QueryLabeledFiles(label_id).Select(x => x.id);

                result = new
                {
                    label_id   = label_id,
                    label_name = label.name,
                    seq        = label.seq,
                    auto_type  = label.auto_type,
                    on_air     = label.on_air,
                    files      = files.ToList()
                };
            }

            respondSuccess(result);
        }
Esempio n. 3
0
        public override void HandleRequest()
        {
            var util = new Notify.NotifySenderUtil();

            List <Label> labels;

            using (var db = new MyDbContext())
            {
                labels = (from lb in db.Object.Labels
                          where !lb.deleted && lb.label_id != Guid.Empty
                          select lb).ToList();
            }

            var result = new List <object>();

            foreach (var label in labels)
            {
                var files = util.QueryLabeledFiles(label.label_id).Select(x => x.id).ToList();

                var data = new
                {
                    label_id   = label.label_id,
                    label_name = label.name,
                    files      = files,
                    seq        = label.seq,
                    cover_url  = "/label_cover/" + label.label_id.ToString() + "?seq=" + label.seq,
                    auto_type  = label.auto_type,
                    on_air     = label.on_air
                };

                result.Add(data);
            }


            respondSuccess(new { labels = result, home_sharing = HomeSharing.Enabled });
        }