public async Task <IActionResult> Edit(string id, CertificateEditInputModel certificateEditInputModel) { if (id != certificateEditInputModel.Id) { return(this.BadRequest()); } if (!this.ModelState.IsValid) { this.ViewData["Activities"] = await this.GetAllWorkoutActivitiesAsSelectListItems(); return(this.View(certificateEditInputModel)); } var userId = this.User.FindFirst(ClaimTypes.NameIdentifier).Value; await this.certificatesService.UpdateAsync(certificateEditInputModel, userId); return(this.RedirectToAction(nameof(this.All))); }
public async Task <ActionResult <CertificateExportModel> > Put(int id, [FromForm] CertificateEditInputModel input) { if (id != input.Id) { return(this.BadRequest()); } var model = await this.certificatesService.GetByIdAsync <CertificateExportModel>(id); if (model == null) { return(this.NotFound()); } // var userId = this.User.FindFirst(ClaimTypes.NameIdentifier).Value; var user = await this.userManager.GetUserAsync(this.User); await this.certificatesService.EditAsync(input, user.Id); return(this.NoContent()); }
public async Task <int> EditAsync(CertificateEditInputModel input, string userId) { var entity = await this.certificatesRepository .All() .FirstOrDefaultAsync(x => x.Id == input.Id); // entity.Title = input.Title.Trim(); // entity.Author = input.Author.Trim(); // entity.Details = input.Details.Trim(); // entity.PublishDate = input.PublishDate; // entity.ExternalPostUrl = input.ExternalPostUrl; // entity.UserId = userId; // entity.Categories = null; // entity.Likes = input.Likes; PropertyInfo[] properties = entity.GetType().GetProperties(BindingFlags.Static | BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic); // Stream fileStream = await this.UploadFileAsync(input, imageFilesDirectory, entity); await this.certificatesRepository.SaveChangesAsync(); return(entity.Id); }
public async Task UpdateAsync(CertificateEditInputModel certificateEditInputModel, string userId) { var certificate = await this.certificatesRepository.All() .FirstOrDefaultAsync(x => x.Id == certificateEditInputModel.Id); if (certificate == null) { throw new NullReferenceException(string.Format(ServiceConstants.Certificate.NullReferenceCertificateId, certificateEditInputModel.Id)); } var issuedToUserId = await this.certificatesRepository.All() .Where(cid => cid.Id == certificateEditInputModel.Id) .Select(x => x.TrainConnectedUserId) .FirstOrDefaultAsync(); if (issuedToUserId != userId) { throw new ArgumentException(string.Format(ServiceConstants.Certificate.ArgumentUserIdMismatch, userId)); } var workoutActivity = await this.workoutActivityRepository.All() .FirstOrDefaultAsync(x => x.Name == certificateEditInputModel.ActivityName); if (workoutActivity == null) { throw new NullReferenceException(string.Format(ServiceConstants.Certificate.NullReferenceWorkoutActivityName, certificateEditInputModel.ActivityName)); } certificate.ActivityId = workoutActivity.Id; certificate.Activity = workoutActivity; certificate.IssuedBy = certificateEditInputModel.IssuedBy; certificate.IssuedOn = certificateEditInputModel.IssuedOn; certificate.ExpiresOn = certificateEditInputModel.ExpiresOn; certificate.Description = certificateEditInputModel.Description; this.certificatesRepository.Update(certificate); await this.certificatesRepository.SaveChangesAsync(); }