public async Task <IActionResult> Edit(Guid id, [Bind("Id,ApplicationUserId,Title,Skills,Description,Image,Youtube,Views,RequiredDays,DateOfRecord,PricingType,SkillCategoryType")] FreelancerReadyService freelancerReadyService, IFormFile myfile) { if (id != freelancerReadyService.Id) { return(NotFound()); } if (ModelState.IsValid) { try { freelancerReadyService.Image = await UserFile.UploadeNewImageAsync(freelancerReadyService.Image, myfile, _environment.WebRootPath, Properties.Resources.Images, 500, 500); if (freelancerReadyService.Youtube != null) { int position = freelancerReadyService.Youtube.IndexOf("="); freelancerReadyService.Youtube = freelancerReadyService.Youtube.Substring(position + 1); } _context.Update(freelancerReadyService); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!FreelancerReadyServiceExists(freelancerReadyService.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["ApplicationUserId"] = new SelectList(_context.ApplicationUsers, "Id", "Id", freelancerReadyService.ApplicationUserId); return(View(freelancerReadyService)); }
public async Task <IActionResult> Create([Bind("Id,ApplicationUserId,Title,Skills,Description,Image,Youtube,Views,RequiredDays,DateOfRecord,PricingType,SkillCategoryType")] FreelancerReadyService freelancerReadyService, IFormFile myfile) { if (ModelState.IsValid) { freelancerReadyService.Image = await UserFile.UploadeNewImageAsync(freelancerReadyService.Image, myfile, _environment.WebRootPath, Properties.Resources.Images, 500, 500); freelancerReadyService.Id = Guid.NewGuid(); if (freelancerReadyService.Youtube != null) { int position = freelancerReadyService.Youtube.IndexOf("="); freelancerReadyService.Youtube = freelancerReadyService.Youtube.Substring(position + 1); } freelancerReadyService.ApplicationUserId = _userManager.GetUserId(User); _context.Add(freelancerReadyService); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["ApplicationUserId"] = new SelectList(_context.ApplicationUsers, "Id", "Id", freelancerReadyService.ApplicationUserId); return(View(freelancerReadyService)); }
// GET: FreelancerReadyServices/Details/5 public async Task <IActionResult> Details(Guid?id) { //------------------------------ratings----------------------------- var p = 0; var c = 0; var q = 0; var e = 0; var d = 0; var r = 0; var freelancerratings = _context.FreelancerRatings.Where(f => f.FreelancerReadyServiceId == id); foreach (var item in freelancerratings) { p += item.Professionalism; c += item.Communication; q += item.Quality; e += item.Experience; d += item.Delivery; r += item.RehirePossibility; } if (freelancerratings.Count() > 0) { p = p / freelancerratings.Count(); c = c / freelancerratings.Count(); q = q / freelancerratings.Count(); e = e / freelancerratings.Count(); d = d / freelancerratings.Count(); r = r / freelancerratings.Count(); ViewData["rating"] = (p + c + q + e + d + r) / 6; } //------------------------------ratings----------------------------- if (id == null) { return(NotFound()); } FreelancerReadyService FreelancerReadyService = await _context.FreelancerReadyServices .Include(f => f.ApplicationUser) .SingleOrDefaultAsync(m => m.Id == id); FreelancerReadyService.Views += 1; _context.Update(FreelancerReadyService); _context.SaveChanges(); if (FreelancerReadyService.PricingType == PricingType.Fiver) { ViewData["price"] = 5; } else if (FreelancerReadyService.PricingType == PricingType.Tenth) { ViewData["price"] = 10; } else if (FreelancerReadyService.PricingType == PricingType.Fifteenth) { ViewData["price"] = 15; } else if (FreelancerReadyService.PricingType == PricingType.Twenty) { ViewData["price"] = 20; } else if (FreelancerReadyService.PricingType == PricingType.TwenyFive) { ViewData["price"] = 25; } FreelancerReadyServiceViewModel freelancerReadyServiceVM = new FreelancerReadyServiceViewModel() { FreelancerReadyService = await _context.FreelancerReadyServices .Include(f => f.ApplicationUser) .SingleOrDefaultAsync(m => m.Id == id), FreelancerReadyServiceExtensions = _context.FreelancerReadyServiceExtensions.Where(f => f.FreelancerReadyServiceId == id).OrderByDescending(a => a.Id), }; return(View(freelancerReadyServiceVM)); }