Exemplo n.º 1
0
        public static Models.UserProfile GetUserProfile(string name)
        {
            IDatabase cache = CacheConnectionHelper.Connection.GetDatabase();

            Models.UserProfile userProfile = (Models.UserProfile)cache.Get(name);
            if (userProfile == null)
            {
                #region Get User Profile from AD
                Uri serviceRoot = new Uri(SettingsHelper.AzureAdGraphApiEndPoint);
                var token       = AppToken.GetAppToken();

                ActiveDirectoryClient adClient = new ActiveDirectoryClient(
                    serviceRoot,
                    async() => await AppToken.GetAppTokenAsync());

                string userObjectID = ClaimsPrincipal.Current.FindFirst("http://schemas.microsoft.com/identity/claims/objectidentifier").Value;

                Microsoft.Azure.ActiveDirectory.GraphClient.Application app = (Microsoft.Azure.ActiveDirectory.GraphClient.Application)adClient.Applications.Where(
                    a => a.AppId == SettingsHelper.ClientId).ExecuteSingleAsync().Result;
                if (app == null)
                {
                    throw new ApplicationException("Unable to get a reference to application in Azure AD.");
                }

                string     requestUrl = string.Format("https://graph.windows.net/{0}/users/{1}?api-version=1.5", SettingsHelper.Tenant, name);
                HttpClient hc         = new HttpClient();
                hc.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", token);
                HttpResponseMessage hrm = hc.GetAsync(new Uri(requestUrl)).Result;

                if (hrm.IsSuccessStatusCode)
                {
                    Models.UserProfile currentUserProfile = JsonConvert.DeserializeObject <Models.UserProfile>(hrm.Content.ReadAsStringAsync().Result);
                    cache.Set(ClaimsPrincipal.Current.Identities.First().Name, currentUserProfile, TimeSpan.FromMinutes(SettingsHelper.CacheUserProfileMinutes));

                    return(currentUserProfile);
                }
                else
                {
                    return(null);
                }
                #endregion
            }
            else
            {
                return(userProfile);
            }
        }
