public IHttpActionResult UpdateCertificate(TrainingCertificate data) { var certInDb = _context.TrainingCertificates.Single(x => x.StaffId == data.StaffId && x.CourseId == data.CourseId); if (certInDb == null) { throw new HttpResponseException(HttpStatusCode.NotFound); } var userId = User.Identity.GetUserId(); var userPerson = _context.Staff.SingleOrDefault(x => x.UserId == userId); if (userPerson != null && data.StaffId == userPerson.Id) { return(Content(HttpStatusCode.BadRequest, "Cannot modify a certificate for yourself")); } certInDb.StatusId = data.StatusId; _context.SaveChanges(); return(Ok("Certificate updated")); }
private void LoadFromModel(TrainingCertificate model) { CourseId = model.CourseId; StaffId = model.StaffId; StatusId = model.StatusId; if (model.StaffMember != null) { StaffMember = new StaffMemberModel(model.StaffMember); } if (model.TrainingCourse != null) { TrainingCourse = new TrainingCourseModel(model.TrainingCourse); } if (model.Status != null) { Status = new TrainingCertificateStatusModel(model.Status); } }
public IHttpActionResult CreateTrainingCertificate(TrainingCertificate trainingCertificateDto) { if (!ModelState.IsValid) { return(Content(HttpStatusCode.BadRequest, "Invalid data")); } var userId = User.Identity.GetUserId(); var userPerson = _context.Staff.SingleOrDefault(x => x.UserId == userId); if (trainingCertificateDto.StaffId == userPerson.Id) { return(Content(HttpStatusCode.BadRequest, "Cannot add a certificate for yourself")); } var cert = trainingCertificateDto; _context.TrainingCertificates.Add(cert); _context.SaveChanges(); return(Ok("Certificate added")); }
public TrainingCertificateModel(TrainingCertificate model) : base(model) { LoadFromModel(model); }