Пример #1
0
        public IActionResult Test()
        {
            HomeController    a         = null;
            PrelanderTagModel testModel = new PrelanderTagModel()
            {
                answer = "answer", index = 8, tag = "tag"
            };

            try
            {
                string aasd = a.ControllerContext.ToString();
            }
            catch (Exception e)
            {
                Logger.Instance.StartLoggin("key_of_this_shit")
                .Where("HomeController")
                .Add("val1", "res1")
                .Add("val2", "res1")
                .Add(testModel)
                .OnException(e);
            }

            return(this.Content("OK! "));
        }
        public async Task <DistributionModel> OnQuestion(string key, PrelanderTagModel model)
        {
            try
            {
                this.Action.Trace("q.start");
                GetPrelander(model.prelanderid);
                if (this.Prelander == null)
                {
                    return new DistributionModel()
                           {
                               Status = false
                           }
                }
                ;

                this.Action.Trace("q.after prelander");

                var tag = PrelandersCache.Instance.GetTag(this.Prelander.ID, model.tag);
                if (tag == null)
                {
                    return new DistributionModel()
                           {
                               Status = false
                           }
                }
                ;
                this.Action.Trace("q.after tag");

                var answer = PrelandersCache.Instance.GetAnswer(this.Prelander.ID, model.tag, model.answer);
                if (answer == null)
                {
                    return new DistributionModel()
                           {
                               Status = false
                           }
                }
                ;

                this.Action.Trace("q.after answer");

                this.RecreateTagModel(this.Action.prelander_data);
                if (this.TagManager.ContainsKey(model.tag))
                {
                    this.TagManager[model.tag] = model.index;

                    this.Action.prelander_data = this.ActionPrelanderCache;
                    this.Action.UpdateLater();
                }

                this.Action.Trace("q.after recreate and update");

                var interaction = new PrelanderTagActionInteractionDM(this.Database)
                {
                    prelanderid    = this.Prelander.ID,
                    actionid       = this.Action.GetStringID(),
                    prelandertagid = tag.GetStringID(),
                    answerid       = answer.GetStringID()
                };
                interaction.InsertLater();

                this.Action.Trace("q.after interaction");

                this.UpdateTagManager();
                this.Database.TransactionalManager.RunAsync();
                this.Action.Trace("q.after update");
                DashboardSocket.OnActionUpdate(this.Action);
                return(new DistributionModel()
                {
                    Status = true
                });
            }
            catch (Exception e)
            {
                this.Logger.StartLoggin("")
                .Add("where", "pl-onQuestion")
                .Add("model.answer", model.answer)
                .Add("model.tag", model.tag)
                .OnException(e);
                return(new DistributionModel()
                {
                    Status = false
                });
            }
        }