Пример #1
0
        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"));
        }
Пример #2
0
        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);
            }
        }
Пример #3
0
        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"));
        }
Пример #4
0
 public TrainingCertificateModel(TrainingCertificate model) : base(model)
 {
     LoadFromModel(model);
 }