コード例 #1
0
 public ActionResult Add(int?id, CreateReview viewModel)
 {
     try
     {
         if (!ModelState.IsValid)
         {
             return(View(viewModel));
         }
         ReviewRepository repo    = new ReviewRepository(context);
         User             current = new UserRepository(context).GetByEmail(User.Identity.Name);
         int    userId            = current.Id;
         Review review            = new Review()
         {
             Rating     = viewModel.Rating,
             Feedback   = viewModel.Feedback,
             SubmitedOn = DateTimeOffset.Now,
             BenchId    = (int)id,
             UserId     = userId
         };
         repo.Insert(review);
         return(RedirectToAction("Details", "Bench", new { id = id }));
     }
     catch (Exception ex)
     {
         return(View(viewModel));
     }
 }
コード例 #2
0
        public async Task <IActionResult> CreateReview([FromBody] CreateReview createDTO)
        {
            try
            {
                var userId    = HttpContext.User.FindFirst("http://schemas.microsoft.com/identity/claims/objectidentifier").Value;
                var nameClaim = HttpContext.User.FindFirst("name").Value;

                int    indexOfSpace = nameClaim.IndexOf(" ");
                string firstLetter  = nameClaim.Substring(0, 1);
                string lastName     = nameClaim.Substring(indexOfSpace + 1, nameClaim.Length - (indexOfSpace + 1));
                string name         = firstLetter + " " + lastName;

                var entityToCreate = _mapper.Map <Review>(createDTO);
                entityToCreate.UserId = userId;
                entityToCreate.Name   = name;
                var entity = await _reviewService.CreateAsync(entityToCreate);

                var view = _mapper.Map <ViewReview>(entity);
                return(Ok(view));
            }
            catch
            {
                return(StatusCode(500));
            }
        }
コード例 #3
0
        public async Task <IActionResult> CreateReview([FromBody] CreateReview info)
        {
            var userId = User.GetUserId();

            var result = await doctorManager.CreateReview(info, userId);

            return(Ok(result));
        }
コード例 #4
0
ファイル: HomeController.cs プロジェクト: xZemanova/src
        public async Task <ActionResult> AddReview()
        {
            CreateReview _review = new CreateReview {
                RestaurantId = 0, Presentation = 5, Taste = 2, Texture = 3
            };
            await _reviewAppService.Create(_review);

            return(View());
        }
コード例 #5
0
        public async Task <ActionResult> AddReview(CreateReview input)
        {
            CreatePicture _picture = new CreatePicture {
                FileName = fileName, FileContentType = fileContentType
            };
            await _pictureAppService.Create(_picture);

            return(View());
        }
コード例 #6
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.Review);

            drawerLayout = FindViewById <DrawerLayout>(Resource.Id.drawer_layout);

            // Create ActionBarDrawerToggle button and add it to the toolbar
            var toolbar = FindViewById <V7Toolbar>(Resource.Id.toolbar);

            SetSupportActionBar(toolbar);


            var drawerToggle = new ActionBarDrawerToggle(this, drawerLayout, toolbar, Resource.String.drawer_open, Resource.String.drawer_close);

            drawerLayout.SetDrawerListener(drawerToggle);
            drawerToggle.SyncState();

            navigationView = FindViewById <NavigationView>(Resource.Id.nav_view);
            setupDrawerContent(navigationView);

            navigationView.NavigationItemSelected += HomeNavigationView_NavigationItemSelected;

            zvijezdice          = FindViewById <RatingBar>(Resource.Id.ratingBar1);
            posaljiReviewButton = FindViewById <Button>(Resource.Id.button2);
            recenzijaText       = FindViewById <EditText>(Resource.Id.OpisRezenzije1);
            string input     = Intent.GetStringExtra("rent");
            string userinput = Intent.GetStringExtra("user");

            najam    = JsonConvert.DeserializeObject <Data_classes.Rent>(input);
            korisnik = JsonConvert.DeserializeObject <List <User> >(userinput);



            posaljiReviewButton.Click += (b, e) =>
            {
                if (recenzijaText.Text != null)
                {
                    korisnik = JsonConvert.DeserializeObject <List <User> >(userinput);
                    var klijent = new RestClient("http://marichely.m/");
                    var zahtjev = new RestRequest("reviews", Method.POST);
                    zahtjev.RequestFormat = DataFormat.Json;
                    zahtjev.AddHeader("rentid", najam.Rentid.ToString());
                    zahtjev.AddHeader("userapikey", korisnik[0].ApiKey);
                    CreateReview posalji = new CreateReview();
                    posalji.Description = recenzijaText.Text;
                    posalji.Stars       = zvijezdice.NumStars;
                    string test = JsonConvert.SerializeObject(posalji);
                    zahtjev.AddParameter("text/json", test, ParameterType.RequestBody); //text/json
                    IRestResponse odgovor = klijent.Execute(zahtjev);
                    if ((int)odgovor.StatusCode == 200)
                    {
                        Toast.MakeText(this, "Review Sent", ToastLength.Short).Show();
                    }
                }
            };
        }