Exemplo n.º 2
0
        public IActionResult CreateOnlineOrder(OrderDto model)
        {
            try
            {
                Token Fun    = new Token(_context);
                var   Addrs  = _context.Addresss.Where(x => x.AddressId == model.AddressId).FirstOrDefault();
                var   UserId = _context.User.Where(i => i.OpenId == model.OpenId).FirstOrDefault().UserId;
                if (model.PayType == PayType.在线支付)
                {
                    var Order = new Order()
                    {
                        OrderNo   = DateTime.Now.ToString("yyyyMMddhhmmssfff") + "" + UserId,
                        Price     = model.Price,
                        PayType   = model.PayType,
                        PayState  = PayState.已付款,
                        CreatDate = DateTime.Now,
                        UserId    = UserId,
                        SysUserId = model.SysUserId,
                        AddressId = model.AddressId,
                        Comments  = model.Comments
                    };
                    var goodsID = model.GoodsId.Replace("[", "").Replace("]", "").Split(',');
                    _context.Orders.Add(Order);
                    foreach (var p in goodsID)
                    {
                        var num = 1;
                        if (model.ordertype == "wu")
                        {
                            num = _context.AppCarts.Where(i => i.GoodsId == Convert.ToInt64(p) && i.UserId == UserId).FirstOrDefault().Num;
                        }
                        //if(_context.AppCarts.Where(i => i.UserId == UserId).ToList().Contains(Convert.ToInt64(p)))

                        var ordergoods = new OrderGoods()
                        {
                            OrderId = Order.OrderId,
                            GoodsId = Convert.ToInt64(p),
                            Num     = num
                        };
                        _context.OrderGoods.Add(ordergoods);
                    }
                    var CartInfo = _context.AppCarts.Where(x => x.UserId == UserId).ToList();
                    if (CartInfo.Count != 0)
                    {
                        _context.AppCarts.RemoveRange(CartInfo);
                        _context.SaveChanges();
                    }
                    else
                    {
                        _context.SaveChanges();
                    }


                    var Tem         = new TemDto();
                    var sysUserinfo = _context.SysUsers.Where(x => x.SysUserId == model.SysUserId).FirstOrDefault();

                    var Good = _context.OrderGoods.Where(x => x.OrderId == Order.OrderId).ToList();
                    var NT   = "";
                    foreach (var s in Good)
                    {
                        var Goodss = _context.Goodss.Where(x => x.GoodsId == s.GoodsId).FirstOrDefault();
                        NT = NT + Goodss.Name + "*" + s.Num + "; ";
                    }
                    Tem.touser      = sysUserinfo.Popenid;
                    Tem.template_id = "xEh7eyNbqUA4REhnVT-aCCH0-NOwqrHFh4IyqFnkM-g";

                    var data1    = new Data1();
                    var keyword1 = new Keyword();
                    var keyword2 = new Keyword();
                    var keyword3 = new Keyword();
                    var keyword4 = new Keyword();
                    var keyword5 = new Keyword();
                    var first    = new Keyword();
                    var remark   = new Keyword();
                    Tem.data                = data1;
                    Tem.data.keyword1       = keyword1;
                    Tem.data.keyword2       = keyword2;
                    Tem.data.keyword3       = keyword3;
                    Tem.data.keyword4       = keyword4;
                    Tem.data.keyword5       = keyword5;
                    Tem.data.first          = first;
                    Tem.data.remark         = remark;
                    Tem.data.first.value    = Order.OrderNo;
                    Tem.data.keyword1.value = NT;
                    Tem.data.keyword2.value = model.Price.ToString();
                    Tem.data.keyword3.value = Addrs.ContactName + "   " + Addrs.ContactPhone;
                    Tem.data.keyword4.value = Addrs.Addr;
                    Tem.data.keyword5.value = model.Comments;
                    Tem.data.remark.value   = "在线支付";

                    var Tnc       = new TemDto();
                    var data2     = new Data1();
                    var first1    = new Keyword();
                    var keyword11 = new Keyword();
                    var keyword21 = new Keyword();
                    var keyword31 = new Keyword();
                    var keyword41 = new Keyword();
                    var keyword51 = new Keyword();
                    var keyword61 = new Keyword();
                    Tnc.data          = data2;
                    Tnc.data.keyword1 = keyword11;
                    Tnc.data.keyword2 = keyword21;
                    Tnc.data.keyword3 = keyword31;
                    Tnc.data.keyword4 = keyword41;
                    Tnc.data.keyword5 = keyword51;
                    Tnc.data.keyword6 = keyword61;

                    Tnc.touser      = model.OpenId;
                    Tnc.template_id = "IOxfg-a_xjT3GSY8RHgF6qybqmV-4MlSM1IOpgwpWWg";
                    Tnc.form_id     = model.FormId;



                    Tnc.data.keyword1.value = Order.OrderNo;
                    Tnc.data.keyword2.value = model.Price.ToString();
                    Tnc.data.keyword3.value = NT;
                    Tnc.data.keyword4.value = DateTime.Now.ToString();
                    Tnc.data.keyword5.value = Addrs.Addr;
                    Tnc.data.keyword6.value = Addrs.ContactPhone;

                    Fun.GetToken(Tem);
                    AppToken Text = new AppToken(_context);
                    Text.GetAppToken(Tnc);
                    Jpush jpush = new Jpush();
                    jpush.SendOrder(model.SysUserId, sysUserinfo.Name);
                }
                return(Ok("666!!"));
            }
            catch (Exception ex)
            {
                return(StatusCode(500, ex.Message));
            }
        }
