public HttpResponseMessage Create(CreateDTO postData) { try { int userId = UserInfo.UserID; IDictionary <string, UserInfo> mentionedUsers = new Dictionary <string, UserInfo>(); if (postData.ProfileId == -1) { postData.ProfileId = userId; } checkProfileAccess(postData.ProfileId, UserInfo); checkGroupAccess(postData); var journalItem = prepareJournalItem(postData, mentionedUsers); JournalController.Instance.SaveJournalItem(journalItem, ActiveModule); var originalSummary = journalItem.Summary; SendMentionNotifications(mentionedUsers, journalItem, originalSummary); return(Request.CreateResponse(HttpStatusCode.OK, journalItem)); } catch (Exception exc) { Logger.Error(exc); return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, exc)); } }
public HttpResponseMessage Create(CreateDTO postData) { try { var portalId = PortalController.GetEffectivePortalId(PortalSettings.PortalId); var roleIdsList = string.IsNullOrEmpty(postData.RoleIds) ? null : postData.RoleIds.FromJson <IList <int> >(); var userIdsList = string.IsNullOrEmpty(postData.UserIds) ? null : postData.UserIds.FromJson <IList <int> >(); var fileIdsList = string.IsNullOrEmpty(postData.FileIds) ? null : postData.FileIds.FromJson <IList <int> >(); var roles = roleIdsList != null && roleIdsList.Count > 0 ? roleIdsList.Select(id => RoleController.Instance.GetRole(portalId, r => r.RoleID == id)).Where(role => role != null).ToList() : null; List <UserInfo> users = null; if (userIdsList != null) { users = userIdsList.Select(id => UserController.Instance.GetUser(portalId, id)).Where(user => user != null).ToList(); } var message = new Message { Subject = HttpUtility.UrlDecode(postData.Subject), Body = HttpUtility.UrlDecode(postData.Body) }; MessagingController.Instance.SendMessage(message, roles, users, fileIdsList); return(Request.CreateResponse(HttpStatusCode.OK, new { Result = "success", Value = message.MessageID })); } catch (Exception exc) { Logger.Error(exc); return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, exc)); } }
public async void Test_Post_Articles() { Assert.Equal(24, _fixture.Context.Articles.Count()); var test = new CreateDTO { Article = new ArticleDTO { Id = 0, Title = "testtitle", Author = "", UserId = "", Date = DateTime.Now, Summary = "sumsum", Content = "concon", Leading = false }, Images = new List <PictureDTO> { } }; // Act var content = new StringContent(JsonConvert.SerializeObject(test), Encoding.UTF8, "application/json"); var response2 = await _fixture.Client.PostAsync("api/Articles/", content); // Assert response2.EnsureSuccessStatusCode(); Assert.Equal(25, _fixture.Context.Articles.Count()); }
public HttpResponseMessage Create(CreateDTO postData) { try { var portalId = PortalController.GetEffectivePortalId(PortalSettings.PortalId); var roleIdsList = string.IsNullOrEmpty(postData.RoleIds) ? null : postData.RoleIds.FromJson<IList<int>>(); var userIdsList = string.IsNullOrEmpty(postData.UserIds) ? null : postData.UserIds.FromJson<IList<int>>(); var fileIdsList = string.IsNullOrEmpty(postData.FileIds) ? null : postData.FileIds.FromJson<IList<int>>(); var roles = roleIdsList != null && roleIdsList.Count > 0 ? roleIdsList.Select(id => TestableRoleController.Instance.GetRole(portalId, r => r.RoleID == id)).Where(role => role != null).ToList() : null; List<UserInfo> users = null; if (userIdsList != null) { var userController = new UserController(); users = userIdsList.Select(id => userController.GetUser(portalId, id)).Where(user => user != null).ToList(); } var message = new Message { Subject = HttpUtility.UrlDecode(postData.Subject), Body = HttpUtility.UrlDecode(postData.Body) }; MessagingController.Instance.SendMessage(message, roles, users, fileIdsList); return Request.CreateResponse(HttpStatusCode.OK, new { Result = "success", Value = message.MessageID }); } catch (Exception exc) { Logger.Error(exc); return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, exc); } }
public IActionResult RecieveUserData([FromBody] CreateDTO loginDTO) { Facilitator facilitator = userManager.DoesFacilitatorExist(loginDTO.Username); if (facilitator == null) { //userManager.CreateFacilitator(loginDTO.Username); return(Ok($"A Fascilitator with the email {facilitator.Email} has been created")); } return(Ok("A User With This Email Already Exists")); }
public IComponentModelDTO Create(CreateDTO value) { switch (value) { case CreateDTO.ComponentModel: return new ComponentModelDTO (); case CreateDTO.ResponseMethod: ResponseMethodDTO responseMethodDTO = new ResponseMethodDTO (); responseMethodDTO.SetExecutionSuccess (false); //Por defecto inicializará a false. return responseMethodDTO; default: return null; } }
public async Task <Boolean> CreateArticle(ArticleDTO article, IEnumerable <PictureDTO> images) { var test = new CreateDTO { Article = article, Images = images }; HttpResponseMessage response = await _client.PostAsJsonAsync("api/Articles/", test); if (response.IsSuccessStatusCode) { return(response.IsSuccessStatusCode); } throw new NetworkException("Service returned response: " + response.StatusCode); }
public IComponentModelDTO Create(CreateDTO value) { switch (value) { case CreateDTO.ComponentModel: return(new ComponentModelDTO()); case CreateDTO.ResponseMethod: ResponseMethodDTO responseMethodDTO = new ResponseMethodDTO(); responseMethodDTO.SetExecutionSuccess(false); //Por defecto inicializará a false. return(responseMethodDTO); default: return(null); } }
private void checkGroupAccess(CreateDTO postData) { if (postData.GroupId > 0) { postData.ProfileId = -1; RoleInfo roleInfo = RoleController.Instance.GetRoleById(ActiveModule.OwnerPortalID, postData.GroupId); if (roleInfo != null) { if (!UserInfo.IsInRole(PortalSettings.AdministratorRoleName) && !UserInfo.IsInRole(roleInfo.RoleName)) { throw new ArgumentException("you have no permission to post journal on current group."); } if (!roleInfo.IsPublic) { postData.SecuritySet = "R"; } } } }
//[Authorize(Roles = "admin")] public IActionResult PostArticle([FromBody] CreateDTO createDTO) { try { var userId = _userManager.GetUserId(User); var test2 = _userManager.GetUserName(User); //var test = _context.Users.Find(userId).Name; var addedArticle = _context.Articles.Add(new Article { Title = createDTO.Article.Title, Author = test2, UserId = userId, Date = DateTime.Now, Summary = createDTO.Article.Summary, Content = createDTO.Article.Content, Leading = createDTO.Article.Leading }); createDTO.Article.Id = addedArticle.Entity.Id; foreach (var item in createDTO.Images) { _context.Pictures.Add(new Picture { ArticleId = addedArticle.Entity.Id, Image = item.Image }); } _context.SaveChanges(); return(Created(Request.GetUri() + addedArticle.Entity.Id.ToString(), createDTO)); } catch { return(StatusCode(StatusCodes.Status500InternalServerError)); } }
public HttpResponseMessage Create(CreateDTO postData) { try { var journalTypeId = 1; switch (postData.JournalType) { case "link": journalTypeId = 2; break; case "photo": journalTypeId = 3; break; case "file": journalTypeId = 4; break; } if (postData.ProfileId == -1) { postData.ProfileId = UserInfo.UserID; } if (postData.GroupId > 0) { postData.ProfileId = -1; } var ji = new JournalItem { JournalId = -1, JournalTypeId = journalTypeId, PortalId = ActiveModule.OwnerPortalID, UserId = UserInfo.UserID, SocialGroupId = postData.GroupId, ProfileId = postData.ProfileId, Summary = postData.Text, SecuritySet = postData.SecuritySet }; ji.Title = HttpUtility.HtmlDecode(HttpUtility.UrlDecode(ji.Title)); ji.Summary = HttpUtility.HtmlDecode(HttpUtility.UrlDecode(ji.Summary)); var ps = new PortalSecurity(); ji.Title = ps.InputFilter(ji.Title, PortalSecurity.FilterFlag.NoScripting); ji.Title = Utilities.RemoveHTML(ji.Title); ji.Title = ps.InputFilter(ji.Title, PortalSecurity.FilterFlag.NoMarkup); ji.Summary = ps.InputFilter(ji.Summary, PortalSecurity.FilterFlag.NoScripting); ji.Summary = Utilities.RemoveHTML(ji.Summary); ji.Summary = ps.InputFilter(ji.Summary, PortalSecurity.FilterFlag.NoMarkup); if (ji.Summary.Length > 2000) { ji.Body = ji.Summary; ji.Summary = null; } if (!string.IsNullOrEmpty(postData.ItemData)) { ji.ItemData = postData.ItemData.FromJson <ItemData>(); ji.ItemData.Description = HttpUtility.UrlDecode(ji.ItemData.Description); if (!string.IsNullOrEmpty(ji.ItemData.Url) && ji.ItemData.Url.StartsWith("fileid=")) { var fileId = Convert.ToInt32(ji.ItemData.Url.Replace("fileid=", string.Empty).Trim()); var file = FileManager.Instance.GetFile(fileId); ji.ItemData.Title = file.FileName; ji.ItemData.Url = Globals.LinkClick(ji.ItemData.Url, Null.NullInteger, Null.NullInteger); } } JournalController.Instance.SaveJournalItem(ji, 1); return(Request.CreateResponse(HttpStatusCode.OK, ji)); } catch (Exception exc) { Logger.Error(exc); return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, exc)); } }
public HttpResponseMessage Create(CreateDTO postData) { try { var journalTypeId = 1; switch (postData.JournalType) { case "link": journalTypeId = 2; break; case "photo": journalTypeId = 3; break; case "file": journalTypeId = 4; break; } if (postData.ProfileId == -1) { postData.ProfileId = UserInfo.UserID; } if (postData.GroupId > 0) { postData.ProfileId = -1; RoleInfo roleInfo = RoleController.Instance.GetRoleById(ActiveModule.OwnerPortalID, postData.GroupId); if (roleInfo != null && !roleInfo.IsPublic) { postData.SecuritySet = "R"; } } var ji = new JournalItem { JournalId = -1, JournalTypeId = journalTypeId, PortalId = ActiveModule.OwnerPortalID, UserId = UserInfo.UserID, SocialGroupId = postData.GroupId, ProfileId = postData.ProfileId, Summary = postData.Text ?? "", SecuritySet = postData.SecuritySet }; ji.Title = HttpUtility.HtmlDecode(HttpUtility.UrlDecode(ji.Title)); ji.Summary = HttpUtility.HtmlDecode(HttpUtility.UrlDecode(ji.Summary)); var ps = new PortalSecurity(); ji.Title = ps.InputFilter(ji.Title, PortalSecurity.FilterFlag.NoScripting); ji.Title = Utilities.RemoveHTML(ji.Title); ji.Title = ps.InputFilter(ji.Title, PortalSecurity.FilterFlag.NoMarkup); ji.Summary = ps.InputFilter(ji.Summary, PortalSecurity.FilterFlag.NoScripting); ji.Summary = Utilities.RemoveHTML(ji.Summary); ji.Summary = ps.InputFilter(ji.Summary, PortalSecurity.FilterFlag.NoMarkup); //parse the mentions context in post data var originalSummary = ji.Summary; IDictionary <string, UserInfo> mentionedUsers = new Dictionary <string, UserInfo>(); ji.Summary = ParseMentions(ji.Summary, postData.Mentions, ref mentionedUsers); if (ji.Summary.Length > 2000) { ji.Body = ji.Summary; ji.Summary = null; } if (!string.IsNullOrEmpty(postData.ItemData)) { ji.ItemData = postData.ItemData.FromJson <ItemData>(); var originalImageUrl = ji.ItemData.ImageUrl; if (!IsImageFile(ji.ItemData.ImageUrl)) { ji.ItemData.ImageUrl = string.Empty; } ji.ItemData.Description = HttpUtility.UrlDecode(ji.ItemData.Description); if (!string.IsNullOrEmpty(ji.ItemData.Url) && ji.ItemData.Url.StartsWith("fileid=")) { var fileId = Convert.ToInt32(ji.ItemData.Url.Replace("fileid=", string.Empty).Trim()); var file = FileManager.Instance.GetFile(fileId); ji.ItemData.Title = file.FileName; ji.ItemData.Url = Globals.LinkClick(ji.ItemData.Url, Null.NullInteger, Null.NullInteger); if (string.IsNullOrEmpty(ji.ItemData.ImageUrl) && originalImageUrl.ToLower().StartsWith("/linkclick.aspx?") && AcceptedFileExtensions.Contains(file.Extension.ToLower())) { ji.ItemData.ImageUrl = originalImageUrl; } } } JournalController.Instance.SaveJournalItem(ji, ActiveModule); SendMentionNotifications(mentionedUsers, ji, originalSummary); return(Request.CreateResponse(HttpStatusCode.OK, ji)); } catch (Exception exc) { Logger.Error(exc); return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, exc)); } }
private JournalItem prepareJournalItem(CreateDTO postData, IDictionary <string, UserInfo> mentionedUsers) { var journalTypeId = 1; switch (postData.JournalType) { case "link": journalTypeId = 2; break; case "photo": journalTypeId = 3; break; case "file": journalTypeId = 4; break; } var ji = new JournalItem { JournalId = -1, JournalTypeId = journalTypeId, PortalId = ActiveModule.OwnerPortalID, UserId = UserInfo.UserID, SocialGroupId = postData.GroupId, ProfileId = postData.ProfileId, Summary = postData.Text ?? "", SecuritySet = postData.SecuritySet }; ji.Title = HttpUtility.HtmlDecode(HttpUtility.UrlDecode(ji.Title)); ji.Summary = HttpUtility.HtmlDecode(HttpUtility.UrlDecode(ji.Summary)); var ps = PortalSecurity.Instance; ji.Title = ps.InputFilter(ji.Title, PortalSecurity.FilterFlag.NoScripting); ji.Title = Utilities.RemoveHTML(ji.Title); ji.Title = ps.InputFilter(ji.Title, PortalSecurity.FilterFlag.NoMarkup); ji.Summary = ps.InputFilter(ji.Summary, PortalSecurity.FilterFlag.NoScripting); ji.Summary = Utilities.RemoveHTML(ji.Summary); ji.Summary = ps.InputFilter(ji.Summary, PortalSecurity.FilterFlag.NoMarkup); //parse the mentions context in post data var originalSummary = ji.Summary; ji.Summary = ParseMentions(ji.Summary, postData.Mentions, ref mentionedUsers); if (ji.Summary.Length > 2000) { ji.Body = ji.Summary; ji.Summary = null; } if (!string.IsNullOrEmpty(postData.ItemData)) { ji.ItemData = postData.ItemData.FromJson <ItemData>(); var originalImageUrl = ji.ItemData.ImageUrl; if (!IsImageFile(ji.ItemData.ImageUrl)) { ji.ItemData.ImageUrl = string.Empty; } ji.ItemData.Description = HttpUtility.UrlDecode(ji.ItemData.Description); if (!IsAllowedLink(ji.ItemData.Url)) { ji.ItemData.Url = string.Empty; } if (!string.IsNullOrEmpty(ji.ItemData.Url) && ji.ItemData.Url.StartsWith("fileid=")) { var fileId = Convert.ToInt32(ji.ItemData.Url.Replace("fileid=", string.Empty).Trim()); var file = FileManager.Instance.GetFile(fileId); if (!IsCurrentUserFile(file)) { throw new ArgumentException("you have no permission to attach files not belongs to you."); } ji.ItemData.Title = file.FileName; ji.ItemData.Url = Globals.LinkClick(ji.ItemData.Url, Null.NullInteger, Null.NullInteger); if (string.IsNullOrEmpty(ji.ItemData.ImageUrl) && originalImageUrl.ToLowerInvariant().StartsWith("/linkclick.aspx?") && AcceptedFileExtensions.Contains(file.Extension.ToLowerInvariant())) { ji.ItemData.ImageUrl = originalImageUrl; } } } return(ji); }
public HttpResponseMessage Create(CreateDTO postData) { try { var journalTypeId = 1; switch (postData.JournalType) { case "link": journalTypeId = 2; break; case "photo": journalTypeId = 3; break; case "file": journalTypeId = 4; break; } if (postData.ProfileId == -1) { postData.ProfileId = UserInfo.UserID; } if (postData.GroupId > 0) { postData.ProfileId = -1; } var ji = new JournalItem { JournalId = -1, JournalTypeId = journalTypeId, PortalId = ActiveModule.OwnerPortalID, UserId = UserInfo.UserID, SocialGroupId = postData.GroupId, ProfileId = postData.ProfileId, Summary = postData.Text, SecuritySet = postData.SecuritySet }; ji.Title = HttpUtility.HtmlDecode(HttpUtility.UrlDecode(ji.Title)); ji.Summary = HttpUtility.HtmlDecode(HttpUtility.UrlDecode(ji.Summary)); var ps = new PortalSecurity(); ji.Title = ps.InputFilter(ji.Title, PortalSecurity.FilterFlag.NoScripting); ji.Title = Utilities.RemoveHTML(ji.Title); ji.Title = ps.InputFilter(ji.Title, PortalSecurity.FilterFlag.NoMarkup); ji.Summary = ps.InputFilter(ji.Summary, PortalSecurity.FilterFlag.NoScripting); ji.Summary = Utilities.RemoveHTML(ji.Summary); ji.Summary = ps.InputFilter(ji.Summary, PortalSecurity.FilterFlag.NoMarkup); if (ji.Summary.Length > 2000) { ji.Body = ji.Summary; ji.Summary = null; } if (!string.IsNullOrEmpty(postData.ItemData)) { ji.ItemData = postData.ItemData.FromJson<ItemData>(); ji.ItemData.Description = HttpUtility.UrlDecode(ji.ItemData.Description); if (!string.IsNullOrEmpty(ji.ItemData.Url) && ji.ItemData.Url.StartsWith("fileid=")) { var fileId = Convert.ToInt32(ji.ItemData.Url.Replace("fileid=", string.Empty).Trim()); var file = FileManager.Instance.GetFile(fileId); ji.ItemData.Title = file.FileName; ji.ItemData.Url = Globals.LinkClick(ji.ItemData.Url, Null.NullInteger, Null.NullInteger); } } JournalController.Instance.SaveJournalItem(ji, 1); return Request.CreateResponse(HttpStatusCode.OK, ji); } catch (Exception exc) { Logger.Error(exc); return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, exc); } }
public DTO <CreateDTO> CreateSubscription(Models.Input <CreateSubscription> obj) { Models.DTO <CreateDTO> dto = new Models.DTO <CreateDTO>(); CreateDTO resp = new CreateDTO(); dto.objname = "CreateSubscription"; try { /* Check required parameters */ if (string.IsNullOrEmpty(obj.input.msisdn)) { dto.status = new Models.Status(800); return(dto); } if (!(string.IsNullOrEmpty(obj.input.PaymentID))) { obj.input.service = getService(Convert.ToInt32(obj.input.PaymentID)); if (string.IsNullOrEmpty(obj.input.service)) { dto.status = new Status(800); return(dto); } obj.input.app = "InternalService"; obj.input.appuser = "******"; obj.input.username = "******"; obj.input.password = "******"; obj.input.authkey = "testauthkey"; obj.input.trial = "0"; } Authentication ar = new Authentication(); string hash = ar.UserAuth(obj.input.msisdn, obj.input.service); string uri = ConfigurationManager.AppSettings["oneglobalDOB"].ToString(); string url = uri + "/CreateSubscription"; HttpClient client = new HttpClient(); client.BaseAddress = new Uri(url); if (url != null) { try { JavaScriptSerializer jdes = new JavaScriptSerializer(); var reqObj = new CreateSubscription(); reqObj.username = obj.input.username; reqObj.password = obj.input.password; reqObj.authkey = obj.input.authkey; reqObj.service = obj.input.service; reqObj.hash = hash; reqObj.msisdn = obj.input.msisdn; reqObj.pin = obj.input.pin; reqObj.trial = obj.input.trial; reqObj.appuser = "******"; Input <CreateSubscription> inp = new Input <CreateSubscription>(); inp.input = reqObj; client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")); client.DefaultRequestHeaders.TryAddWithoutValidation("Content-Type", "application/json; charset=utf-8"); HttpResponseMessage response = client.PostAsJsonAsync(url, inp).Result; if (response.IsSuccessStatusCode) { if (response != null) { Task <String> ss = response.Content.ReadAsStringAsync(); var result = JsonConvert.DeserializeObject <Models.DTO <CreateDTO> >(ss.Result); if (result != null) { dto.response = result.response; dto.status = result.status; return(dto); } } } } catch (HttpRequestException e) { Console.WriteLine(e.Message); } } } catch (Exception ex) { dto.status = new Models.Status(1); } return(dto); }
public async Task <bool> Create([FromBody] CreateDTO model) { var command = new CreateTestCommand(model.Name); return(await _bus.SendCommandAsync(command)); }