コード例 #1
0
        public ActionResult Create(RatingVm ratingViewModel)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var rating = Mapper.Map <RatingVm, Rating>(ratingViewModel);


                    rating.Carrier = _carrierRepository.GetById(ratingViewModel.IdCarrier);

                    rating.User = (User)Session["User"];

                    _ratingRepository.Add(rating);
                }
                catch (DbEntityValidationException ex)
                {
                    StringBuilder sb = new StringBuilder();

                    foreach (var failure in ex.EntityValidationErrors)
                    {
                        sb.AppendFormat("{0} failed validation\n", failure.Entry.Entity.GetType());
                        foreach (var error in failure.ValidationErrors)
                        {
                            sb.AppendFormat("- {0} : {1}", error.PropertyName, error.ErrorMessage);
                            sb.AppendLine();
                        }
                    }
                }

                return(RedirectToAction("Index"));
            }

            return(View(ratingViewModel));
        }
コード例 #2
0
        public IEnumerable <RatingVm> GetById(int id)
        {
            var model = new List <RatingVm>();

            try
            {
                var rating = _dbContext.Ratings.Where(x => x.FreelancerId == id).Include(x => x.ApplicationUser).ToList();
                foreach (var i in rating)
                {
                    RatingVm r = new RatingVm
                    {
                        Id       = i.Id,
                        Coments  = i.Comment,
                        FullName = i.ApplicationUser.Name + " " + i.ApplicationUser.LastName,
                        Rating   = i.Rate,
                        Avatar   = $"{_imgServer}{i.ApplicationUser.Avatar}"
                    };
                    model.Add(r);
                }
            }
            catch (Exception)
            {
                model = null;
            }
            return(model);
        }
コード例 #3
0
ファイル: RatingApiClient.cs プロジェクト: duyngo99/Rookie
        public async Task RemoveRating(int ProId, string UserName)
        {
            RatingVm ratingVms = await SearchRating(ProId, UserName);

            var client = new HttpClient();
            await client.DeleteAsync(_configuration["local:BackEndUrl"] + "api/ratings/" + ratingVms.Id);
        }
        public IViewComponentResult Invoke(int IDProduct)
        {
            RatingVm ratingVm = new RatingVm();

            ratingVm.IDProduct = IDProduct;
            return(View(ratingVm));
        }
コード例 #5
0
        public async Task <RatingVm> PostRating(RatingCreateRequest request)
        {
            var    claimsIdentity = User.Identity as ClaimsIdentity;
            string userId         = claimsIdentity.FindFirst("sub").Value;
            var    rating         = new RatingProduct
            {
                TotalStar         = request.TotalStar,
                Comment           = request.Comment,
                Date              = DateTime.Now,
                ApplicationUserId = userId,
                IDProduct         = request.IDProduct
            };

            _context.RatingProducts.Add(rating);
            await _context.SaveChangesAsync();

            var ratingVm = new RatingVm()
            {
                IDRating  = rating.IDRating,
                TotalStar = rating.TotalStar,
                Comment   = rating.Comment,
                Date      = rating.Date,
                UserId    = rating.ApplicationUserId,
                IDProduct = rating.IDProduct
            };

            return(ratingVm);
        }
コード例 #6
0
        public async Task <RatingVm> PostRating(RatingCreateRequest request)
        {
            var rating = new EcommerceShop.Application.Models.Rating()
            {
                RateValue = request.RateValue,
                FeedBack  = request.FeedBack,
                UserId    = request.UserId,
                ProductId = request.ProductId
            };
            var result = await _context.Ratings.Where(r => r.UserId == request.UserId && r.ProductId == request.ProductId).FirstOrDefaultAsync();

            if (result != null)
            {
                return(new RatingVm());
            }
            else
            {
                _context.Ratings.Add(rating);
                await _context.SaveChangesAsync();
            }

            var ratingVm = new RatingVm()
            {
                RatingId  = rating.RatingId,
                RateValue = rating.RateValue,
                FeedBack  = rating.FeedBack,
                UserId    = rating.UserId,
                ProductId = rating.ProductId
            };

            return(ratingVm);
        }
コード例 #7
0
ファイル: RatingApiClient.cs プロジェクト: duyngo99/Rookie
 public async Task PostRatingByID(int ProId, string UserName, double RatingText)
 {
     var      client       = new HttpClient();
     RatingVm jsonInString = new RatingVm {
         ProductID = ProId, UserName = UserName, RatingText = RatingText
     };
     await client.PostAsync(_configuration["local:BackEndUrl"] + "api/ratings", new StringContent(JsonConvert.SerializeObject(jsonInString), Encoding.UTF8, "application/json"));
 }
コード例 #8
0
        public ActionResult Delete(RatingVm carrierViewModel)
        {
            //var carrier = Mapper.Map<CarrierVm, Carrier>(carrierViewModel);
            var rating = _ratingRepository.GetById(carrierViewModel.Id);

            _ratingRepository.Remove(rating);

            return(RedirectToAction("Index"));
        }
コード例 #9
0
        public ActionResult Create(int id)
        {
            var user     = (User)Session["User"];
            var carrier  = _carrierRepository.GetById(id);
            var ratingVm = new RatingVm {
                IdCarrier = carrier.Id, IdUser = user.Id
            };

            return(View("~/Views/Rating/Create.cshtml", ratingVm));
        }
コード例 #10
0
        public ActionResult Edit(RatingVm ratingViewModel)
        {
            if (ModelState.IsValid)
            {
                var rating = Mapper.Map <RatingVm, Rating>(ratingViewModel);
                _ratingRepository.Update(rating);

                return(RedirectToAction("Index"));
            }

            return(View(ratingViewModel));
        }
コード例 #11
0
        public async Task <ActionResult <RatingVm> > PostRating(RatingVm x)
        {
            var rating = new Rating
            {
                RatingText = x.RatingText,
                ProductID  = x.ProductID,
                UserName   = x.UserName
            };

            _dataContext.Rating.Add(rating);
            await _dataContext.SaveChangesAsync();

            return(Accepted());
        }
コード例 #12
0
        public async Task <ActionResult <Rating> > GetRating(string userid, int productid)
        {
            var rating = await _context.Ratings.FirstOrDefaultAsync(x => x.UserId == userid && x.ProductId == productid);

            if (rating == null)
            {
                return(rating);
            }
            var ratingvm = new RatingVm
            {
                UserId    = rating.UserId,
                ProductId = rating.ProductId,
                Star      = rating.Star,
            };

            return(rating);
        }
コード例 #13
0
        public async Task <ActionResult <RatingVm> > GetRatingById(int id)
        {
            var rating = await _dataContext.Rating.FindAsync(id);

            if (rating == null)
            {
                return(NotFound());
            }
            var product = new RatingVm
            {
                Id         = rating.RatingID,
                UserName   = rating.UserName,
                ProductID  = rating.ProductID,
                RatingText = rating.RatingText
            };

            return(product);
        }
コード例 #14
0
        public async Task <ActionResult <RatingVm> > GetRating(int id)
        {
            var rating = await _context.Ratings.FindAsync(id);

            if (rating == null)
            {
                return(NotFound());
            }

            var ratingVm = new RatingVm
            {
                RatingId    = rating.RatingId,
                RatingValue = rating.RatingValue,
                RatingBody  = rating.RatingBody,
                RatingTime  = rating.RatingTime
            };

            return(ratingVm);
        }