protected override RuleOutcome EvaluateRule(VoatRuleContext context) { UserSubmission submission = context.PropertyBag.UserSubmission; switch (submission.Type) { case SubmissionType.Link: Data.Models.Submission recentlySubmitted = null; using (var repo = new Repository()) { recentlySubmitted = repo.FindSubverseLinkSubmission(context.Subverse.Name, submission.Url, TimeSpan.FromDays(15)); } if (recentlySubmitted != null) { string url = VoatUrlFormatter.BuildUrlPath(null, new Common.PathOptions() { FullyQualified = true, ProvideProtocol = true }, $"v/{recentlySubmitted.Subverse}/{recentlySubmitted.ID}"); return(CreateOutcome(RuleResult.Denied, $"Sorry, this link has already been submitted recently. {url}")); } break; case SubmissionType.Text: //containsBannedDomain = BanningUtility.ContentContainsBannedDomain(context.Subverse.Name, submission.Content); break; } return(Allowed); }
public void TestCommandActivitySerialization() { var settings = JsonSettings.DataSerializationSettings; var user = TestHelper.SetPrincipal("Frank", "admin", "user"); var userSubmission = new UserSubmission() { Content = "This is content", Title = "This is title", Url = "http://thisisurl.com", Subverse = "ThisIsSubverse" }; var command = new CreateSubmissionCommand(userSubmission).SetUserContext(user); var activity = (ActivityContext)command.Context; var json = JsonConvert.SerializeObject(command, settings); var newCommand = JsonConvert.DeserializeObject <CreateSubmissionCommand>(json, settings); var newUserSubmission = newCommand.UserSubmission; var newActivity = (ActivityContext)newCommand.Context; Assert.AreEqual(userSubmission.Content, newUserSubmission.Content); Assert.AreEqual(userSubmission.Title, newUserSubmission.Title); Assert.AreEqual(userSubmission.Url, newUserSubmission.Url); Assert.AreEqual(userSubmission.Subverse, newUserSubmission.Subverse); Assert.AreEqual(activity.ActivityID, newActivity.ActivityID); Assert.AreEqual(activity.StartDate, newActivity.StartDate); Assert.AreEqual(activity.EndDate, newActivity.EndDate); Assert.AreEqual(activity.User.Identity.Name, newActivity.User.Identity.Name); //We want to ensure deserialization does not retain these VoatSettings.Instance. Assert.AreEqual(false, newActivity.User.Identity.IsAuthenticated); Assert.AreEqual("", newActivity.User.Identity.AuthenticationType); }
public SubmissionResponse SaveNewSubmission(BaseSubmission submission, string result) { var response = new SubmissionResponse(); if (!DoesUserTaskSubmissionExist(submission.TaskId, submission.Nickname)) { var newSubmission = new UserSubmission() { Code = submission.Solution, IsCorrect = DoesTaskHaveCorrectResult(submission.TaskId, result), IsDeleted = false, Nickname = submission.Nickname, Result = result, SubmissionDateTime = DateTime.UtcNow, TaskId = submission.TaskId }; _programmingCompetitionDataContext.UserSubmission.Add(newSubmission); _programmingCompetitionDataContext.SaveChanges(); response.IsCorrectResult = newSubmission.IsCorrect; response.IsSubmissionAccepted = true; response.Response = newSubmission.Result; } else { response.IsSubmissionAccepted = false; response.Response = "There is already a submission for this task with current user nickname!"; } return(response); }
private void SetAspectValues() { subtimeSUB.AspectGetter = delegate(object row) { return(UnixTimestamp.FormatUnixTime(((UserSubmission)row).sbt)); }; lanSUB.AspectToStringConverter = delegate(object dat) { return(Functions.GetLanguage((Language)(long)dat)); }; verSUB.AspectToStringConverter = delegate(object dat) { return(Functions.GetVerdict((Verdict)(long)dat)); }; runSUB.AspectToStringConverter = delegate(object dat) { return(Functions.FormatRuntime((long)dat)); }; rankSUB.AspectToStringConverter = delegate(object dat) { if ((long)dat == -1) { return("-"); } return(((long)dat).ToString()); }; pnumSUB.GroupKeyGetter = delegate(object row) { UserSubmission usub = (UserSubmission)row; return(string.Format("{0} - {1}", usub.pnum, usub.ptitle)); }; }
public static void Initialize(ForumContext context) { context.Database.EnsureCreated(); if (context.Topics.Any()) { return; } var mainBoard = new Topic { Name = "Index", AllowsThreads = false, Description = "This is the root board" }; var master = new UserSubmission { Username = "******", Email = "*****@*****.**", HasSignature = false, Password = "******" }; context.AddTopic(mainBoard); // This password only exists momentarily when the system is being created. context.AddUser(master); master.Status = UserStatus.Administrator; context.SaveChanges(); }
public IActionResult NewUser([FromBody] UserSubmission user) { if (user == null) { return(BadRequest(Errors.MissingFields)); } if (!DataHandler.IsValidEmail(user.Email)) { return(BadRequest(Errors.InvalidEmail)); } if (database.GetAllUsers().FirstOrDefault(u => u.Name == user.Username || u.Email == user.Email) != null) { return(BadRequest(Errors.AlreadyExists)); } if (!DataHandler.VerifyPassword(user.Password)) { return(BadRequest(Errors.WeakPassword)); } database.AddUser(user); database.SaveChanges(); user.Password = ""; return(new ObjectResult(user)); }
public void RemoveFieldFile(long idSubmittedField, List <dtoSubmissionValueField> fields, DateTime clickDt) { UserSubmission submission = Service.GetUserSubmission(View.IdSubmission); if (submission == null) { View.GoToUrl(CallStandardAction.List, RootObject.ViewCalls(View.IdCall, CallForPaperType.RequestForMembership, CallStandardAction.List, View.IdCallCommunity, CallStatusForSubmitters.SubmissionClosed)); } else if (submission.AllowEditSubmission(View.InitSubmissionTime, clickDt)) { try { Service.RemoveFieldFileValue(idSubmittedField); View.SendUserAction(View.IdCallCommunity, View.IdCallModule, submission.Id, ModuleRequestForMembership.ActionType.VirtualDeleteSubmittedFile); } catch (Exception ex) { } this.SaveSubmission(fields, clickDt); } else { View.GoToUrl(RootObject.ViewSubmission(submission.Call.Type, submission.Call.Id, submission.Id, View.FromPublicList, CallStatusForSubmitters.Submitted, View.PreloadIdOtherCommunity, 0)); } }
protected override RuleOutcome EvaluateRule(VoatRuleContext context) { UserSubmission submission = context.PropertyBag.UserSubmission; switch (submission.Type) { case SubmissionType.Link: Data.Models.Submission recentlySubmitted = null; using (var repo = new Repository()) { recentlySubmitted = repo.FindSubverseLinkSubmission(context.Subverse.Name, submission.Url, TimeSpan.FromDays(15)); } if (recentlySubmitted != null) { return(CreateOutcome(RuleResult.Denied, $"Sorry, this link has already been submitted recently. https://voat.co/v/{recentlySubmitted.Subverse}/{recentlySubmitted.ID}")); } break; case SubmissionType.Text: //containsBannedDomain = BanningUtility.ContentContainsBannedDomain(context.Subverse.Name, submission.Content); break; } return(Allowed); }
private UserSubmission SaveUserSubmission(List <dtoSubmissionValueField> fields) { long idCall = View.IdCall; long idSubmission = this.View.IdSubmission; long idRevision = View.IdRevision; UserSubmission submission = null; try { submission = Service.SaveSubmission(idSubmission, ref idRevision, idCall, View.IdSelectedSubmitterType, UserContext.CurrentUserID, fields); } catch (SubmissionNotFound ex) { View.LoadError(SubmissionErrorView.SubmissionDeleted, View.IdCallCommunity, idCall, CallStatusForSubmitters.SubmissionOpened); } catch (SubmissionNotSaved ex) { View.LoadError(SubmissionErrorView.SubmissionValueSaving, View.IdCallCommunity, idCall, CallStatusForSubmitters.SubmissionOpened); } catch (SubmissionNotCreated ex) { View.LoadError(SubmissionErrorView.SubmissionValueSaving, View.IdCallCommunity, idCall, CallStatusForSubmitters.SubmissionOpened); } catch (SubmissionCallUnavailable ex) { View.LoadError(SubmissionErrorView.UnavailableCall, View.IdCallCommunity, idCall, CallStatusForSubmitters.SubmissionOpened); View.AllowCompleteSubmission = false; View.AllowSave = false; } if (submission != null) { View.IdSubmission = submission.Id; View.IdRevision = idRevision; try { Revision revision = Service.GetRevision(idRevision); Service.SaveSubmissionFiles(submission, revision, UserContext.CurrentUserID, View.GetRequiredSubmittedFiles(submission, ModuleCallForPaper.UniqueCode, View.IdCallModule, (int)ModuleCallForPaper.ActionType.DownloadSubmittedFile, (int)ModuleCallForPaper.ObjectType.UserSubmission), View.GetFileValues(submission, ModuleCallForPaper.UniqueCode, View.IdCallModule, (int)ModuleCallForPaper.ActionType.DownloadSubmittedFile, (int)ModuleCallForPaper.ObjectType.UserSubmission)); } catch (SubmissionInternalFileNotLinked ex) { // remove internal files ! } if (idSubmission == 0) { View.SendUserAction(View.IdCallCommunity, View.IdCallModule, submission.Id, ModuleCallForPaper.ActionType.AddSubmission); } else { View.SendUserAction(View.IdCallCommunity, View.IdCallModule, submission.Id, ModuleCallForPaper.ActionType.EditSubmission); } } else { LoadSections(idCall, View.IdSelectedSubmitterType, idSubmission, idRevision); } return(submission); }
public object Insert(UserSubmission item) { using (APCRSHREntities context = new APCRSHREntities()) { context.UserSubmissions.Add(item); context.SaveChanges(); return(item.SubmitID); } }
public Document SubmissionToFile(Boolean openCloseConnection, UserSubmission submission, String fileName, List <dtoCallSubmissionFile> requiredFiles, List <dtoCallSection <dtoSubmissionValueField> > sections, litePerson person) { dtoExportSubmission settings = new dtoExportSubmission() { Filename = fileName, PrintBy = person, RequiredFiles = requiredFiles, Sections = sections, Submission = submission }; return(Submission(openCloseConnection, settings, null, null)); }
public Document Submission(Boolean openCloseConnection, UserSubmission submission, String clientFilename, String fileName, List <dtoCallSubmissionFile> requiredFiles, List <dtoCallSection <dtoSubmissionValueField> > sections, litePerson person, System.Web.HttpResponse webResponse, System.Web.HttpCookie cookie) { dtoExportSubmission settings = new dtoExportSubmission() { ClientFilename = clientFilename, Filename = fileName, PrintBy = person, RequiredFiles = requiredFiles, Sections = sections, Submission = submission }; return(Submission(openCloseConnection, settings, webResponse, cookie)); }
private void ExportSubmission(Document doc, UserSubmission submission, List <dtoCallSubmissionFile> requiredFiles, List <dtoCallSection <dtoSubmissionValueField> > sections, litePerson person, Dictionary <SubmissionTranslations, string> translations) { doc.Add(WriteSubmissionHeader(submission, person, translations)); // doc.Add(TextSeparator()); //doc.Add(TextSeparator()); doc.Add(GetPageTitle(translations[SubmissionTranslations.SubmissionInfo], GetFont(ItemType.Title))); doc.Add(WriteSubmissionInfo(submission, submission.Status, translations)); doc.Add(GetWhiteParagraph(GetFont(ItemType.Paragraph))); ExportSubmission(doc, false, requiredFiles, sections, translations); }
private void lastSubmissions1_HyperlinkClicked(object sender, BrightIdeasSoftware.HyperlinkClickedEventArgs e) { if (e.Model == null) { return; } UserSubmission usub = (UserSubmission)e.Model; if (e.Column == pnumSUB || e.Column == ptitleSUB) { Interactivity.ShowProblem(usub.pnum); } }
private void AssignAspectFunctions() { subtimeSUB.AspectGetter = delegate(object row) { if (row == null) { return(null); } UserSubmission last = (UserSubmission)row; return(UnixTimestamp.FormatUnixTime(last.sbt)); }; lanSUB.AspectToStringConverter = delegate(object dat) { if (dat == null) { return(""); } return(Functions.GetLanguage((Language)((long)dat))); }; verSUB.AspectToStringConverter = delegate(object dat) { if (dat == null) { return(""); } return(Functions.GetVerdict((Verdict)((long)dat))); }; runSUB.AspectToStringConverter = delegate(object dat) { if (dat == null) { return(""); } return(Functions.FormatRuntime((long)dat)); }; rankSUB.AspectToStringConverter = delegate(object dat) { if (dat == null) { return(""); } if ((long)dat == -1) { return("-"); } return(((long)dat).ToString()); }; }
public void SaveSubmission(List <dtoSubmissionValueField> fields, DateTime clickDt, bool forsubmit = false) { //Attenzione! //Senza questo controllo, allo scadere della sessione l'utente legittimo si ritrova con la propria //sottomissione associata ad "anonimo", il che implica che: //l'utente non puo' piĆ¹ accedere, //gli amministratori si trovano con un bando sottomesso da ignoti. if (!View.isAnonymousSubmission & UserContext.isAnonymous) { View.DisplayCallUnavailableForPublic(); //View.DisplaySessionTimeout(); return; } UserSubmission submission = Service.GetUserSubmission(View.IdSubmission); if (forsubmit) { if (submission == null || submission.AllowEditSubmission(View.InitSubmissionTime, clickDt)) { Boolean tryToComplete = View.TryToComplete; submission = SaveUserSubmission(fields); } return; } if (submission == null || submission.AllowEditSubmission(View.InitSubmissionTime, clickDt)) { Boolean tryToComplete = View.TryToComplete; submission = SaveUserSubmission(fields); if (submission != null) { LoadSections(submission.Call, submission.Type.Id, submission.Id, View.IdRevision, (tryToComplete) ? Service.GetSubmissionFieldErrors(submission, View.IdRevision) : null, (tryToComplete) ? Service.GetSubmissionRequiredFileErrors(submission) : null); } } else if (submission != null) { View.GoToUrl(CallStandardAction.None, RootObject.ViewSubmission(submission.Call.Type, submission.Call.Id, submission.Id, View.FromPublicList, CallStatusForSubmitters.Submitted, View.PreloadIdOtherCommunity, 0)); } else { View.GoToUrl(CallStandardAction.List, RootObject.ViewCalls(View.IdCall, CallForPaperType.CallForBids, CallStandardAction.List, View.IdCallCommunity, CallStatusForSubmitters.SubmissionClosed)); } }
public IActionResult Modify([FromBody] UserSubmission user, [FromHeader] string session) { if (user == null) { return(BadRequest(Errors.MissingFields)); } User userInDatabase = database.GetUser(user.Username); if (userInDatabase == null) { return(NotFound(Errors.NoSuchElement)); } int requesterID; UserStatus requesterStatus; if (!DataHandler.DecodeJWT(session, out requesterID, out requesterStatus)) { return(Unauthorized()); } if (requesterStatus < UserStatus.Active) { return(new ForbidResult(Errors.PermissionDenied)); } if (userInDatabase.ID != requesterID && user.Password != null && user.Password != "") { return(new ForbidResult(Errors.PermissionDenied)); } else { // A user can only make a change to themselves or if they are a moderator if (requesterID == userInDatabase.ID || requesterStatus >= UserStatus.Moderator) { database.UpdateUser(userInDatabase.ID, user, requesterStatus); database.SaveChanges(); return(new ObjectResult(database.GetUser(userInDatabase.ID))); } else { return(new ForbidResult(Errors.PermissionDenied)); } } }
private UserSubmission SaveUserRevision(List <dtoSubmissionValueField> fields) { long idCall = View.IdCall; long idSubmission = this.View.IdSubmission; long idRevision = View.IdRevision; Int32 idUser = UserContext.CurrentUserID; UserSubmission submission = null; try { submission = Service.SaveSubmissionRevision(idSubmission, idRevision, idUser, fields); } catch (SubmissionNotFound ex) { View.LoadError(RevisionErrorView.Unknown); } catch (SubmissionNotSaved ex) { View.LoadError(RevisionErrorView.StringValueSaving); } if (submission != null) { try { Service.SaveSubmissionRevisionFiles(submission, idRevision, idUser, View.GetFileValues(submission, ModuleCallForPaper.UniqueCode, View.IdCallModule, (int)ModuleCallForPaper.ActionType.DownloadSubmittedFile, (int)ModuleCallForPaper.ObjectType.UserSubmission)); } catch (SubmissionInternalFileNotLinked ex) { View.LoadError(RevisionErrorView.FileSaving); } switch (View.CallType) { case CallForPaperType.CallForBids: View.SendUserAction(View.IdCallCommunity, View.IdCallModule, idRevision, ModuleCallForPaper.ActionType.SaveRevision); break; case CallForPaperType.RequestForMembership: View.SendUserAction(View.IdCallCommunity, View.IdCallModule, idRevision, ModuleRequestForMembership.ActionType.SaveRevision); break; } } else { LoadSections(idCall, View.IdSubmitterType, idSubmission, idRevision); } return(submission); }
public HttpResponseMessage Post([FromBody] UserSubmission user) { var model = new UserService.User { FirstName = user.Firstname, LastName = user.Lastname, Email = user.Email }; using (var client = new UserServiceClient()) { var userId = client.Create(model); var response = Request.CreateResponse(HttpStatusCode.Created); var uri = Url.Link("UserApi", new { id = userId }); response.Headers.Location = new Uri(uri); return(response); } }
private PdfPTable WriteSubmissionHeader(UserSubmission submission, litePerson person, Dictionary <SubmissionTranslations, string> translations) { PdfPTable table = WriteCallHeader(submission.Call, submission.Type, translations); PdfPCell separatortCell = new PdfPCell(); separatortCell.AddElement(GetWhiteParagraph()); separatortCell.Border = 0; table.AddCell(separatortCell); DateTime printDate = DateTime.Now; String printedBy = String.Format(translations[SubmissionTranslations.PrintInfo], (person == null || person.TypeID == (int)UserTypeStandard.Guest) ? translations[SubmissionTranslations.AnonymousUser] : person.SurnameAndName, printDate.ToShortDateString(), printDate.ToShortTimeString()); PdfPCell printCell = new PdfPCell(new Phrase(printedBy, GetFont(ItemType.PrintInfos))); printCell.HorizontalAlignment = Element.ALIGN_LEFT; printCell.Border = 0; table.AddCell(printCell); return(table); }
public void Update(UserSubmission item) { using (APCRSHREntities context = new APCRSHREntities()) { var submit = context.UserSubmissions.Where(a => a.SubmitID.Equals(item.SubmitID)).SingleOrDefault(); if (submit != null) { submit.SubmissionNumber = item.SubmissionNumber; submit.UserID = item.UserID; submit.Status = item.Status; context.SaveChanges(); } else { throw new Exception(string.Format("Submit id {0} invalid", item.SubmitID)); } } }
public void VirtualDeleteSubmission(DateTime clickDt) { UserSubmission submission = Service.GetUserSubmission(View.IdSubmission); if (submission == null) { View.GoToUrl(CallStandardAction.List, RootObject.ViewCalls(View.IdCall, CallForPaperType.RequestForMembership, CallStandardAction.List, View.IdCallCommunity, CallStatusForSubmitters.SubmissionClosed)); } else if (submission.AllowEditSubmission(View.InitSubmissionTime, clickDt)) { Service.VirtualDeleteSubmission(View.IdSubmission, true); View.SendUserAction(View.IdCallCommunity, View.IdCallModule, submission.Id, ModuleRequestForMembership.ActionType.VirtualDeleteSubmission); View.GoToUrl(RootObject.ViewCalls(View.IdCall, CallForPaperType.RequestForMembership, CallStandardAction.List, View.IdCallCommunity, CallStatusForSubmitters.SubmissionOpened)); } else { View.GoToUrl(RootObject.ViewSubmission(submission.Call.Type, submission.Call.Id, submission.Id, View.FromPublicList, CallStatusForSubmitters.Submitted, View.PreloadIdOtherCommunity, 0)); } }
public IActionResult SubmitEat(UserSubmission usersubmission) { //Checks to see if the model is right. if (ModelState.IsValid) { //This checks to see if the user submitted a favorite dish before adding it to the tempstorage list. usersubmission.FavoriteDish = usersubmission.FavoriteDish ?? "It's All Tasty"; TempStorage.AddSubmission(usersubmission); //Take the user to a brief confirmation page. return(View("Confirmation")); } //If things don't check out, keep the user on the page and dont add any objects. else { return(View()); } }
public bool AddUser(UserSubmission user) { User profile = new User { Name = user.Username, Email = user.Email, Status = user.Status, HasSignature = user.HasSignature, Signature = user.Signature, Created = new DateTime(DateTime.Now.Ticks) }; DataHandler.PopulatePasswordData(profile, user.Password); user.Status = UserStatus.Active; Users.Add(profile); return(true); }
public bool UpdateUser(int id, UserSubmission user, UserStatus requestPermission) { User profile = GetUser(id); if (profile == null) { return(false); } if (user.Password != null && user.Password != "") { DataHandler.PopulatePasswordData(profile, user.Password); } profile.Name = user.Username; profile.Email = user.Email; profile.HasSignature = user.HasSignature; profile.Signature = user.Signature; return(true); }
public void SaveRevision(List <dtoSubmissionValueField> fields) { dtoRevisionRequest rev = Service.GetRevisionRequest(View.IdRevision, false); if (rev != null && rev.AllowSubmission(View.InitSubmissionTime) && rev.AllowSave) { Boolean tryToComplete = View.TryToComplete; UserSubmission sub = SaveUserRevision(fields); if (sub != null) { LoadSections(sub.Call, sub.Type.Id, sub.Id, View.IdRevision, (tryToComplete) ? Service.GetSubmissionFieldErrors(sub, View.IdRevision) : null); } } else if (rev != null) { View.GoToUrl(RootObject.ViewSubmission(View.CallType, View.IdCall, View.IdSubmission, View.IdRevision, View.PreloadedUniqueID, false, false, View.PreloadView, View.PreloadIdOtherCommunity, 0)); } else { View.GoToUrl(RootObject.ViewCalls(View.IdCall, View.CallType, CallStandardAction.List, View.IdCallCommunity, View.PreloadView)); } }
public void SaveSubmission(List <dtoSubmissionValueField> fields, DateTime clickDt) { UserSubmission submission = Service.GetUserSubmission(View.IdSubmission); if (submission == null || submission.AllowEditSubmission(View.InitSubmissionTime, clickDt)) { Boolean tryToComplete = View.TryToComplete; submission = SaveUserSubmission(fields); if (submission != null) { LoadSections(submission.Call, submission.Type.Id, submission.Id, View.IdRevision, (tryToComplete) ? Service.GetSubmissionFieldErrors(submission, View.IdRevision) : null); } } else if (submission != null) { View.GoToUrl(CallStandardAction.None, RootObject.ViewSubmission(submission.Call.Type, submission.Call.Id, submission.Id, View.FromPublicList, CallStatusForSubmitters.Submitted, View.PreloadIdOtherCommunity, 0)); } else { View.GoToUrl(CallStandardAction.List, RootObject.ViewCalls(View.IdCall, CallForPaperType.RequestForMembership, CallStandardAction.List, View.IdCallCommunity, CallStatusForSubmitters.SubmissionClosed)); } }
private PdfPTable WriteSubmissionInfo(UserSubmission submission, SubmissionStatus status, Dictionary <SubmissionTranslations, string> translations) { PdfPTable table = GetTable(2, new float[] { 30, 70 }, 1); PdfPCell cell = new PdfPCell(GetParagraph(translations[SubmissionTranslations.SubmittedByTitle], GetFont(ItemType.FieldName))); table.AddCell(cell); String owner = (submission.Owner == null || submission.Owner.TypeID == (int)UserTypeStandard.Guest) ? translations[SubmissionTranslations.AnonymousUser] : submission.Owner.SurnameAndName; String submitter = (submission.SubmittedBy == null || submission.SubmittedBy.TypeID == (int)UserTypeStandard.Guest) ? translations[SubmissionTranslations.AnonymousUser] : submission.SubmittedBy.SurnameAndName; if (!submission.SubmittedOn.HasValue) { cell = new PdfPCell(GetParagraph(String.Format(translations[SubmissionTranslations.CreatedByInfo], owner, submission.ModifiedOn.Value.ToShortDateString(), submission.ModifiedOn.Value.ToShortTimeString()), GetFont(ItemType.Paragraph))); } else if (submission.Owner == submission.SubmittedBy) { cell = new PdfPCell(GetParagraph(String.Format(translations[SubmissionTranslations.SubmittedByInfo], submitter, submission.SubmittedOn.Value.ToShortDateString(), submission.SubmittedOn.Value.ToShortTimeString()), GetFont(ItemType.Paragraph))); } else { cell = new PdfPCell(GetParagraph(String.Format(translations[SubmissionTranslations.SubmittedForInfo], submitter, owner, submission.SubmittedOn.Value.ToShortDateString(), submission.SubmittedOn.Value.ToShortTimeString()), GetFont(ItemType.Paragraph))); } table.AddCell(cell); cell = new PdfPCell(new Phrase(translations[SubmissionTranslations.SubmittedTypeTitle], GetFont(ItemType.FieldName))); table.AddCell(cell); cell = new PdfPCell(new Phrase(submission.Type.Name, GetFont(ItemType.Paragraph))); table.AddCell(cell); cell = new PdfPCell(new Phrase(translations[SubmissionTranslations.SubmissionStatusTitle], GetFont(ItemType.FieldName))); table.AddCell(cell); cell = new PdfPCell(new Phrase(translations[(SubmissionTranslations)(int)status], GetFont(ItemType.Paragraph))); table.AddCell(cell); return(table); }
public DataModel.Response.FindItemReponse <DataModel.Model.UserSubmissionModel> FindByID(string id) { try { IUserSubmissionRepository submissionRepository = RepositoryClassFactory.GetInstance().GetUserSubmissionRepository(); UserSubmission submission = submissionRepository.FindByID(id); var _submission = MapperUtil.CreateMapper().Mapper.Map <UserSubmission, UserSubmissionModel>(submission); return(new FindItemReponse <UserSubmissionModel> { Item = _submission, ErrorCode = (int)ErrorCode.None, Message = string.Empty }); } catch (Exception ex) { return(new FindItemReponse <UserSubmissionModel> { ErrorCode = (int)ErrorCode.Error, Message = ex.Message }); } }
protected override RuleOutcome EvaluateRule(VoatRuleContext context) { UserSubmission submission = context.PropertyBag.UserSubmission; //Check banned domains in submission content var containsBannedDomain = false; switch (submission.Type) { case SubmissionType.Link: containsBannedDomain = BanningUtility.ContentContainsBannedDomain(context.Subverse.Name, $"{submission.Title} {submission.Url}"); break; case SubmissionType.Text: containsBannedDomain = BanningUtility.ContentContainsBannedDomain(context.Subverse.Name, $"{submission.Title} {submission.Content}"); break; } if (containsBannedDomain) { return(CreateOutcome(RuleResult.Denied, "Submission contains banned domains")); } return(Allowed); }