Beispiel #1
0
        /// <summary>
        /// Method to update disciplinary - SS
        /// </summary>
        /// <param name="updateDisciplinary">disciplinary</param>
        /// <param name="loggedInUser">logged in user</param>
        /// <returns>response</returns>
        public async Task <DisciplinaryManagementResponse> UpdateDisciplinaryAsync(UpdateDisciplinaryManagementAc updateDisciplinary,
                                                                                   ApplicationUser loggedInUser)
        {
            if (string.IsNullOrEmpty(updateDisciplinary.Subject.Trim()))
            {
                return new DisciplinaryManagementResponse()
                       {
                           HasError = true, Message = "Subject can't be empty", ErrorType = DisciplinaryManagementResponseType.Subject
                       }
            }
            ;
            else if (string.IsNullOrEmpty(updateDisciplinary.Description.Trim()))
            {
                return new DisciplinaryManagementResponse()
                       {
                           HasError = true, Message = "Description can't be empty", ErrorType = DisciplinaryManagementResponseType.Description
                       }
            }
            ;
            else
            {
                var instituteId = await _instituteUserMappingHelperService.GetUserCurrentSelectedInstituteIdAsync(loggedInUser.Id, true);

                if (!await _iMSDbContext.DisciplinaryStatuses.AnyAsync(x => x.InstituteId == instituteId && x.Id == updateDisciplinary.StatusId))
                {
                    return new DisciplinaryManagementResponse()
                           {
                               HasError = true, Message = "Status not found", ErrorType = DisciplinaryManagementResponseType.StatusId
                           }
                }
                ;
                else
                {
                    var disciplinary = await _iMSDbContext.Disciplinaries.FirstOrDefaultAsync(x => x.Id == updateDisciplinary.Id && x.Student.InstituteId == instituteId);

                    if (disciplinary == null)
                    {
                        return new DisciplinaryManagementResponse()
                               {
                                   HasError = true, Message = "Disciplinary not found", ErrorType = DisciplinaryManagementResponseType.Id
                               }
                    }
                    ;
                    else
                    {
                        disciplinary.CreatedOn = DateTime.UtcNow;

                        disciplinary.Date        = updateDisciplinary.Date;
                        disciplinary.Description = updateDisciplinary.Description;
                        disciplinary.Remarks     = updateDisciplinary.Remarks;
                        disciplinary.StatusId    = updateDisciplinary.StatusId;
                        disciplinary.Subject     = updateDisciplinary.Subject;
                        disciplinary.UpdatedById = loggedInUser.Id;
                        disciplinary.UpdatedOn   = DateTime.UtcNow;
                        _iMSDbContext.Disciplinaries.Update(disciplinary);
                        await _iMSDbContext.SaveChangesAsync();

                        return(new DisciplinaryManagementResponse()
                        {
                            HasError = false, Message = "Disciplinary updated successfully"
                        });
                    }
                }
            }
        }
        public async Task <IActionResult> UpdateDisciplinaryAsync([FromBody] UpdateDisciplinaryManagementAc updateDisciplinary)
        {
            var user = await _userManager.FindByNameAsync(User.Identity.Name);

            return(Ok(await _disciplinaryManagementRepository.UpdateDisciplinaryAsync(updateDisciplinary, user)));
        }