public async Task <IActionResult> Edit(long ID, U model) { if (ID != model.ID) { return(new Error404NotFoundViewResult()); } if (ModelState.IsValid) { using (var httpClient = new HttpClient()) { var requestUri = $"{Configuration.DefaultAPI}/home/{CurrentHomeID}/{CurrentAreaName}/createedit"; httpClient.DefaultRequestHeaders.Add("CurrentUserID", CurrentUserID.ToString()); httpClient.DefaultRequestHeaders.Add("CurrentHomeID", CurrentHomeID.ToString()); using (var response = await httpClient.PostAsJsonAsync(requestUri, model)) { var content = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { return(RedirectToAction(nameof(Index))); } else { return(View("_Edit", model)); } } } } return(View("_Edit", model)); }
public async Task <IActionResult> PostEvent(string targetObjectID, string name, string description, string startdate, string enddate, string[] participants) { var @event = new EventPostViewModel() { HomeID = (long)CurrentHomeID, Name = name, Details = description, StartDate = DateTime.Parse(startdate), EndDate = DateTime.Parse(enddate), ParticipantUserIDs = participants, TargetObjectID = long.Parse(targetObjectID) }; using (var httpClient = new HttpClient()) { var requestUri = $"{Configuration.DefaultAPI}/events/post"; httpClient.DefaultRequestHeaders.Add("CurrentUserID", CurrentUserID.ToString()); httpClient.DefaultRequestHeaders.Add("CurrentHomeID", CurrentHomeID.ToString()); using (var response = await httpClient.PostAsJsonAsync(requestUri, @event)) { string content = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { @event = JsonConvert.DeserializeObject <EventPostViewModel>(content); } } } return(Json(EventsRenderer.BuildPostEvent(@event))); }
public async Task <IActionResult> Settings() { if (string.IsNullOrEmpty(HttpContext.Session.GetString("HomeID"))) { return(RedirectToAction("Login", "Home")); } var settings = new HomeSettingPostViewModel(); using (var httpClient = new HttpClient()) { var requestUri = $"{Configuration.DefaultAPI}/{CurrentControllerName}/settings"; httpClient.DefaultRequestHeaders.Add("CurrentUserID", CurrentUserID.ToString()); httpClient.DefaultRequestHeaders.Add("CurrentHomeID", CurrentHomeID.ToString()); using (var response = await httpClient.GetAsync(requestUri)) { string content = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { settings = JsonConvert.DeserializeObject <HomeSettingPostViewModel>(content); } } } if (settings != null) { return(View(settings)); } return(View()); }
public async Task <IActionResult> Settings(HomeSettingPostViewModel settings) { if (settings.RentDueDateDay <= 0 || settings.RentDueDateDay >= 28) { ModelState.AddModelError("RentDueDateDay", "Rent due date day value can only be between 1 and 27, included."); return(View(settings)); } using (var httpClient = new HttpClient()) { var requestUri = $"{Configuration.DefaultAPI}/{CurrentControllerName}/settings"; httpClient.DefaultRequestHeaders.Add("CurrentUserID", CurrentUserID.ToString()); httpClient.DefaultRequestHeaders.Add("CurrentHomeID", CurrentHomeID.ToString()); using (var response = await httpClient.PostAsJsonAsync(requestUri, settings)) { var content = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { settings = JsonConvert.DeserializeObject <HomeSettingPostViewModel>(content); if (settings.ChangeHttpSession) { HttpContext.Session.SetString("HomeName", settings.HomeName); } } } } return(RedirectToAction(nameof(Index))); }
public async Task <IActionResult> PostLink(string targetObjectID, string[] objectBIDs, string[] objectLinkTypes) { var link = new ObjectLinkPostViewModel() { ObjectBID = long.Parse(objectBIDs[0]), ObjectLinkType = objectLinkTypes[0], TargetObjectID = long.Parse(targetObjectID) }; using (var httpClient = new HttpClient()) { var requestUri = $"{Configuration.DefaultAPI}/objectlinks/post"; httpClient.DefaultRequestHeaders.Add("CurrentUserID", CurrentUserID.ToString()); httpClient.DefaultRequestHeaders.Add("CurrentHomeID", CurrentHomeID.ToString()); using (var response = await httpClient.PostAsJsonAsync(requestUri, link)) { string content = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { link = JsonConvert.DeserializeObject <ObjectLinkPostViewModel>(content); } } } return(Json(ObjectLinksRenderer.BuildPostLink(link))); }
private async Task <List <string> > GetLinks(long targetObjectID) { var links = new List <ObjectLinkPostViewModel>(); using (var httpClient = new HttpClient()) { var requestUri = $"{Configuration.DefaultAPI}/objectlinks/{targetObjectID}"; httpClient.DefaultRequestHeaders.Add("CurrentUserID", CurrentUserID.ToString()); httpClient.DefaultRequestHeaders.Add("CurrentHomeID", CurrentHomeID.ToString()); using (var response = await httpClient.GetAsync(requestUri)) { string content = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { links = JsonConvert.DeserializeObject <List <ObjectLinkPostViewModel> >(content); } } } var result = ObjectLinksRenderer.BuildLinks(links); return(result); }
public async Task <IActionResult> PostComment(long targetObjectID, string comment) { var result = string.Empty; var theComment = new CommentPostViewModel() { Details = comment, TargetObjectID = targetObjectID }; using (var httpClient = new HttpClient()) { var requestUri = $"{Configuration.DefaultAPI}/comments/post"; httpClient.DefaultRequestHeaders.Add("CurrentUserID", CurrentUserID.ToString()); httpClient.DefaultRequestHeaders.Add("CurrentHomeID", CurrentHomeID.ToString()); using (var response = await httpClient.PostAsJsonAsync(requestUri, theComment)) { string content = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { result = content; } } } return(Json(result)); }
protected void UploadUpdate_Click(object sender, System.EventArgs e) { if (File.PostedFile != null && File.PostedFile.FileName.Trim().Length > 0 && File.PostedFile.ContentLength > 0) { int width = SueetieConfiguration.Get().AvatarSettings.Width; int height = SueetieConfiguration.Get().AvatarSettings.Height; int thumbnailWidth = SueetieConfiguration.Get().AvatarSettings.ThumbnailHeight; int thumbnailHeight = SueetieConfiguration.Get().AvatarSettings.ThumbnailWidth; string imageName = CurrentUserID.ToString() + ".jpg"; string thumbnailImageName = CurrentUserID.ToString() + "t.jpg"; ImageFormat imgFormat = ImageFormat.Jpeg; try { #region Save to disk Bitmap originalBitmap = new Bitmap(File.PostedFile.InputStream); //ImageHelper.CalculateOptimizedWidthAndHeight(originalBitmap, out width, out height); int jpegQuality = SueetieConfiguration.Get().AvatarSettings.ImageQuality; string path = HttpContext.Current.Server.MapPath("/") + SueetieConfiguration.Get().AvatarSettings.AvatarFolderPath; ImageHelper.SaveImageFile(originalBitmap, path + imageName, imgFormat, width, height, jpegQuality); ImageHelper.SaveImageFile(originalBitmap, path + thumbnailImageName, imgFormat, thumbnailWidth, thumbnailHeight, jpegQuality); #endregion #region Save to database for use with Forums SueetieUserAvatar sueetieUserAvatar = new SueetieUserAvatar(); MemoryStream stream = new MemoryStream(); originalBitmap.Save(stream, ImageFormat.Bmp); byte[] data = new byte[stream.Length]; stream.Seek(0, System.IO.SeekOrigin.Begin); stream.Read(data, 0, (int)stream.Length); sueetieUserAvatar.UserID = CurrentUserID; sueetieUserAvatar.AvatarImage = data; sueetieUserAvatar.AvatarImageType = "image/jpeg"; SueetieUsers.UpdateSueetieUserAvatar(sueetieUserAvatar); SueetieUsers.ClearUserCache(sueetieUserAvatar.UserID); //Response.Redirect("myaccountinfo.aspx?av=1&bio=2&pr=2&pw=2"); Response.Redirect("myaccountinfo.aspx?av=1"); #endregion } catch { //return null; } } BindData(); }
public async Task <IActionResult> Index() { if (string.IsNullOrEmpty(HttpContext.Session.GetString("UserID"))) { return(RedirectToAction("Login", "Account")); } if (string.IsNullOrEmpty(HttpContext.Session.GetString("HomeID"))) { return(RedirectToAction("Login")); } var model = new HomePageDisplayModel(); var status = new HomeStatusPostViewModel(); using (var httpClient = new HttpClient()) { var requestUri = $"{Configuration.DefaultAPI}/{CurrentControllerName}/page"; httpClient.DefaultRequestHeaders.Add("CurrentUserID", CurrentUserID.ToString()); httpClient.DefaultRequestHeaders.Add("CurrentHomeID", CurrentHomeID.ToString()); using (var response = await httpClient.GetAsync(requestUri)) { string content = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { model = JsonConvert.DeserializeObject <HomePageDisplayModel>(content); } } } using (var httpClient = new HttpClient()) { var requestUri = $"{Configuration.DefaultAPI}/{CurrentControllerName}/status"; httpClient.DefaultRequestHeaders.Add("CurrentUserID", CurrentUserID.ToString()); httpClient.DefaultRequestHeaders.Add("CurrentHomeID", CurrentHomeID.ToString()); using (var response = await httpClient.GetAsync(requestUri)) { string content = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { status = JsonConvert.DeserializeObject <HomeStatusPostViewModel>(content); } } } model.HomeStatus = status; ViewData["Username"] = CurrentUserName; return(View(model)); }
protected void DeleteAvatar_Click(object sender, System.EventArgs e) { SueetieUsers.DeleteAvatar(CurrentUserID); string path = HttpContext.Current.Server.MapPath("/") + SueetieConfiguration.Get().AvatarSettings.AvatarFolderPath + CurrentUserID.ToString() + ".jpg"; System.IO.File.Delete(path); SueetieUsers.ClearUserCache(CurrentUserID); Response.Redirect("myaccountinfo.aspx?dv=1&bio=2"); //BindData(); }
public async Task <JsonResult> GetHomeStatus() { var result = string.Empty; if (!string.IsNullOrEmpty(HttpContext.Session.GetString("HomeID"))) { var status = new HomeStatusPostViewModel(); var user = new UserPostViewModel(); using (var httpClient = new HttpClient()) { var requestUri = $"{Configuration.DefaultAPI}/{CurrentControllerName}/status"; httpClient.DefaultRequestHeaders.Add("CurrentUserID", CurrentUserID.ToString()); httpClient.DefaultRequestHeaders.Add("CurrentHomeID", CurrentHomeID.ToString()); using (var response = await httpClient.GetAsync(requestUri)) { string content = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { status = JsonConvert.DeserializeObject <HomeStatusPostViewModel>(content); } } } if (status.ID > 0) { using (var httpClient = new HttpClient()) { var requestUri = $"{Configuration.DefaultAPI}/users/{status.UserID}"; httpClient.DefaultRequestHeaders.Add("CurrentUserID", CurrentUserID.ToString()); httpClient.DefaultRequestHeaders.Add("CurrentHomeID", CurrentHomeID.ToString()); using (var response = await httpClient.GetAsync(requestUri)) { string content = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { user = JsonConvert.DeserializeObject <UserPostViewModel>(content); } } } result = $"{status.Status};{user.Name};{status.Details}"; return(Json(result)); } } result = $"1;system_generated;No one has set a status yet!"; return(Json(result)); }
public async Task <IActionResult> Login(HomePostViewModel home) { home.ConfirmPassword = home.Password; ModelState.Clear(); if (string.IsNullOrEmpty(home.Name)) { ModelState.AddModelError("Name", "Home name field is required."); } else if (string.IsNullOrEmpty(home.Password)) { ModelState.AddModelError("Password", "Password field is required."); } else { using (var httpClient = new HttpClient()) { var requestUri = $"{Configuration.DefaultAPI}/{CurrentControllerName}/{nameof(Login)}"; httpClient.DefaultRequestHeaders.Add("CurrentUserID", CurrentUserID.ToString()); using (var response = await httpClient.PostAsJsonAsync(requestUri, home)) { var content = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { home = JsonConvert.DeserializeObject <HomePostViewModel>(content); if (home != null) { HttpContext.Session.SetString("HomeID", home.ID.ToString()); HttpContext.Session.SetString("HomeName", home.Name.ToString()); await SetUserToCurrentHome(home.ID); return(RedirectToAction("Index", "Home")); } else { ModelState.AddModelError("", "Home name or password is wrong."); } } else { ModelState.AddModelError("", "Home name or password is wrong."); } } } } return(View()); }
public async Task SetUserToCurrentHome(long homeID) { using (var httpClient = new HttpClient()) { var requestUri = $"{Configuration.DefaultAPI}/{CurrentControllerName}/homeuser"; httpClient.DefaultRequestHeaders.Add("CurrentUserID", CurrentUserID.ToString()); httpClient.DefaultRequestHeaders.Add("CurrentHomeID", homeID.ToString()); using (var response = await httpClient.PostAsJsonAsync(requestUri, new { })) { } } }
public async Task <ActionResult> DeleteImage(long ID) { var image = new ImagePostViewModel(); using (var httpClient = new HttpClient()) { var requestUri = $"{Configuration.DefaultAPI}/images/image/{ID}"; httpClient.DefaultRequestHeaders.Add("CurrentUserID", CurrentUserID.ToString()); httpClient.DefaultRequestHeaders.Add("CurrentHomeID", CurrentHomeID.ToString()); using (var response = await httpClient.GetAsync(requestUri)) { string content = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { image = JsonConvert.DeserializeObject <ImagePostViewModel>(content); } } } if (image == null) { return(Json(new { success = false, message = "404: Image does not exist." })); } else { return(Json(new { success = false, message = "404: Image does not exist." })); // TODO: This here needs to send request to API // Also, make sure directory path is outside of wwwroot //if (Directory.Exists(ImagesPath)) //{ // var di = new DirectoryInfo(ImagesPath); // foreach (var file in di.GetFiles()) // { // if (file.Name == image.Name) // { // file.Delete(); // break; // } // } // BaseWebService.Delete(image); // return Json(new { success = true, message = "Image deleted successfully." }); //} //else // return Json(new { success = false, message = "404: Images path does not exist." }); } }
protected void InitData() { Query = "&appid=" + Request.QueryString["appid"] + "&tabid=" + Request.QueryString["tabid"] + "&dirid=" + DirID + "&title1=" + stitle.UrlEncode() + "&date1=" + sdate1 + "&date2=" + sdate2; Query1 = Query + "&pagesize=" + Request.QueryString["pagesize"] + "&pagenumber=" + Request.QueryString["pagenumber"]; string pager; string dirIdString = ""; if (DirID.IsGuid()) { dirIdString = new RoadFlow.Platform.DocumentDirectory().GetAllChildIdString(DirID.ToGuid(), CurrentUserID); } DocDt = Doc.GetList(out pager, dirIdString, CurrentUserID.ToString(), Query, stitle, sdate1, sdate2, false); this.PagerText.Text = pager; }
protected virtual async Task PopulateViewData(U model) { var users = await GetUsersInCurrentHome(); var usersSelectList = users.Select(x => new SelectListItem() { Text = x.Name, Value = x.ID.ToString() }).ToList(); ViewData["UsersSelectList"] = usersSelectList; // TODO: Brainstorm on more object link types... var objectLinkTypesSelectList = new List <SelectListItem>() { new SelectListItem() { Text = "relates to", Value = "relates to", Selected = true } }; ViewData["ObjectLinkTypeSelectList"] = objectLinkTypesSelectList; var objects = new List <BusinessObjectDisplayViewModel>(); using (var httpClient = new HttpClient()) { var requestUri = $"{Configuration.DefaultAPI}/home/objects/{model.ObjectID}"; httpClient.DefaultRequestHeaders.Add("CurrentUserID", CurrentUserID.ToString()); httpClient.DefaultRequestHeaders.Add("CurrentHomeID", CurrentHomeID.ToString()); using (var response = await httpClient.GetAsync(requestUri)) { string content = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { objects = JsonConvert.DeserializeObject <List <BusinessObjectDisplayViewModel> >(content); } } } var objectsSelectList = objects.Select(x => new SelectListItem() { Text = x.Name, Value = x.ObjectID.ToString() }).ToList(); ViewData["ObjectBIDSelectList"] = objectsSelectList; }
public async Task <ActionResult> SetHomeStatus(string homeStatusString, string homeStatusDetailsString) { if (!string.IsNullOrEmpty(HttpContext.Session.GetString("HomeID"))) { using (var httpClient = new HttpClient()) { var requestUri = $"{Configuration.DefaultAPI}/{CurrentControllerName}/status?homeStatusString={homeStatusString}&homeStatusDetailsString={homeStatusDetailsString}"; httpClient.DefaultRequestHeaders.Add("CurrentUserID", CurrentUserID.ToString()); httpClient.DefaultRequestHeaders.Add("CurrentHomeID", CurrentHomeID.ToString()); using (var response = await httpClient.PostAsJsonAsync(requestUri, new { })) { } } } return(Ok()); }
public async Task<JsonResult> GetEvents() { var result = new List<EventViewModel>(); using (var httpClient = new HttpClient()) { var requestUri = $"{Configuration.DefaultAPI}/{CurrentControllerName}/events"; httpClient.DefaultRequestHeaders.Add("CurrentUserID", CurrentUserID.ToString()); httpClient.DefaultRequestHeaders.Add("CurrentHomeID", CurrentHomeID.ToString()); using (var response = await httpClient.GetAsync(requestUri)) { string content = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) result = JsonConvert.DeserializeObject<List<EventViewModel>>(content); } } return Json(result.ToArray()); }
public async Task <ActionResult> CreateMessage(string username, string messageText) { using (var httpClient = new HttpClient()) { var requestUri = $"{Configuration.DefaultAPI}/{CurrentControllerName}/chat?username={username}&messageText={messageText}"; httpClient.DefaultRequestHeaders.Add("CurrentUserID", CurrentUserID.ToString()); httpClient.DefaultRequestHeaders.Add("CurrentHomeID", CurrentHomeID.ToString()); using (var response = await httpClient.PostAsJsonAsync(requestUri, new { })) { var content = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { return(Ok()); } } } return(StatusCode(StatusCodes.Status500InternalServerError)); }
private void BindData() { AvatarImg.Visible = true; DeleteAvatarButton.Visible = false; DeleteAvatarButton.Text = SueetieLocalizer.GetString("accountinfo_clear_avatar_button"); if (CurrentSueetieUser.HasAvatarImage) { AvatarImg.ImageUrl = "/images/avatars/" + CurrentUserID.ToString() + ".jpg?n=" + DateTime.Now.ToLongTimeString(); } else { AvatarImg.ImageUrl = "/images/avatars/noavatar.jpg"; } AvatarImg.CssClass = "AvatarBig"; DeleteAvatarButton.Visible = true; if (Request.QueryString["dv"] == "1") { DeleteMessage.Visible = true; } if (Request.QueryString["av"] == "1") { UpdateMessage.Visible = true; } if (Request.QueryString["bio"] == "1") { lblBioUpdateMessage.Visible = true; } if (Request.QueryString["pr"] == "1") { lblProfileMessage.Visible = true; } if (Request.QueryString["pw"] == "1") { lblPasswordMessage.Visible = true; } }
private async Task <List <string> > GetComments(long targetObjectID) { var result = new List <string>(); using (var httpClient = new HttpClient()) { var requestUri = $"{Configuration.DefaultAPI}/comments/{targetObjectID}"; httpClient.DefaultRequestHeaders.Add("CurrentUserID", CurrentUserID.ToString()); httpClient.DefaultRequestHeaders.Add("CurrentHomeID", CurrentHomeID.ToString()); using (var response = await httpClient.GetAsync(requestUri)) { string content = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { result = JsonConvert.DeserializeObject <List <string> >(content); } } } return(result); }
public async Task <JsonResult> GetCount() { var result = 0; using (var httpClient = new HttpClient()) { var requestUri = $"{Configuration.DefaultAPI}/{CurrentControllerName}/count"; httpClient.DefaultRequestHeaders.Add("CurrentUserID", CurrentUserID.ToString()); httpClient.DefaultRequestHeaders.Add("CurrentHomeID", CurrentHomeID.ToString()); using (var response = await httpClient.GetAsync(requestUri)) { string content = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { result = int.Parse(content); } } } return(Json(result)); }
public async Task <IActionResult> Register(HomePostViewModel home) { if (ModelState.IsValid) { using (var httpClient = new HttpClient()) { var requestUri = $"{Configuration.DefaultAPI}/{CurrentControllerName}/{nameof(Register)}"; httpClient.DefaultRequestHeaders.Add("CurrentUserID", CurrentUserID.ToString()); using (var response = await httpClient.PostAsJsonAsync(requestUri, home)) { var content = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { home = JsonConvert.DeserializeObject <HomePostViewModel>(content); } else { ModelState.AddModelError("Name", "This home name is already taken."); return(View(home)); } } } ModelState.Clear(); HttpContext.Session.SetString("HomeID", home.ID.ToString()); HttpContext.Session.SetString("HomeName", home.Name.ToString()); await SetUserToCurrentHome(home.ID); return(RedirectToAction("Index", "Home")); } return(View()); }
private SqlQuery CreateQueryFilter(SqlQuery query, TaskFilter filter, bool isAdmin, bool checkAccess) { if (filter.Follow) { IEnumerable <string> objects = NotifySource.Instance.GetSubscriptionProvider().GetSubscriptions(NotifyConstants.Event_NewCommentForMessage, NotifySource.Instance.GetRecipientsProvider().GetRecipient(CurrentUserID.ToString())); if (filter.ProjectIds.Count != 0) { objects = objects.Where(r => r.Split('_')[2] == filter.ProjectIds[0].ToString(CultureInfo.InvariantCulture)); } var ids = objects.Select(r => r.Split('_')[1]).ToArray(); query.Where(Exp.In("t.id", ids)); } if (filter.ProjectIds.Count != 0) { query.Where(Exp.In("t.project_id", filter.ProjectIds)); } else { if (ProjectsCommonSettings.Load().HideEntitiesInPausedProjects) { query.Where(!Exp.Eq("p.status", ProjectStatus.Paused)); } if (filter.MyProjects) { query.InnerJoin(ParticipantTable + " ppp", Exp.EqColumns("ppp.tenant", "t.tenant_id") & Exp.EqColumns("p.id", "ppp.project_id") & Exp.Eq("ppp.removed", false)); query.Where("ppp.participant_id", CurrentUserID); } } if (filter.TagId != 0) { if (filter.TagId == -1) { query.LeftOuterJoin(ProjectTagTable + " pt", Exp.EqColumns("pt.project_id", "t.project_id")); query.Where("pt.tag_id", null); } else { query.InnerJoin(ProjectTagTable + " pt", Exp.EqColumns("pt.project_id", "t.project_id")); query.Where("pt.tag_id", filter.TagId); } } if (filter.UserId != Guid.Empty) { query.Where("t.create_by", filter.UserId); } if (filter.DepartmentId != Guid.Empty) { query.InnerJoin("core_usergroup cug", Exp.EqColumns("cug.tenant", "t.tenant_id") & Exp.Eq("cug.removed", false) & Exp.EqColumns("cug.userid", "t.create_by")); query.Where("cug.groupid", filter.DepartmentId); } if (!filter.FromDate.Equals(DateTime.MinValue) && !filter.ToDate.Equals(DateTime.MinValue) && !filter.ToDate.Equals(DateTime.MaxValue)) { query.Where(Exp.Between("t.create_on", filter.FromDate, filter.ToDate.AddDays(1))); } if (filter.MessageStatus.HasValue) { query.Where("t.status", filter.MessageStatus.Value); } if (!string.IsNullOrEmpty(filter.SearchText)) { if (FullTextSearch.SupportModule(FullTextSearch.ProjectsMessagesModule)) { var mIds = FullTextSearch.Search(FullTextSearch.ProjectsMessagesModule.Match(filter.SearchText)); query.Where(Exp.In("t.id", mIds)); } else { query.Where(Exp.Like("t.title", filter.SearchText, SqlLike.AnyWhere)); } } if (checkAccess) { query.Where(Exp.Eq("p.private", false)); } else if (!isAdmin) { var isInTeam = new SqlQuery(ParticipantTable).Select("security").Where(Exp.EqColumns("p.id", "project_id") & Exp.Eq("removed", false) & Exp.Eq("participant_id", CurrentUserID) & !Exp.Eq("security & " + (int)ProjectTeamSecurity.Messages, (int)ProjectTeamSecurity.Messages)); query.Where(Exp.Eq("p.private", false) | Exp.Eq("p.responsible_id", CurrentUserID) | (Exp.Eq("p.private", true) & Exp.Exists(isInTeam))); } return(query); }
private bool AttachmentsAvailableForUpdate(DataTable dtDocumentOrgUsers) { if (User.IsInRole(((int)UserRoles.urBudgetDivisionAdmin).ToString())) { return(true); } var organizations = "|"; var reviewers = "|"; foreach (DataRow dr in dtDocumentOrgUsers.Rows) { organizations = organizations + dr["Organization"].ToString() + "|"; reviewers = reviewers + dr["ReviewerUserID"].ToString() + "|"; } if (User.IsInRole(((int)UserRoles.urOrganizationAdmin).ToString()) && (organizations.IndexOf("|" + CurrentUserOrganization + "|") > -1)) { return(true); } if (User.IsInRole(((int)UserRoles.urReviewer).ToString()) && (reviewers.IndexOf("|" + CurrentUserID.ToString() + "|") > -1)) { return(true); } return(false); }
public async Task <IActionResult> Delete(long?ID) { if (ID == null) { return(new Error404NotFoundViewResult()); } var model = new U(); using (var httpClient = new HttpClient()) { var requestUri = $"{Configuration.DefaultAPI}/home/{CurrentHomeID}/{CurrentAreaName}/{(long)ID}"; httpClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("CurrentUserID", CurrentUserID.ToString()); using (var response = await httpClient.GetAsync(requestUri)) { string content = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { model = JsonConvert.DeserializeObject <U>(content); } } } if (model.ID > 0) { using (var httpClient = new HttpClient()) { var requestUri = $"{Configuration.DefaultAPI}/home/{CurrentHomeID}/{CurrentAreaName}/delete/{(long)ID}"; httpClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("CurrentUserID", CurrentUserID.ToString()); using (var response = await httpClient.GetAsync(requestUri)) { string content = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { return(RedirectToAction(nameof(Index))); } else { return(new Error404NotFoundViewResult()); } } } } else { return(new Error404NotFoundViewResult()); } }
public async Task <JsonResult> GetCount() { int count = 0; using (var httpClient = new HttpClient()) { var requestUri = $"{Configuration.DefaultAPI}/home/{CurrentHomeID}/{CurrentAreaName}/{CurrentControllerName}/count"; httpClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("CurrentUserID", CurrentUserID.ToString()); using (var response = await httpClient.GetAsync(requestUri)) { string content = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { count = JsonConvert.DeserializeObject <int>(content); } } } return(Json(count)); }
public IActionResult Submit([FromBody] SubmitOrder model) { try { //防止重复下单 DateTime cacheEntry; string cacheKey = "CacheKey" + CurrentUserID; // Look for cache key. if (!_cache.TryGetValue(cacheKey, out cacheEntry)) { // Key not in cache, so get data. cacheEntry = DateTime.Now; // Set cache options. var cacheEntryOptions = new MemoryCacheEntryOptions() // Keep in cache for this time, reset time if accessed. .SetSlidingExpiration(TimeSpan.FromSeconds(3)); // Save data in cache. _cache.Set(cacheKey, cacheEntry, cacheEntryOptions); } else { if ((DateTime.Now - cacheEntry).Seconds < 3) { throw new Exception("重复提交"); } } using (var tran = _context.Database.BeginTransaction()) { //1.查询购物车 //2.查询地址 //3.提交订单(余额支付) //4.发起支付 var list = from a in _context.ShopCarts where model.ShopCartID.Contains(a.ID) select a; if (list == null || list.Count() == 0) { throw new Exception("购物车商品不存在"); } var address = _context.ShippingAddress.Find(model.AddressID); if (address == null) { throw new Exception("地址信息不存在"); } decimal total = list.Sum(s => s.Price * s.Num); Order order = new Order() { ID = Guid.NewGuid(), OrderCode = DateTime.Now.ToString("BDyyyyMMddHHmmssfff") + CurrentUserID.ToString().PadLeft(13, '0'), IfPay = false, SubmitTime = DateTime.Now, TotalPrice = total, UserID = CurrentUserID, PostUserName = address.UserName, PostUserPhone = address.UserPhone, PostAddress = address.Address, PostDetailAddress = address.DetailAddress, OrderStatus = 0,//待支付 IpAddress = "", IpCity = "" }; //发起支付 使用余额支付 if (model.PayMode == 0) { var user = _context.Users.Find(CurrentUserID); if (user.UserBalance < total) { throw new Exception("余额不足,请充值"); } user.UserBalance -= total; order.IfPay = true; } _context.Orders.Add(order); foreach (var item in list) { OrderDetail orderDetail = new OrderDetail() { ID = Guid.NewGuid(), OrderID = order.ID, DBPeriodsID = item.DBPeriodsID, DBNum = item.Num, DBPrice = item.Num * item.Price, DBPerPrice = item.Price }; _context.OrderDetails.Add(orderDetail); ///获取所有的已参与记录 var dBPeriods = _context.DBPeriods.Find(item.DBPeriodsID); if (dBPeriods == null) { throw new Exception("商品不存在或已删除"); } else if (dBPeriods != null && dBPeriods.Status != 0) { throw new Exception("商品人数已满,请选择下一期夺宝"); } //已使用的号 var oldPeriod = _context.DBOrderDetails.Where(s => s.DBPeriodsID == item.DBPeriodsID); int[] baseCode = ProduceTicket(dBPeriods.NeedNum); int[] hasCode = oldPeriod.Select(s => s.DBTicket).ToArray(); var overplus = baseCode.Except(hasCode).ToList(); Random random = new Random(); List <DBOrderDetail> dBOrderDetails = new List <DBOrderDetail>(); for (int i = 0; i < item.Num; i++) { int index = random.Next(0, overplus.Count);//0到length-1 dBOrderDetails.Add(new DBOrderDetail() { ID = Guid.NewGuid(), OrderDetailID = orderDetail.ID, DBPeriodsID = item.DBPeriodsID, DBTicket = overplus[index], UserID = CurrentUserID }); overplus.RemoveAt(index); } _context.DBOrderDetails.AddRange(dBOrderDetails); dBPeriods.OverplusNum = dBPeriods.OverplusNum - item.Num; //如果是余额支付直接开奖 if (model.PayMode == 0) { if (dBPeriods.OverplusNum == 0) { dBPeriods.WaitOpenTime = DateTime.Now.AddMinutes(10); dBPeriods.Status = 1;//0 进行中 1正在开奖中2开奖成功3开奖失败 //OpenPeriods waitopen = new OpenPeriods(); //waitopen.WaitOpen(dBPeriods.ID); } } } ///0、1、2 余额、微信、支付宝 //发起支付 if (model.PayMode == 1) { //TODO 微信 } else if (model.PayMode == 2) { //TODO 支付宝 } //user UserBalance 自动保存 _context.ShopCarts.RemoveRange(list); _context.SaveChanges(); tran.Commit(); } return(new ObjectResult(FormatResult.Success("提交成功"))); } catch (Exception e) { return(new ObjectResult(FormatResult.Failure(e.Message))); } }
public virtual async Task <IActionResult> Index() { List <T> models = new List <T>(); using (var httpClient = new HttpClient()) { var requestUri = $"{Configuration.DefaultAPI}/home/{CurrentHomeID}/{CurrentAreaName}/{CurrentControllerName}"; httpClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("CurrentUserID", CurrentUserID.ToString()); using (var response = await httpClient.GetAsync(requestUri)) { var content = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { models = JsonConvert.DeserializeObject <List <T> >(content); } } } ViewData["CanManage"] = CanManage; foreach (var model in models) { await SetGridItemActions(model); } return(View("_Grid", models)); }
public async Task <IActionResult> Details(long?ID) { if (ID == null) { return(new Error404NotFoundViewResult()); } var model = new U(); using (var httpClient = new HttpClient()) { var requestUri = $"{Configuration.DefaultAPI}/home/{CurrentHomeID}/{CurrentAreaName}/{(long)ID}"; httpClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("CurrentUserID", CurrentUserID.ToString()); using (var response = await httpClient.GetAsync(requestUri)) { string content = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { model = JsonConvert.DeserializeObject <U>(content); } } } if (model.ID > 0) { ViewData["CanManage"] = CanManage; await GetClingons(model); await SetObjectActions(model); await PopulateViewData(model); return(View("_Details", model)); } else { return(new Error404NotFoundViewResult()); } }