Exemplo n.º 1
0
        /// <summary>
        /// Method to update nationality - SS
        /// </summary>
        /// <param name="updateInstituteNationality">nation detail</param>
        /// <param name="instituteId">institue id</param>
        /// <returns>message</returns>
        public async Task <SharedLookUpResponse> UpdateInstituteNationalityAsync(UpdateInstituteNationalityAc updateInstituteNationality, int instituteId)
        {
            var nationalities = await _iMSDbContext.InstituteNationalities.Where(x => x.InstituteId == instituteId &&
                                                                                 x.Id != updateInstituteNationality.NationalityId).ToListAsync();

            var isDuplicate = nationalities.Any(x => x.Code.ToLowerInvariant() == updateInstituteNationality.Code.ToLowerInvariant());

            if (isDuplicate)
            {
                return new SharedLookUpResponse()
                       {
                           HasError = true, ErrorType = SharedLookUpResponseType.Code, Message = "Duplicate code of nationality. Please use unique code"
                       }
            }
            ;
            else
            {
                var nationality = await _iMSDbContext.InstituteNationalities.FirstAsync(x => x.Id == updateInstituteNationality.NationalityId);

                nationality.Name        = updateInstituteNationality.Name;
                nationality.Code        = updateInstituteNationality.Code;
                nationality.Description = updateInstituteNationality.Description;
                nationality.Status      = updateInstituteNationality.Status;
                _iMSDbContext.InstituteNationalities.Update(nationality);
                await _iMSDbContext.SaveChangesAsync();

                return(new SharedLookUpResponse()
                {
                    HasError = false, Message = "Nationality updated successfully"
                });
            }
        }
Exemplo n.º 2
0
        public async Task <IActionResult> UpdateInstituteNationalityAsync([FromBody] UpdateInstituteNationalityAc updateInstituteNationality)
        {
            if (string.IsNullOrEmpty(updateInstituteNationality.Name.Trim()))
            {
                return(Ok(new SharedLookUpResponse()
                {
                    HasError = true, ErrorType = SharedLookUpResponseType.Name, Message = "Nationality name can't be empty"
                }));
            }
            else if (string.IsNullOrEmpty(updateInstituteNationality.Code.Trim()))
            {
                return(Ok(new SharedLookUpResponse()
                {
                    HasError = true, ErrorType = SharedLookUpResponseType.Code, Message = "Nationality code can't be empty"
                }));
            }
            else
            {
                var loggedInUserInstituteId = await GetUserCurrentSelectedInstituteIdAsync();

                if (await _iMSDbContext.InstituteNationalities.AnyAsync(x => x.InstituteId == loggedInUserInstituteId && x.Id == updateInstituteNationality.NationalityId))
                {
                    return(Ok(await _instituteNationalityManagementRepository.UpdateInstituteNationalityAsync(updateInstituteNationality, loggedInUserInstituteId)));
                }
                else
                {
                    return(Ok(new SharedLookUpResponse()
                    {
                        HasError = true, ErrorType = SharedLookUpResponseType.Code, Message = "Nationality not found"
                    }));
                }
            }
        }