Exemplo n.º 1
0
 public IHttpActionResult PutMarkDown(int id, MarkDown markDown)
 {
     if (!ModelState.IsValid)
     {
         return(BadRequest(ModelState));
     }
     if (id != markDown.Id)
     {
         return(BadRequest());
     }
     db.Entry(markDown).State = EntityState.Modified;
     try
     {
         db.SaveChanges();
     }
     catch (DbUpdateConcurrencyException)
     {
         if (!MarkDownExists(id))
         {
             return(NotFound());
         }
         else
         {
             throw;
         }
     }
     return(StatusCode(HttpStatusCode.NoContent));
 }
Exemplo n.º 2
0
        public async Task <ActionResult> MarkDownContent()
        {
            //消息类型
            var msgtype = MsgTypeEnum.markdown.ToString();

            //markdown内容
            var markdown = new MarkDown
            {
                Text = "#### 长沙天气 @15675120617\n" +
                       "> 8度,西北风3级,空气优16,相对湿度100%\n\n" +
                       "> ![screenshot](https://gw.alipayobjects.com/zos/skylark-tools/public/files/84111bbeba74743d2771ed4f062d1f25.png)\n" +
                       "> ###### 15点03分发布 [天气](https://www.seniverse.com/) \n",
                Title = "长沙天气"
            };

            //指定目标人群
            var at = new At()
            {
                AtMobiles = new List <string>()
                {
                    "15675120617"
                },
                IsAtAll = false
            };

            var response = await SendDingTalkMessage(new { msgtype, markdown, at });

            return(Ok(response));
        }
Exemplo n.º 3
0
        public IHttpActionResult PostMarkDown(MarkDownAddModel markDown)
        {
            MarkDown model = new MarkDown();

            model.MarkDownBranches = markDown.BranchList.Select(x => new MarkDownBranch
            {
                BranchID  = Convert.ToInt16(x),
                IsActive  = true,
                UpdatedOn = System.DateTime.UtcNow,
                CreatedOn = System.DateTime.UtcNow,
            }).ToList();
            model.EffectiveDate             = Convert.ToDateTime(markDown.MarkDown.EffectiveDate);
            model.IsPercentageOriginalPrice = markDown.MarkDown.IsPercentageOriginalPrice;
            model.NewCashPrice         = markDown.MarkDown.NewCashPrice;
            model.NewSellingPrice      = markDown.MarkDown.NewSellingPrice;
            model.OriginalSellingPrice = markDown.MarkDown.OriginalSellingPrice;
            model.PercentageDecrease   = markDown.MarkDown.PercentageDecrease;
            model.ProductSKU           = markDown.MarkDown.ProductSKU.ToString();
            model.StyleSKU             = markDown.MarkDown.StyleSKU;
            model.IsActive             = true;
            model.UpdatedOn            = System.DateTime.UtcNow;
            model.CreatedOn            = System.DateTime.UtcNow;
            db.MarkDowns.Add(model);
            db.SaveChanges();
            return(Ok(true));
        }
Exemplo n.º 4
0
        public HttpResponseMessage Upload([FromBody] MarkDown file)
        {
            Debug.WriteLine("fileName: " + file.FileName);
            string path = HttpContext.Current.Server.MapPath("~/App_Data/" + file.FileName + ".md");

            File.WriteAllBytes(path, file.Content);
            return(Request.CreateResponse(HttpStatusCode.OK));
        }
Exemplo n.º 5
0
        public IHttpActionResult EditByMark(MarkDown mark)
        {
            var model = db.Products.Where(x => x.IsActive == true && x.ProductSKU == mark.ProductSKU && x.StyleSKU == mark.StyleSKU).FirstOrDefault();

            model.ActualSellingPrice = mark.NewSellingPrice;
            model.UpdatedOn          = System.DateTime.UtcNow;
            db.SaveChanges();
            return(Ok(true));
        }
Exemplo n.º 6
0
        public IHttpActionResult GetMarkDown(int id)
        {
            MarkDown markDown = db.MarkDowns.Find(id).RemoveReferences();

            if (markDown == null)
            {
                return(NotFound());
            }
            return(Ok(markDown));
        }
Exemplo n.º 7
0
        public IHttpActionResult DeleteMarkDown(int id)
        {
            MarkDown markDown = db.MarkDowns.Find(id);

            if (markDown == null)
            {
                return(NotFound());
            }
            markDown.UpdatedOn = System.DateTime.UtcNow;
            db.MarkDowns.Remove(markDown);
            db.SaveChanges();
            return(Ok(markDown));
        }
Exemplo n.º 8
0
        public ActionResult Upload(HttpPostedFileBase upload, string Name)
        {
            var client  = new RestClient("http://localhost:4000/api/FileUploader");
            var request = new RestRequest(Method.POST);

            byte[] fileData = null;
            using (var binaryReader = new BinaryReader(upload.InputStream))
            {
                fileData = binaryReader.ReadBytes(upload.ContentLength);
            }
            MarkDown markdown = new MarkDown(Name, fileData);

            request.AddJsonBody(markdown);
            var response = client.Execute(request);

            return(RedirectToAction("ViewBeneficiaryList", "Beneficiaries"));
        }