コード例 #7
0
        // GET: Review
        public ActionResult Add(int?id)
        {
            if (id == null)
            {
                return(RedirectToAction("Index", "Home"));
            }
            CreateReview viewModel = new CreateReview();

            return(View(viewModel));
        }
コード例 #8
0
        public ActionResult ProductDetails(CreateReview model)
        {
            var newReview = new Review();

            newReview.Product       = ProductService.Instance.GetProduct(model.ProductID);
            newReview.UserName      = model.UserName;
            newReview.RatingPoint   = model.RatingPoint;
            newReview.ReviewMessage = model.ReviewMessage;


            ProductService.Instance.CreateReview(newReview);
            return(RedirectToAction("ProductDetails"));
        }
コード例 #9
0
ファイル: DoctorManager.cs プロジェクト: amenayach/doctorleb
        /// <summary>
        /// Creates a new review.
        /// </summary>
        /// <param name="info">Review information.</param>
        /// <param name="userId"></param>
        /// <returns>Returns an insteance of <see cref="SubmitResponseInfo"/>
        /// class that represents the submit reponse.</returns>
        public async Task <SubmitResponseInfo> CreateReview(CreateReview info, Guid userId)
        {
            var result = await doctorManager.CreateReview(info.ToObjectModel(userId));

            if (result == null)
            {
                return(null);
            }

            await cacheManager.RemoveItemsFromCacheAsync(DoctorInfoKey + info.DoctorId + "_" + userId);

            return(ToSubmitResponseViewModel(result));
        }
コード例 #10
0
        public async Task <JsonResult> AddReview([FromBody] CreateReview model)
        {
            try
            {
                var placesCollection  = _database.GetCollection <BsonDocument>("places");
                var usersCollection   = _database.GetCollection <BsonDocument>("users");
                var reviewsCollection = _database.GetCollection <BsonDocument>("reviews");

                var findMyPlaceFilter = Builders <BsonDocument> .Filter.Where(x => x["_id"] == ObjectId.Parse(model.PlaceId));

                var findMyReviewerFilter = Builders <BsonDocument> .Filter.Where(x => x["_id"] == ObjectId.Parse(model.ReviewerId));

                var place = await placesCollection.Find(findMyPlaceFilter).FirstAsync();

                if (place == null)
                {
                    return(Json(new { error = 1, errorMessage = "Place not found" }));
                }
                var reviewer = await usersCollection.Find(findMyReviewerFilter).FirstAsync();

                if (reviewer == null)
                {
                    return(Json(new { error = 1, errorMessage = "Reviewer not found" }));
                }

                var imgId = await SaveImage(model.Image);

                await reviewsCollection.InsertOneAsync(new BsonDocument()
                {
                    { "placeId", ObjectId.Parse(model.PlaceId) },
                    { "reviewerId", ObjectId.Parse(model.ReviewerId) },
                    { "rating", model.Rating },
                    { "description", model.Description },
                    { "title", model.Title },
                    { "imageId", imgId }
                });

                return(Json(new { error = 0, result = 1 }.ToJson(jsonWriterSettings)));
            }
            catch (Exception ex)
            {
                return(Json(ex.RaiseException()));
            }
        }
コード例 #11
0
ファイル: FishEye.cs プロジェクト: Celdorfpwn/ASAP
        public ReviewData CreateReview(string commit, string name, string description, string summary, string jiraKey)
        {
            if(CheckChangeset(commit))
            {

            var newReview = new CreateReview();
            newReview.ChangeSets = new ChangeSet {
                    ChangeSets = new IdType[] {
                    new IdType { Id = commit}
                },
                    Repository = Config.Repository
            };

            var user = FishEyeUser;

            newReview.ReviewData = new ReviewData
            {
                Author = user,
                Moderator = user,
                Creator = user,
                AllowReviewersToJoin = true,
                Name = name,
                ProjectKey = Config.Project,
                Description = description,
                State = "Review",
                PermaId = new IdType { Id = ""},
                Type = "REVIEW",
                CreateDate = CurrentDate,
                JiraIssueKey = jiraKey,
                Summary = summary,
            };

            return JsonConvert.DeserializeObject<ReviewData>(CreateReview(newReview));
            }
            else
            {
                return null;
            }
        }
コード例 #12
0
        public ActionResult Create(CreateReview formModel, int Id)
        {
            var email = User.Identity.Name;

            var revRepo  = new ReviewsRepo(context);
            var benRepo  = new BenchRepo(context);
            var userRepo = new UserRepo(context);

            try
            {
                Bench bench  = benRepo.GetById(Id);
                User  user   = userRepo.GetByEmail(email);
                var   review = new Review(formModel.Rating, formModel.Comment, bench, user);
                review.CreatedOn = DateTime.UtcNow;
                revRepo.Insert(review);
                return(RedirectToAction("Index", "Bench"));
            }
            catch (DbUpdateException ex)
            {
                //HandleDbUpdateException(ex);
            }

            return(View("Create", formModel));
        }
