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); } }
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)); } }
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)); } }