Exemplo n.º 3
0
        public IActionResult OrderReceiving([FromBody] OrderDto model)
        {
            try
            {
                var OrderInfo = _context.Orders.Where(x => x.OrderId == model.OrderId).FirstOrDefault();
                OrderInfo.PayState = model.PayState;

                if (model.PayState == PayState.已接单)
                {
                    var      SysTem = _context.SysUsers.Where(x => x.SysUserId == OrderInfo.SysUserId).FirstOrDefault();
                    var      Addrs  = _context.Addresss.Where(x => x.AddressId == model.AddressId).FirstOrDefault();
                    AppToken Text   = new AppToken(_context);

                    var Fom = _context.FormIds.Where(x => x.UserId == model.UserId).FirstOrDefault();


                    var TDN       = new TemDto();
                    var data2     = new Data1();
                    var first1    = new Keyword();
                    var keyword11 = new Keyword();
                    var keyword21 = new Keyword();
                    var keyword31 = new Keyword();
                    var keyword41 = new Keyword();
                    var keyword51 = new Keyword();
                    var keyword61 = new Keyword();
                    TDN.data          = data2;
                    TDN.data.keyword1 = keyword11;
                    TDN.data.keyword2 = keyword21;
                    TDN.data.keyword3 = keyword31;



                    TDN.touser              = model.OpenId;
                    TDN.template_id         = SysTem.TemIdAccept;
                    TDN.form_id             = Fom.FormIds;
                    TDN.data.keyword1.value = model.OrderNo;
                    TDN.data.keyword2.value = "已接单";
                    TDN.data.keyword3.value = Addrs.ContactPhone;

                    Text.GetAppToken(TDN);

                    var Time1 = DateTime.Now.AddDays(-7);
                    var y     = _context.FormIds.Where(x => x.CreatDate < Time1).ToList();
                    _context.FormIds.RemoveRange(y);
                    _context.Remove(Fom);

                    _context.SaveChanges();
                    return(Ok("修改成功"));
                }
                else if (model.PayState == PayState.已发货)
                {
                    var      SysTem = _context.SysUsers.Where(x => x.SysUserId == OrderInfo.SysUserId).FirstOrDefault();
                    var      Addrs  = _context.Addresss.Where(x => x.AddressId == model.AddressId).FirstOrDefault();
                    AppToken Text   = new AppToken(_context);

                    var Fom = _context.FormIds.Where(x => x.UserId == model.UserId).FirstOrDefault();


                    var TDN       = new TemDto();
                    var data2     = new Data1();
                    var first1    = new Keyword();
                    var keyword11 = new Keyword();
                    var keyword21 = new Keyword();
                    var keyword31 = new Keyword();
                    var keyword41 = new Keyword();
                    var keyword51 = new Keyword();
                    var keyword61 = new Keyword();
                    TDN.data          = data2;
                    TDN.data.keyword1 = keyword11;
                    TDN.data.keyword2 = keyword21;
                    TDN.data.keyword3 = keyword31;



                    TDN.touser              = model.OpenId;
                    TDN.template_id         = SysTem.TemIdSend;
                    TDN.form_id             = Fom.FormIds;
                    TDN.data.keyword1.value = model.OrderNo;
                    TDN.data.keyword2.value = "已发货";
                    TDN.data.keyword3.value = model.Price.ToString();

                    Text.GetAppToken(TDN);

                    var Time1 = DateTime.Now.AddDays(-7);
                    var y     = _context.FormIds.Where(x => x.CreatDate < Time1).ToList();
                    _context.FormIds.RemoveRange(y);
                    _context.Remove(Fom);

                    _context.SaveChanges();
                    return(Ok("修改成功"));
                }

                else if (model.PayState == PayState.已拒绝)
                {
                    var      SysTem = _context.SysUsers.Where(x => x.SysUserId == OrderInfo.SysUserId).FirstOrDefault();
                    var      Addrs  = _context.Addresss.Where(x => x.AddressId == model.AddressId).FirstOrDefault();
                    AppToken Text   = new AppToken(_context);

                    var Fom = _context.FormIds.Where(x => x.UserId == model.UserId).FirstOrDefault();


                    var TDN       = new TemDto();
                    var data2     = new Data1();
                    var first1    = new Keyword();
                    var keyword11 = new Keyword();
                    var keyword21 = new Keyword();
                    var keyword31 = new Keyword();
                    var keyword41 = new Keyword();
                    var keyword51 = new Keyword();
                    var keyword61 = new Keyword();
                    TDN.data          = data2;
                    TDN.data.keyword1 = keyword11;
                    TDN.data.keyword2 = keyword21;
                    TDN.data.keyword3 = keyword31;



                    TDN.touser              = model.OpenId;
                    TDN.template_id         = SysTem.TemIdRefuse;
                    TDN.form_id             = Fom.FormIds;
                    TDN.data.keyword1.value = model.OrderNo;
                    TDN.data.keyword2.value = "超出配送范围";
                    // TDN.data.keyword3.value = model.Price.ToString();

                    Text.GetAppToken(TDN);

                    var Time1 = DateTime.Now.AddDays(-7);
                    var y     = _context.FormIds.Where(x => x.CreatDate < Time1).ToList();
                    _context.FormIds.RemoveRange(y);
                    _context.Remove(Fom);

                    _context.SaveChanges();
                    return(Ok("修改成功"));
                }

                return(Ok(""));
            }
            catch (Exception ex)
            {
                return(StatusCode(500, ex.Message));
            }
        }