Exemplo n.º 9
0
        /// <summary>
        /// 调用钉钉机器人发送文本内容
        /// </summary>
        /// <param name="Access_Token">来源于</param>
        /// <returns></returns>
        public async Task <IActionResult> Send([FromQuery] string Access_Token)
        {
            var WHMiddlewareService = Ioc.Create <IWHMiddlewareService>();
            var WHLogsService       = Ioc.Create <IWHLogsService>();

            var model = await WHMiddlewareService.GetByToken(Access_Token);

            if (model == null)
            {
                return(Fail("指定的数据不存在"));
            }

            WebHook_Token = model.PushUrl;
            if (!model.PushUrl.Contains("access_token") && !model.PushToken.IsNullOrEmpty())
            {
                WebHook_Token += $"?access_token={model.PushToken}";
            }

            var dic = new Dictionary <string, string>();

            foreach (var row in HttpContext.Request.Headers)
            {
                dic.Add(row.Key, row.Value);
            }

            var content = await Web.GetBodyAsync();

            var Id = "";

            if (!content.IsNullOrEmpty())
            {
                var modelwhlogs = new WHLogsDto();
                modelwhlogs.WhId         = model.Id.ToString();
                modelwhlogs.WHTypes      = true;
                modelwhlogs.RequestTop   = dic.ToJson();
                modelwhlogs.Content      = content;
                modelwhlogs.CreationTime = DateTime.Now;

                Id = await WHLogsService.CreateAsync(modelwhlogs);
            }

            switch (model.Source)
            {
            case 1:
            {
                //消息类型
                var msgtype = MsgTypeEnum.actionCard.ToString();

                var modelContent = JObject.Parse(content);
                var repository   = modelContent["repository"];
                var pusher       = modelContent["pusher"];
                var Ref          = modelContent["ref"].ToString();
                var commits      = JArray.Parse(modelContent["commits"].ToString());

                var repositorychild = repository.Children().OfType <JProperty>()
                                      .ToDictionary(p => p.Name, p => p.Value);
                var pushchild = pusher.Children().OfType <JProperty>()
                                .ToDictionary(p => p.Name, p => p.Value);

                var parser   = new HtmlParser();
                var document = await parser.ParseDocumentAsync(repositorychild["html_url"].ToString());

                var html_url = document.QuerySelector("a").GetAttribute("href");

                var build = Pool.StringBuilder.Get();
                var title = "";

                if (dic.ContainsKey("X-Coding-Event"))
                {
                    if (dic["X-Coding-Event"] == "push")
                    {
                        build.Append("# Repo Push Event\n- ");
                        title = $"{pushchild["name"]}提交源码";
                    }
                }

                build.Append($"Repo: **[{repositorychild["name"].ToString()}]({html_url})**\n- Ref: **[{Ref.Substring(Ref.LastIndexOf("/") + 1)}]({html_url}/git/tree/{Ref.Substring(Ref.LastIndexOf("/") + 1)})**\n- Pusher: **{pushchild["name"]}**\n");
                build.Append($"## Total {commits.Count} commits(s)\n\u003e ");
                var i = 0;
                foreach (var item in commits)
                {
                    var author = JObject.Parse(item["author"].ToString());
                    build.Append($"{i}. [{item["id"].ToString().Substring(0, 7)}]({html_url}/{Ref.Substring(Ref.LastIndexOf("/") + 1)}/commit/{item["id"].ToString()}) {author["name"].ToString()} - {item["message"].ToString()} ");
                    if (i < commits.Count)
                    {
                        build.Append("\u003e ");
                    }
                    i++;
                }

                //actionCard内容
                var actionCard = new ActionCard
                {
                    Text           = build.Put(true),
                    Title          = title,
                    HideAvatar     = "0",
                    BtnOrientation = "0",
                    SingleTitle    = "查看详情",
                    SingleURL      = html_url
                };

                //指定目标人群
                var at = new At()
                {
                    AtMobiles = new List <string>()
                    {
                        "18307555593"
                    },
                    IsAtAll = false
                };

                var response = await SendDingTalkMessage(new { msgtype, actionCard, at });

                var modelwhlogs = await WHLogsService.GetByIdAsync(Id);

                var dicResponse = new Dictionary <string, string>();
                foreach (var row in response.Headers)
                {
                    dicResponse.Add(row.Key, row.Value.Join());
                }
                modelwhlogs.ResponseTop     = dicResponse.ToJson();
                modelwhlogs.ResponseContent = await response.Content.ReadAsStringAsync();

                modelwhlogs.ResponseBody = response.ToJson();

                await WHLogsService.UpdateAsync(modelwhlogs);

                return(Ok(response));
            }

            case 2:

            case 3:

            default:
            {
                //消息类型
                var msgtype = MsgTypeEnum.markdown.ToString();

                var modelContent = JObject.Parse(content);
                var text         = modelContent["text"].ToString();
                if (text.IsNullOrEmpty())
                {
                    return(Fail("内容为空"));
                }

                var title = text.Split("[")[0];

                //markdown内容
                var markdown = new MarkDown
                {
                    Text  = text,
                    Title = title
                };

                //指定目标人群
                var at = new At()
                {
                    AtMobiles = new List <string>()
                    {
                        "18307555593"
                    },
                    IsAtAll = false
                };

                var response = await SendDingTalkMessage(new { msgtype, markdown, at });

                return(Ok(response));
            }
            }
        }