コード例 #13
0
ファイル: FishEye.cs プロジェクト: Celdorfpwn/ASAP
        private string CreateReview(CreateReview newReview)
        {
            string query = "reviews-v1";

               string data = JsonConvert.SerializeObject(newReview);

               return RunQuery(query, data, "POST");
        }
コード例 #14
0
ファイル: ReviewAppService.cs プロジェクト: xZemanova/src
 public async Task Create(CreateReview input)
 {
     Review output = Mapper.Map <CreateReview, Review>(input);
     await _reviewManager.Create(output);
 }
コード例 #15
0
        public ActionResult Create()
        {
            var formModel = new CreateReview();

            return(View("Create", formModel));
        }
コード例 #16
0
 public async Task <ActionResult <UseCaseResult <ReviewModel> > > Post([FromBody] CreateReview request)
 {
     return(Ok(await UseCase.Execute(request)));
 }
コード例 #17
0
        public async Task <bool> Create([FromBody] CreateReview review)
        {
            var user = await _userManager.FindByEmailAsync(User.Identity.Name);

            if (review.Accept)
            {
                var order = context.Orders.First(x => x.UserId == user.Id && x.ArticleId == review.ArticleId);
                context.Reviews.Add(new Core.Models.Review {
                    Mark = review.Rating, ArticleId = review.ArticleId, UserId = user.Id
                });
                if (context.Loop.First(x => x.Id == review.ArticleId).NeedReviews == context.Reviews.Where(x => x.ArticleId == review.ArticleId).Count())
                {
                    var loop = context.Loop.First(x => x.Id == review.ArticleId);
                    var bank = new Bank
                    {
                        Name   = loop.Name,
                        Path   = loop.Path,
                        Rating = context.Reviews.Where(x => x.ArticleId == loop.Id).Sum(x => x.Mark) / loop.NeedReviews,
                        SpecId = loop.SpecId,
                        UserId = loop.UserId
                    };
                    context.Bank.Add(bank);
                    context.Loop.Remove(loop);
                    context.Reviews.RemoveRange(context.Reviews.Where(x => x.ArticleId == review.ArticleId));
                }
                context.Orders.Remove(order);
                context.SaveChanges();
                return(true);
            }
            else
            {
                context.BlackList.Add(new Core.Unite.BlackList {
                    UserId = user.Id, ArticleId = review.ArticleId
                });
                context.Orders.Remove(context.Orders.First(x => x.UserId == user.Id && x.ArticleId == review.ArticleId));
                if (_userManager.Users.Any(x => !context.BlackList.Any(a => a.UserId == x.Id && a.ArticleId == review.ArticleId) &&
                                           !context.Orders.Any(b => b.ArticleId == review.ArticleId && b.UserId == x.Id) &&
                                           context.UserToSpecs.Any(c => c.SpecId == context.Loop.First(d => d.Id == review.ArticleId).SpecId & c.UserId == x.Id)))
                {
                    bool flag = false;
                    while (!flag)
                    {
                        var    length     = context.UserToSpecs.Where(x => x.SpecId == context.Loop.First(y => y.Id == review.ArticleId).SpecId&& x.UserId != user.Id).Count() - 1;
                        var    enumerator = _userManager.Users.GetEnumerator();
                        var    loop       = context.Loop.First(x => x.Id == review.ArticleId);
                        Random rnd        = new Random();
                        var    index      = rnd.Next(0, length);
                        while (index > 0)
                        {
                            enumerator.MoveNext();
                            index--;
                        }
                        user = enumerator.Current;
                        if (!context.Orders.Any(x => x.UserId == user.Id && x.ArticleId == loop.Id) && !context.BlackList.Any(x => x.UserId == user.Id && x.ArticleId == loop.Id))
                        {
                            var time = DateTime.Now;
                            time.AddDays(5);
                            context.Orders.Add(new Order {
                                Name = loop.Name, UserId = user.Id, ArticleId = loop.Id, Deadline = time
                            });
                            flag = true;
                        }
                    }
                }
                else
                {
                    context.Loop.Remove(context.Loop.First(x => x.Id == review.ArticleId));
                    context.Orders.RemoveRange(context.Orders.Where(x => x.ArticleId == review.ArticleId));
                    context.Reviews.RemoveRange(context.Reviews.Where(x => x.ArticleId == review.ArticleId));
                }
                context.SaveChanges();
                return(false);
            }
        }
コード例 #18
0
        public async Task <ActionResult> AddReview(CreateReview input)
        {
            await _reviewAppService.Create(input);

            return(View());
        }