public IActionResult GetDeletedCourses() { var lang = Request.Headers["language"].ToString(); var errorMessages = new List<string>(); try { var courses = _courseRepository.GetCourses() .Where(c => c.DeletedAt != null); var response = new List<object>(); foreach (var course in courses) { var res = ResponseGenerator.GenerateCourseResponse(course,true); response.Add(res); } return Ok(new { courses = response }); } catch { errorMessages.Add(_translator.GetTranslation("ERROR", lang)); return BadRequest(new { errors = errorMessages }); } }
public IActionResult GetMemberCourses([FromQuery] string userId) { var lang = Request.Headers["language"].ToString(); var errorMessages = new List <string>(); try { var courses = new List <object>(); var allCourses = _courseRepository.GetCourses(); foreach (var course in allCourses) { if (course.Class != null) { foreach (var member in course.Class.ClassUsers) { if (member.UserId == userId) { courses.Add(ResponseGenerator.GenerateCourseResponse(course, false)); } } } } return(Ok(new { courses })); } catch { errorMessages.Add(_translator.GetTranslation("ERROR", lang)); return(BadRequest(new { errors = errorMessages })); } }
public void CheckNumber_GivenPrimeNumber_ReturnsRightMessage() { List <int> temp = new List <int>(); int updatedCurrentHighest; Assert.AreEqual("Yep, that's a prime number. It's added to the list", ResponseGenerator.CheckNumber("5", temp, 0, out updatedCurrentHighest)); }
public static VendorDetails MapFromObject(Vendor obj, ResponseGenerator responseGenerator) { var materials = new List <MaterialVendorListing>(); foreach (var material in obj.Materials) { materials.Add(MaterialVendorListing.MapFromObject(material)); } return(new VendorDetails() { VendorId = obj.VendorId, Name = obj.Name, ContractStart = obj.ContractStart, ContractEnd = obj.ContractEnd, ContractNumber = obj.ContractNumber, PointOfContact = obj.PointOfContact, PhoneNumber = obj.PhoneNumber, Email = obj.Email, Website = obj.Website, Status = (obj.Active) ? "Active" : "Inactive", Active = obj.Active, Invoices = responseGenerator.GenerateBasicInvoicesList(obj.Invoices), Tickets = responseGenerator.GenerateBasicTicketList(obj.Tickets), Materials = materials }); }
/// <summary> /// Method is called to create a <see cref="HttpResponseMessage"/> with <see cref="HttpStatusCode.BadRequest"/> /// and a message <see cref="DefaultErrorMessage"/> /// </summary> /// <param name="actionContext"></param> protected virtual void CreateErrorResponse(HttpActionContext actionContext) { actionContext.Response = ResponseGenerator.CreateResponseCustom(actionContext.Request, HttpStatusCode.BadRequest, new List <string> { DefaultErrorMessage }); }
public IActionResult GetUserFavoriteCourses([FromQuery] string userId) { var lang = Request.Headers["language"].ToString(); var errorMessages = new List <string>(); try { if (string.IsNullOrEmpty(userId)) { errorMessages.Add(_translator.GetTranslation("ERROR", lang)); return(BadRequest(new { errors = errorMessages })); } var favorites = _favoriteRepository.GetFavoritesByUserId(userId); var courses = new List <object>(); foreach (var fav in favorites) { foreach (var course in _courseRepository.GetCourses()) { if (fav.CourseId == course.Id) { courses.Add(ResponseGenerator.GenerateCourseResponse(course, false)); } } } return(Ok(new { courses })); } catch { errorMessages.Add(_translator.GetTranslation("ERROR", lang)); return(BadRequest(new { errors = errorMessages })); } }
public IActionResult CreateProject([FromBody] Project project) { var lang = Request.Headers["language"].ToString(); var errorMessages = new List <string>(); try { var newProject = new Project { Name_EN = project.Name_EN, Name_FR = !string.IsNullOrEmpty(project.Name_FR) ? project.Name_FR : project.Name_EN, Description_EN = project.Description_EN, Description_FR = !string.IsNullOrEmpty(project.Description_FR) ? project.Description_FR : project.Description_EN, Type = project.Type, Size = project.Size, GitHubUrl = project.GitHubUrl, IsDisplayed = project.IsDisplayed, LiveDemoUrl = project.LiveDemoUrl, VideoDemoUrl = project.VideoDemoUrl, VideoDemoUrlExt = project.VideoDemoUrlExt, ImagePath = project.ImagePath }; var createdProject = _projectRepository.Create(newProject); return(Ok(new { createdProject = ResponseGenerator.GenerateProjectResponse(createdProject) })); } catch { errorMessages.Add(_translator.GetTranslation("ERROR", lang)); return(BadRequest(new { errors = errorMessages })); } }
public IActionResult GetLatestCourses() { var lang = Request.Headers["language"].ToString(); var errorMessages = new List <string>(); try { var courses = _courseRepository.GetCourses() .Where(c => c.DeletedAt == null && c.IsPublished == true) .OrderByDescending(c => c.PublishedAt) .ThenBy(c => c.Title_EN) .ThenBy(c => c.Category.Title_EN) .Take(5) .ToList(); var response = new List <object>(); foreach (var course in courses) { var res = ResponseGenerator.GenerateCourseResponse(course, false); response.Add(res); } return(Ok(new { courses = response })); } catch { errorMessages.Add(_translator.GetTranslation("ERROR", lang)); return(BadRequest(new { errors = errorMessages })); } }
public void CheckNumber_GivenNegativeNumber_ReturnsRightMessage() { List <int> temp = new List <int>(); int updatedCurrentHighest; Assert.AreEqual("No, that's not a prime number", ResponseGenerator.CheckNumber("-7", temp, 0, out updatedCurrentHighest)); }
public IActionResult PublishCourse([FromBody] Course course, [FromQuery] string action) { var lang = Request.Headers["language"].ToString(); var errorMessages = new List<string>(); try { var crs = _courseRepository.FindById(course.Id); if (crs == null) return NotFound(); if (action == "publish") { crs.IsPublished = true; crs.PublishedAt = DateTime.Now; } else if (action == "unpublish") { crs.IsPublished = false; crs.PublishedAt = null; } var updatedCourse = _courseRepository.Update(crs); var response = ResponseGenerator.GenerateCourseResponse(updatedCourse, true); return Ok(new { updatedCourse = response }); } catch { errorMessages.Add(_translator.GetTranslation("ERROR", lang)); return BadRequest(new { errors = errorMessages }); } }
public IActionResult GetCourses([FromQuery] int? categoryId) { var lang = Request.Headers["language"].ToString(); var errorMessages = new List<string>(); try { var courses = _courseRepository.GetCourses() .Where(c => c.DeletedAt == null && (c.Category.Id == categoryId || categoryId == null)) .OrderBy(c => c.Title_EN) .ThenBy(c => c.Category) .ThenBy(c => c.CreatedAt); var response = new List<object>(); foreach (var course in courses) { var res = ResponseGenerator.GenerateCourseResponse(course, true); response.Add(res); } return Ok(new { courses = response }); } catch { errorMessages.Add(_translator.GetTranslation("ERROR", lang)); return BadRequest(new { errors = errorMessages }); } }
public async Task <ActionResult> GetAllMovies([FromQuery] QueryPagenationParameters pageParameters) { var movies = await _repository.GetAllMovies(); if (movies == null || movies.Count == 0) { string message = _localizer["controllers.movie.error.no_movies_found"]; return(ResponseGenerator.NotFoundResult(message)); } var array = new JArray(); foreach (var movie in movies) { array.Add(movie.ToJsonToken()); } var jObject = new JObject { { "number_movies", movies.Count }, { "movies", array } }; Console.WriteLine("Returning List of " + movies.Count + " movies"); return(ResponseGenerator.OkResult(jObject)); }
public async Task <IActionResult> DeleteComment([FromQuery] long id) { var lang = Request.Headers["language"].ToString(); var errorMessages = new List <string>(); try { var comment = _commentRepository.FindById(id); if (comment.Replies.Count > 0) { foreach (var reply in comment.Replies.ToList()) { _commentRepository.Delete(reply.Id); } } var deletedComment = _commentRepository.Delete(id); if (deletedComment != null) { await _hubContext.Clients.All.SendAsync("SignalCommentDeletedReceived", ResponseGenerator.GenerateCommentResponse(deletedComment)); } return(Ok(new { deletedComment = ResponseGenerator.GenerateCommentResponse(deletedComment) })); } catch { errorMessages.Add(_translator.GetTranslation("ERROR", lang)); return(BadRequest(new { errors = errorMessages })); } }
public IActionResult GetCommentsByCourseId([FromQuery] long courseId) { var lang = Request.Headers["language"].ToString(); var errorMessages = new List <string>(); try { var _comments = _commentRepository.GetCommentsByCourseId(courseId) .OrderByDescending(c => c.CommentDateTime) .ToList(); var comments = new List <object>(); foreach (var comment in _comments) { comments.Add(ResponseGenerator.GenerateCommentResponse(comment)); } return(Ok(new { comments })); } catch { errorMessages.Add(_translator.GetTranslation("ERROR", lang)); return(BadRequest(new { errors = errorMessages })); } }
public void PrintPrimeNumberList_WithListOf3Primes_ReturnsRightMessage() { List <int> temp = new List <int> { 5, 7, 11 }; Assert.AreEqual("Current prime numbers: 5,7,11,", ResponseGenerator.PrintPrimeNumberList(temp)); }
public IActionResult check_by_key([FromQuery] API0006_InModel input) { try { IActionResult output = null; if (!ModelState.IsValid) { //Log the logType and message of the given request logModel.LogType = LogTypes.Error; logModel.Message = "BadRequest in organization delete method"; //If ModelState is not Valid invoke the BadRequest method in ResponseGenerator class output = ResponseGenerator.BadRequest(null, eResponseMessages.NoTokenInformation); } else { //If ModelState is Valid, invoke the method in business logic layer using interface var response = _organization_details.check_organization_details_exists(input.organization_code, input.organization_email, input.organization_contact); //Create a object using API0006_OutModel class API0006_OutModel api0006_response_model = new API0006_OutModel(); if (response > 0) { //If given organization value already exists, set organization_status to true api0006_response_model.organization_status = true; } else { //If given organization value not exists, set organization_status to false api0006_response_model.organization_status = false; } //Log the logType and message of the given request logModel.LogType = LogTypes.Information; logModel.Message = "Success in organization validation method"; output = ResponseGenerator.Ok(api0006_response_model); } //code for write the logmodel into log file log.LogWrite(logModel); return(output); } catch (Exception ex) { //Log the logType and message of the given request logModel.LogType = LogTypes.Error; logModel.Message = ex.ToString(); //code for write the logmodel into log file log.LogWrite(logModel); return(ResponseGenerator.BadRequest(ex.ToString(), eResponseMessages.NoTokenInformation)); } }
public ResponseManager( Dictionary <string, ResponsePair <T> > responses, ResponseGenerator permissionErrorResponse, ExceptionResponseGenerator requestErrorResponse) { _responses = responses; _permissionErrorResponse = permissionErrorResponse; _requestErrorResponse = requestErrorResponse; }
public async Task <string> SendPostRequest(string url, HttpContent content) { using (var client = new HttpClient(_handler)) { var response = await client.PostAsync(url, content); return(await ResponseGenerator.GetResponseJson(response)); } }
public IActionResult GetMatch(string matchId, string shardId) { if (matchId == Guid.Empty.ToString()) { return(NotFound()); } return(Ok(ResponseGenerator.GenerateResponse(2, shardId))); }
public IActionResult UpdateCourse([FromBody] Course course) { var lang = Request.Headers["language"].ToString(); var errorMessages = new List<string>(); try { //var author = await _userManager.FindByIdAsync(course.Author.Id); var category = _categoryRepository.GetCategory(course.Category.Id); var newCourse = _courseRepository.FindById(course.Id); newCourse.Title_EN = course.Title_EN; newCourse.Title_FR = course.Title_FR ?? course.Title_EN; newCourse.Slug_EN = new SlugHelper().GenerateSlug(course.Title_EN); newCourse.Slug_FR = course.Title_FR != null ? new SlugHelper().GenerateSlug(course.Title_FR): new SlugHelper().GenerateSlug(course.Title_EN); newCourse.Description_EN = course.Description_EN; newCourse.Description_FR = course.Description_FR ?? course.Description_EN; newCourse.Prerequisites_EN = course.Prerequisites_EN; newCourse.Prerequisites_FR = course.Prerequisites_FR ?? course.Prerequisites_EN; newCourse.Duration = course.Duration; newCourse.ImagePath = course.ImagePath; newCourse.IsFree = course.IsFree == null ? false : course.IsFree.Value; newCourse.Price = course.Price; newCourse.IsPublished = course.IsPublished == null ? false : course.IsPublished.Value; newCourse.UpdatedBy = course.UpdatedBy; newCourse.UpdatedAt = DateTime.Now; newCourse.PublishedAt = null; //newCourse.Author = author; newCourse.Category = category; newCourse.Languages = course.Languages; newCourse.Level = course.Level; if (newCourse.IsPublished.Value == true) newCourse.PublishedAt = DateTime.Now; var updatedCourse = _courseRepository.Update(newCourse); var response = ResponseGenerator.GenerateCourseResponse(updatedCourse, true); if (updatedCourse != null) { return Ok(new { updatedCourse = response }); } errorMessages.Add(_translator.GetTranslation("ERROR", lang)); return BadRequest(new { errors = errorMessages }); } catch { errorMessages.Add(_translator.GetTranslation("ERROR", lang)); return BadRequest(new { errors = errorMessages }); } }
public void CheckNumber_GivenPrimeNumber_AddsPrimeNumberToList() { List <int> temp = new List <int>(); int updatedCurrentHighest; ResponseGenerator.CheckNumber("5", temp, 0, out updatedCurrentHighest); Assert.AreEqual(1, temp.Count); Assert.AreEqual(5, temp[0]); }
public async Task ShouldGenerateEmptyObj() { var generator = new ResponseGenerator(); var result = await generator.GenerateResponse(); Assert.Null(result.Value); Assert.Null(result.Error); Assert.Null(result.Success); }
public IActionResult delete([FromQuery] API0003_InModel input) { try { IActionResult output = null; if (!ModelState.IsValid) { //Log the logType and message of the given request logModel.LogType = LogTypes.Error; logModel.Message = "BadRequest in organization delete method"; //If ModelState is not Valid invoke the BadRequest method in ResponseGenerator class output = ResponseGenerator.BadRequest(null, eResponseMessages.NoTokenInformation); } else { //If ModelState is Valid, invoke the method in business logic layer using interface var api0003_response = _organization_details.delete_organization_details((int)input.organization_Id); if (api0003_response == true) { //Log the logType and message of the given request logModel.LogType = LogTypes.Information; logModel.Message = "Success in organization delete method."; output = ResponseGenerator.Ok(null); } else { //Log the logType and message of the given request logModel.LogType = LogTypes.Information; logModel.Message = "Record not found or Error occured."; output = ResponseGenerator.Ok(null, eResponseMessages.RecordNotFound); } } //code for write the logmodel into log file log.LogWrite(logModel); return(output); } catch (Exception ex) { //Log the logType and message of the given request logModel.LogType = LogTypes.Error; logModel.Message = ex.ToString(); //code for write the logmodel into log file log.LogWrite(logModel); return(ResponseGenerator.BadRequest(ex.ToString(), eResponseMessages.NoTokenInformation)); } }
public void CheckNumber_GivenPrimeNumberLargerThanCurrentHighestPrime_UpdatesCurrentHighestPrime() { List <int> temp = new List <int>(); int currentHighestPrime = 5; int updatedCurrentHighest; ResponseGenerator.CheckNumber("7", temp, currentHighestPrime, out updatedCurrentHighest); currentHighestPrime = updatedCurrentHighest; Assert.AreEqual(7, currentHighestPrime); }
public async Task ShouldGenerateError() { var generator = new ResponseGenerator(); var excMess = "exception"; var result = await generator.GenerateResponse(excMessage : excMess); Assert.Null(result.Value); Assert.Equal(excMess, result.Error); Assert.Equal("false", result.Success); }
static void Main(string[] args) { //Instructions for player Console.WriteLine("Welcome!"); Console.WriteLine("This application can evaluate any number between 0 and 2'147'483'647 and tell you if it is prime or not."); Console.WriteLine("All the prime numbers are saved in a list. You can reffer to the list any time you want."); Console.WriteLine("Your can also get suggestion of next prime number, compared to the current highest prime number in the list."); Console.WriteLine("[1] Evaluate number"); Console.WriteLine("[2] Print prime number list"); Console.WriteLine("[3] Suggest next prime number"); Console.WriteLine("[4] Exit"); //Game loop bool running = true; while (running) { Console.Write(">>"); string input = Console.ReadLine(); //Some methods return a new updated value for CurrentHighestPrime. This variable catches these //values and is used to update the property accordingly. int updatedCurrentHighestPrime; switch (input) { case "1": Console.WriteLine("Type a number"); input = Console.ReadLine(); Console.WriteLine(ResponseGenerator.CheckNumber(input, PrimeNumbers, CurrentHighestPrime, out updatedCurrentHighestPrime)); CurrentHighestPrime = updatedCurrentHighestPrime; break; case "2": Console.WriteLine(ResponseGenerator.PrintPrimeNumberList(PrimeNumbers)); break; case "3": Console.WriteLine(ResponseGenerator.PrintNextPrimeNumber(CurrentHighestPrime, PrimeNumbers, out updatedCurrentHighestPrime)); CurrentHighestPrime = updatedCurrentHighestPrime; break; case "4": Console.WriteLine("Bye bye!"); running = false; break; default: Console.WriteLine("Invalid command"); break; } } }
public void HandleCheckFileInfoRequest(WopiRequest requestData) { lock (this) { // userId(user@polihub) will be passed from the policyHub application if (!_authorization.ValidateToken(requestData.AccessToken, ConfigurationManager.AppSettings["userId"], requestData.Id)) { _errorHandler.ReturnInvalidToken(_response); _response.Close(); return; } if (!File.Exists(requestData.FullPath)) { _errorHandler.ReturnFileUnknown(_response); _response.Close(); return; } try { FileInfo fileInfo = new FileInfo(requestData.FullPath); ResponseGenerator generator = new ResponseGenerator(fileInfo); if (!fileInfo.Exists) { _errorHandler.ReturnFileUnknown(_response); return; } var memoryStream = new MemoryStream(); var json = new DataContractJsonSerializer(typeof(WopiCheckFileInfo)); json.WriteObject(memoryStream, generator.GetFileInfoResponse()); memoryStream.Flush(); memoryStream.Position = 0; StreamReader streamReader = new StreamReader(memoryStream); var jsonResponse = Encoding.UTF8.GetBytes(streamReader.ReadToEnd()); _response.ContentType = ConfigurationManager.AppSettings["appJson"]; _response.ContentLength64 = jsonResponse.Length; _response.OutputStream.Write(jsonResponse, 0, jsonResponse.Length); _errorHandler.ReturnSuccess(_response); } catch (UnauthorizedAccessException) { _errorHandler.ReturnFileUnknown(_response); } _response.Close(); } }
public void HandleCheckFileInfoRequest(WopiRequest requestData) { lock (this) { if (!_authorization.ValidateAccess(requestData, writeAccessRequired: false)) { _errorHandler.ReturnInvalidToken(_response); _response.Close(); return; } if (!File.Exists(requestData.FullPath)) { _errorHandler.ReturnFileUnknown(_response); _response.Close(); return; } try { FileInfo fileInfo = new FileInfo(requestData.FullPath); ResponseGenerator generator = new ResponseGenerator(fileInfo); if (!fileInfo.Exists) { _errorHandler.ReturnFileUnknown(_response); return; } var memoryStream = new MemoryStream(); var json = new DataContractJsonSerializer(typeof(WopiCheckFileInfo)); json.WriteObject(memoryStream, generator.GetFileInfoResponse()); memoryStream.Flush(); memoryStream.Position = 0; StreamReader streamReader = new StreamReader(memoryStream); var jsonResponse = Encoding.UTF8.GetBytes(streamReader.ReadToEnd()); _response.ContentType = @"application/json"; _response.ContentLength64 = jsonResponse.Length; _response.OutputStream.Write(jsonResponse, 0, jsonResponse.Length); _errorHandler.ReturnSuccess(_response); } catch (UnauthorizedAccessException) { _errorHandler.ReturnFileUnknown(_response); } _response.Close(); } }
public IActionResult CreateClass([FromBody] Class cls) { var lang = Request.Headers["language"].ToString(); var errorMessages = new List <string>(); try { if (string.IsNullOrEmpty(cls.Name_EN) || cls.CourseId == null) { errorMessages.Add(_translator.GetTranslation("VALIDATION.CLASSNAME_COURSEID_REQUIRED", lang)); return(BadRequest(new { errors = errorMessages })); } if (_classRepository.IsExistsInCourse(cls.CourseId.Value)) { errorMessages.Add(_translator.GetTranslation("CLASSES.COURSE_HAS_CLASS", lang)); return(BadRequest(new { errors = errorMessages })); } var course = _courseRepository.FindById(cls.CourseId.Value); if (course == null) { return(NotFound()); } var newCls = new Class() { Id = $"{course.Id.ToString()}-{Guid.NewGuid().ToString()}", Name_EN = cls.Name_EN, Course = course, CourseId = course.Id }; var createdClass = _classRepository.Create(newCls); if (createdClass == null) { errorMessages.Add(_translator.GetTranslation("ERROR", lang)); return(BadRequest(new { errors = errorMessages })); } return(Ok(new { course = ResponseGenerator.GenerateCourseResponse(course, true) })); } catch { errorMessages.Add(_translator.GetTranslation("ERROR", lang)); return(BadRequest(new { errors = errorMessages })); } }
private static void HandleRequest(object state) { HttpListenerContext context = state as HttpListenerContext; if (listener != null) { ResponseGenerator rg = new ResponseGenerator(); HttpListenerResponse response = context.Response; response.StatusCode = 200; byte[] buffer = System.Text.Encoding.UTF8.GetBytes(rg.GetResponseString()); response.ContentLength64 = buffer.Length; System.IO.Stream output = response.OutputStream; output.Write(buffer, 0, buffer.Length); output.Close(); } }