public async Task <PaginatedResponse <IEnumerable <CompanyReviewResponse> > > GetCompanyReviews(SingleData <int> request, int pageIndex, int pageSize, SystemSession session) { var serviceRequest = new CompanyReview { CompanyId = request.Data, OffSet = pageIndex, PageSize = pageSize }; var response = await Task.Factory.StartNew(() => Client.UserService.getCompanyReviews(serviceRequest, session.GetSession())).ConfigureAwait(false); var result = new PaginatedResponse <IEnumerable <CompanyReviewResponse> > { HasNextPage = response.HasNextPage, Page = response.CompanyReviews.Select( x => new CompanyReviewResponse { CompanyReviewGuid = x.CompanyReviewGUID != null ? Guid.Parse(x.CompanyReviewGUID) : Guid.Empty, User = new UserResponse { UserId = x.UserId, UserName = x.Username, Name = x.Name, Picture = x.PictureUrl }, Star = x.Star, Title = x.Title, Comment = x.Comment, DateCommented = x.DateCommented != null ? Convert.ToDateTime(x.DateCommented) : (DateTime?)null, IsApproved = x.IsApproved }) }; return(result); }
/// <summary> /// Saves the longURL to the database to be accessed later via the id that is returned. /// </summary> /// <param name="longURL">The longURL to be saved</param> /// <returns>The id of the url</returns> public void SaveReview(CompanyReview data) { string query = @"INSERT INTO " + dbname + ".reviews(companyName, username, review, stars, timestamp) " + @"VALUES('" + data.CompanyName + "' , '" + data.UserName + "' , '" + data.Review + "' , " + data.Stars + ", '" + data.TimeStamp + @"'); "; if (openConnection() == true) { MySqlCommand command = new MySqlCommand(query, connection); command.ExecuteNonQuery(); //command.CommandText = "SELECT * FROM " + dbname + ".shortenedLinks WHERE id = LAST_INSERT_ID();"; //MySqlDataReader reader = command.ExecuteReader(); //if(reader.Read() == true) //{ // string result = reader.GetInt64("id").ToString(); // closeConnection(); // return result.ToString(); //} //else //{ // closeConnection(); // throw new Exception("Error: LAST_INSERT_ID() did not work as intended."); //} closeConnection(); } else { throw new Exception("Could not connect to database"); } }
private void collectCompanyReviews(CompanyOverview companyOverview, List <Review> reviews, ObservableCollection <CompanyReview> targetCollection) { CompanyReview companyReview = new CompanyReview(); companyReview.companyOverview = companyOverview; companyReview.reviews = (from n in reviews where n.companyId == companyOverview.id select n).ToList(); companyOverview.calculateReviewStatistics(companyReview.reviews); if (companyReview.reviews.Count <= 0) { return; } targetCollection.Add(companyReview); List <IGrouping <string, Review> > reviewsByDepartment = (from n in companyReview.reviews group n by n.jobDepartment into d select d).ToList(); foreach (IGrouping <string, Review> groupedReviews in reviewsByDepartment) { if (groupedReviews.ToList().Count <= 0) { continue; } CompanyReview companyReviewByDepartment = new CompanyReview(); CompanyOverview companyOverviewByDepartment = new CompanyOverview(); companyOverviewByDepartment.id = companyOverview.id; companyOverviewByDepartment.name = companyOverview.name; companyOverviewByDepartment.logoPath = companyOverview.logoPath; companyOverviewByDepartment.departmentName = groupedReviews.Key; companyReviewByDepartment.reviews = groupedReviews.ToList(); companyOverviewByDepartment.calculateReviewStatistics(companyReviewByDepartment.reviews); companyReviewByDepartment.companyOverview = companyOverviewByDepartment; targetCollection.Add(companyReviewByDepartment); } }
/// <summary> /// Gets a long URL based on the id of the short url /// </summary> /// <param name="companyName">The id of the short url</param> /// <throws type="ArgumentException">Throws an argument exception if the short url id does not refer to anything in the database</throws> /// <returns>The long url the given short url refers to</returns> public List <CompanyReview> readReview(string companyName) { string query = @"SELECT * FROM " + dbname + ".reviews " + "WHERE companyname= '" + companyName + "';"; if (openConnection() == true) { MySqlCommand command = new MySqlCommand(query, connection); MySqlDataReader reader = command.ExecuteReader(); //JObject result = new JObject(); List <CompanyReview> reviewList = new List <CompanyReview>(); while (reader.Read()) { CompanyReview singleReview = new CompanyReview(); singleReview.CompanyName = reader.GetString("companyname"); singleReview.UserName = reader.GetString("username"); singleReview.Review = reader.GetString("review"); singleReview.Stars = reader.GetInt32("stars"); singleReview.TimeStamp = reader.GetString("timestamp"); //var mergeSettings = new JsonMergeSettings { MergeArrayHandling = MergeArrayHandling.Concat }; reviewList.Add(singleReview); //result.Merge(JObject.Parse(JsonConvert.SerializeObject(singleReview)), mergeSettings); } reader.Close(); closeConnection(); return(reviewList); } else { throw new Exception("Could not connect to database."); } }
public ActionResult DeleteConfirmed(int id) { CompanyReview companyReview = db.CompanyReviews.Find(id); db.CompanyReviews.Remove(companyReview); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "CompanyReviewsID,CompanyID,CustomerID,Rating,Comments")] CompanyReview companyReview) { if (ModelState.IsValid) { db.Entry(companyReview).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.CompanyID = new SelectList(db.Companies, "CompanyID", "CompanyName", companyReview.CompanyID); ViewBag.CustomerID = new SelectList(db.Customers, "CustomerId", "FirstName", companyReview.CustomerID); return(View(companyReview)); }
// GET: CompanyReviews/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } CompanyReview companyReview = db.CompanyReviews.Find(id); if (companyReview == null) { return(HttpNotFound()); } return(View(companyReview)); }
private void populateDepartmentsAndLocations(CompanyReview companyReview) { List <string> allCompanyReviewedDepartments = new List <string> { "Select all" }; List <string> allCompanyReviewedLocations = new List <string> { "Select all" }; List <Review> reviewsForDL; if (companyReview != null) { reviewsForDL = companyReview.reviews; } else { reviewsForDL = reviews.reviews; } allCompanyReviewedDepartments.AddRange((from n in reviewsForDL select n.jobDepartment).Distinct().OrderBy(x => x).ToList()); jobDepartments = new List <JobDepartment>(); if (allCompanyReviewedDepartments.Count > 0) { foreach (string department in allCompanyReviewedDepartments) { JobDepartment jobDepartment = new JobDepartment { departmentName = department, isSelected = true }; jobDepartments.Add(jobDepartment); } } Cmb_Departments.ItemsSource = jobDepartments; allCompanyReviewedLocations.AddRange((from n in reviewsForDL select n.jobLocation).Distinct().OrderBy(x => x).ToList()); jobLocations = new List <JobLocation>(); if (allCompanyReviewedLocations.Count > 0) { foreach (string location in allCompanyReviewedLocations) { JobLocation jobLocation = new JobLocation { location = location, isSelected = true }; jobLocations.Add(jobLocation); } } Cmb_Locations.ItemsSource = jobLocations; }
public async Task <StatusData <string> > UpsertCompanyReview(CompanyReviewRequest request, int mode, SystemSession session) { var serviceRequest = new CompanyReview { UserId = session.UserId, CompanyId = request.CompanyId, Mode = mode, Star = request.Star, Title = request.Title, Comment = request.Comment, CompanyReviewGUID = request.CompanyReviewGuid }; var response = (await Task.Factory.StartNew(() => Client.UserService.setCompanyReview(serviceRequest, session.GetSession())).ConfigureAwait(false)).GetStatusData <string>(); return(response); }
// GET: CompanyReviews/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } CompanyReview companyReview = db.CompanyReviews.Find(id); if (companyReview == null) { return(HttpNotFound()); } ViewBag.CompanyID = new SelectList(db.Companies, "CompanyID", "CompanyName", companyReview.CompanyID); ViewBag.CustomerID = new SelectList(db.Customers, "CustomerId", "FirstName", companyReview.CustomerID); return(View(companyReview)); }
private void applyCompanyFilter() { if (cb_companyName.SelectedItem != null && !String.IsNullOrEmpty(comboBoxSearchText)) { CompanyReview companyReview = (CompanyReview)cb_companyName.SelectedItem; if (companyReview.reviews != null) { populateDepartmentsAndLocations(companyReview); //load selected company items companyReviewFilter.setCompanyId(companyReview.companyOverview.id); ObservableCollection <CompanyReview> tempReviews = companyReviewFilter.filterByCriteria(); Itc_reviews.ItemsSource = tempReviews; if (tempReviews.Count > 0) { isNoDataVisible = false; } else { isNoDataVisible = true; } Itc_FilterTags.ItemsSource = companyReviewFilter.getUIFilterTags(); } } else if (cb_companyName.SelectedItem != null) { companyReviewFilter.clearAllFilters(); ObservableCollection <CompanyReview> filteredCompanies = companyReviewFilter.filterByCriteria(); Itc_reviews.ItemsSource = filteredCompanies; if (filteredCompanies.Count > 0) { isNoDataVisible = false; } else { isNoDataVisible = true; } cb_companyName.ItemsSource = companiesForComboBox; populateDepartmentsAndLocations(null); Cmb_Empl_Status.SelectedValue = "All status"; Itc_FilterTags.ItemsSource = companyReviewFilter.getUIFilterTags(); } }
public CompanyReview Edit(string id, CompanyReview review) { CompanyReviews.FindOneAndReplace(companyReview => companyReview.Id == id, review); return(review); }
public CompanyReview Create(CompanyReview review) { CompanyReviews.InsertOne(review); return(review); }