Ejemplo n.º 1
0
 public async Task <bool> Delete(KnowledgeGroup KnowledgeGroup)
 {
     if (await ValidateId(KnowledgeGroup))
     {
     }
     return(KnowledgeGroup.IsValidated);
 }
Ejemplo n.º 2
0
        public async Task <ActionResult <KnowledgeGroup_KnowledgeGroupDTO> > Delete([FromBody] KnowledgeGroup_KnowledgeGroupDTO KnowledgeGroup_KnowledgeGroupDTO)
        {
            if (!ModelState.IsValid)
            {
                throw new BindException(ModelState);
            }

            if (!await HasPermission(KnowledgeGroup_KnowledgeGroupDTO.Id))
            {
                return(Forbid());
            }

            KnowledgeGroup KnowledgeGroup = ConvertDTOToEntity(KnowledgeGroup_KnowledgeGroupDTO);

            KnowledgeGroup = await KnowledgeGroupService.Delete(KnowledgeGroup);

            KnowledgeGroup_KnowledgeGroupDTO = new KnowledgeGroup_KnowledgeGroupDTO(KnowledgeGroup);
            if (KnowledgeGroup.IsValidated)
            {
                return(KnowledgeGroup_KnowledgeGroupDTO);
            }
            else
            {
                return(BadRequest(KnowledgeGroup_KnowledgeGroupDTO));
            }
        }
Ejemplo n.º 3
0
        public async Task <KnowledgeGroup> Get(long Id)
        {
            KnowledgeGroup KnowledgeGroup = await DataContext.KnowledgeGroup.AsNoTracking()
                                            .Where(x => x.Id == Id).Select(x => new KnowledgeGroup()
            {
                CreatedAt    = x.CreatedAt,
                UpdatedAt    = x.UpdatedAt,
                Id           = x.Id,
                Name         = x.Name,
                Code         = x.Code,
                StatusId     = x.StatusId,
                DisplayOrder = x.DisplayOrder,
                Description  = x.Description,
                Status       = x.Status == null ? null : new Status
                {
                    Id   = x.Status.Id,
                    Code = x.Status.Code,
                    Name = x.Status.Name,
                },
            }).FirstOrDefaultAsync();

            if (KnowledgeGroup == null)
            {
                return(null);
            }

            return(KnowledgeGroup);
        }
Ejemplo n.º 4
0
 public async Task <bool> ValidateStatus(KnowledgeGroup KnowledgeGroup)
 {
     if (StatusEnum.ACTIVE.Id != KnowledgeGroup.StatusId && StatusEnum.INACTIVE.Id != KnowledgeGroup.StatusId)
     {
         KnowledgeGroup.AddError(nameof(KnowledgeGroupValidator), nameof(KnowledgeGroup.Status), ErrorCode.StatusNotExisted);
     }
     return(KnowledgeGroup.IsValidated);
 }
Ejemplo n.º 5
0
        public async Task <bool> Create(KnowledgeGroup KnowledgeGroup)
        {
            await ValidateCode(KnowledgeGroup);
            await ValidateName(KnowledgeGroup);
            await ValidateStatus(KnowledgeGroup);

            return(KnowledgeGroup.IsValidated);
        }
Ejemplo n.º 6
0
        public async Task <bool> Delete(KnowledgeGroup KnowledgeGroup)
        {
            await DataContext.KnowledgeGroup.Where(x => x.Id == KnowledgeGroup.Id).UpdateFromQueryAsync(x => new KnowledgeGroupDAO {
                DeletedAt = StaticParams.DateTimeNow
            });

            return(true);
        }
Ejemplo n.º 7
0
        public async Task <KnowledgeGroup> Get(long Id)
        {
            KnowledgeGroup KnowledgeGroup = await UOW.KnowledgeGroupRepository.Get(Id);

            if (KnowledgeGroup == null)
            {
                return(null);
            }
            return(KnowledgeGroup);
        }
Ejemplo n.º 8
0
 public async Task <bool> Update(KnowledgeGroup KnowledgeGroup)
 {
     if (await ValidateId(KnowledgeGroup))
     {
         await ValidateCode(KnowledgeGroup);
         await ValidateName(KnowledgeGroup);
         await ValidateStatus(KnowledgeGroup);
     }
     return(KnowledgeGroup.IsValidated);
 }
Ejemplo n.º 9
0
 public async Task <bool> ValidateName(KnowledgeGroup KnowledgeGroup)
 {
     if (string.IsNullOrWhiteSpace(KnowledgeGroup.Name))
     {
         KnowledgeGroup.AddError(nameof(KnowledgeGroupValidator), nameof(KnowledgeGroup.Name), ErrorCode.NameEmpty);
     }
     else if (KnowledgeGroup.Name.Length > 255)
     {
         KnowledgeGroup.AddError(nameof(KnowledgeGroupValidator), nameof(KnowledgeGroup.Name), ErrorCode.NameOverLength);
     }
     return(KnowledgeGroup.IsValidated);
 }
Ejemplo n.º 10
0
 public KnowledgeGroup_KnowledgeGroupDTO(KnowledgeGroup KnowledgeGroup)
 {
     this.Id           = KnowledgeGroup.Id;
     this.Name         = KnowledgeGroup.Name;
     this.Code         = KnowledgeGroup.Code;
     this.StatusId     = KnowledgeGroup.StatusId;
     this.DisplayOrder = KnowledgeGroup.DisplayOrder;
     this.Description  = KnowledgeGroup.Description;
     this.Status       = KnowledgeGroup.Status == null ? null : new KnowledgeGroup_StatusDTO(KnowledgeGroup.Status);
     this.CreatedAt    = KnowledgeGroup.CreatedAt;
     this.UpdatedAt    = KnowledgeGroup.UpdatedAt;
     this.Errors       = KnowledgeGroup.Errors;
 }
Ejemplo n.º 11
0
        public Role_KnowledgeGroupDTO(KnowledgeGroup KnowledgeGroup)
        {
            this.Id = KnowledgeGroup.Id;

            this.Name = KnowledgeGroup.Name;

            this.Code = KnowledgeGroup.Code;

            this.StatusId = KnowledgeGroup.StatusId;

            this.DisplayOrder = KnowledgeGroup.DisplayOrder;

            this.Description = KnowledgeGroup.Description;

            this.Errors = KnowledgeGroup.Errors;
        }
Ejemplo n.º 12
0
        private KnowledgeGroup ConvertDTOToEntity(KnowledgeGroup_KnowledgeGroupDTO KnowledgeGroup_KnowledgeGroupDTO)
        {
            KnowledgeGroup KnowledgeGroup = new KnowledgeGroup();

            KnowledgeGroup.Id           = KnowledgeGroup_KnowledgeGroupDTO.Id;
            KnowledgeGroup.Name         = KnowledgeGroup_KnowledgeGroupDTO.Name;
            KnowledgeGroup.Code         = KnowledgeGroup_KnowledgeGroupDTO.Code;
            KnowledgeGroup.StatusId     = KnowledgeGroup_KnowledgeGroupDTO.StatusId;
            KnowledgeGroup.DisplayOrder = KnowledgeGroup_KnowledgeGroupDTO.DisplayOrder;
            KnowledgeGroup.Description  = KnowledgeGroup_KnowledgeGroupDTO.Description;
            KnowledgeGroup.Status       = KnowledgeGroup_KnowledgeGroupDTO.Status == null ? null : new Status
            {
                Id   = KnowledgeGroup_KnowledgeGroupDTO.Status.Id,
                Code = KnowledgeGroup_KnowledgeGroupDTO.Status.Code,
                Name = KnowledgeGroup_KnowledgeGroupDTO.Status.Name,
            };
            KnowledgeGroup.BaseLanguage = CurrentContext.Language;
            return(KnowledgeGroup);
        }
Ejemplo n.º 13
0
        public async Task <bool> ValidateId(KnowledgeGroup KnowledgeGroup)
        {
            KnowledgeGroupFilter KnowledgeGroupFilter = new KnowledgeGroupFilter
            {
                Skip = 0,
                Take = 10,
                Id   = new IdFilter {
                    Equal = KnowledgeGroup.Id
                },
                Selects = KnowledgeGroupSelect.Id
            };

            int count = await UOW.KnowledgeGroupRepository.Count(KnowledgeGroupFilter);

            if (count == 0)
            {
                KnowledgeGroup.AddError(nameof(KnowledgeGroupValidator), nameof(KnowledgeGroup.Id), ErrorCode.IdNotExisted);
            }
            return(count == 1);
        }
Ejemplo n.º 14
0
        public async Task <bool> Create(KnowledgeGroup KnowledgeGroup)
        {
            KnowledgeGroupDAO KnowledgeGroupDAO = new KnowledgeGroupDAO();

            KnowledgeGroupDAO.Id           = KnowledgeGroup.Id;
            KnowledgeGroupDAO.Name         = KnowledgeGroup.Name;
            KnowledgeGroupDAO.Code         = KnowledgeGroup.Code;
            KnowledgeGroupDAO.StatusId     = KnowledgeGroup.StatusId;
            KnowledgeGroupDAO.DisplayOrder = KnowledgeGroup.DisplayOrder;
            KnowledgeGroupDAO.Description  = KnowledgeGroup.Description;
            KnowledgeGroupDAO.CreatedAt    = StaticParams.DateTimeNow;
            KnowledgeGroupDAO.UpdatedAt    = StaticParams.DateTimeNow;
            DataContext.KnowledgeGroup.Add(KnowledgeGroupDAO);
            await DataContext.SaveChangesAsync();

            KnowledgeGroup.Id = KnowledgeGroupDAO.Id;
            await SaveReference(KnowledgeGroup);

            return(true);
        }
Ejemplo n.º 15
0
        public async Task <ActionResult <KnowledgeGroup_KnowledgeGroupDTO> > Get([FromBody] KnowledgeGroup_KnowledgeGroupDTO KnowledgeGroup_KnowledgeGroupDTO)
        {
            if (UnAuthorization)
            {
                return(Forbid());
            }
            if (!ModelState.IsValid)
            {
                throw new BindException(ModelState);
            }

            if (!await HasPermission(KnowledgeGroup_KnowledgeGroupDTO.Id))
            {
                return(Forbid());
            }

            KnowledgeGroup KnowledgeGroup = await KnowledgeGroupService.Get(KnowledgeGroup_KnowledgeGroupDTO.Id);

            return(new KnowledgeGroup_KnowledgeGroupDTO(KnowledgeGroup));
        }
Ejemplo n.º 16
0
        public async Task <bool> Update(KnowledgeGroup KnowledgeGroup)
        {
            KnowledgeGroupDAO KnowledgeGroupDAO = DataContext.KnowledgeGroup.Where(x => x.Id == KnowledgeGroup.Id).FirstOrDefault();

            if (KnowledgeGroupDAO == null)
            {
                return(false);
            }
            KnowledgeGroupDAO.Id           = KnowledgeGroup.Id;
            KnowledgeGroupDAO.Name         = KnowledgeGroup.Name;
            KnowledgeGroupDAO.Code         = KnowledgeGroup.Code;
            KnowledgeGroupDAO.StatusId     = KnowledgeGroup.StatusId;
            KnowledgeGroupDAO.DisplayOrder = KnowledgeGroup.DisplayOrder;
            KnowledgeGroupDAO.Description  = KnowledgeGroup.Description;
            KnowledgeGroupDAO.UpdatedAt    = StaticParams.DateTimeNow;
            await DataContext.SaveChangesAsync();

            await SaveReference(KnowledgeGroup);

            return(true);
        }
Ejemplo n.º 17
0
        public async Task <KnowledgeGroup> Update(KnowledgeGroup KnowledgeGroup)
        {
            if (!await KnowledgeGroupValidator.Update(KnowledgeGroup))
            {
                return(KnowledgeGroup);
            }
            try
            {
                var oldData = await UOW.KnowledgeGroupRepository.Get(KnowledgeGroup.Id);

                await UOW.Begin();

                await UOW.KnowledgeGroupRepository.Update(KnowledgeGroup);

                await UOW.Commit();

                KnowledgeGroup = await UOW.KnowledgeGroupRepository.Get(KnowledgeGroup.Id);

                await Logging.CreateAuditLog(KnowledgeGroup, oldData, nameof(KnowledgeGroupService));

                return(KnowledgeGroup);
            }
            catch (Exception ex)
            {
                await UOW.Rollback();

                if (ex.InnerException == null)
                {
                    await Logging.CreateSystemLog(ex, nameof(KnowledgeGroupService));

                    throw new MessageException(ex);
                }
                else
                {
                    await Logging.CreateSystemLog(ex.InnerException, nameof(KnowledgeGroupService));

                    throw new MessageException(ex.InnerException);
                }
            }
        }
Ejemplo n.º 18
0
        public async Task <bool> ValidateCode(KnowledgeGroup KnowledgeGroup)
        {
            if (string.IsNullOrWhiteSpace(KnowledgeGroup.Code))
            {
                KnowledgeGroup.AddError(nameof(KnowledgeGroupValidator), nameof(KnowledgeGroup.Code), ErrorCode.CodeEmpty);
            }
            else
            {
                var Code = KnowledgeGroup.Code;
                if (KnowledgeGroup.Code.Contains(" ") || !FilterExtension.ChangeToEnglishChar(Code).Equals(KnowledgeGroup.Code))
                {
                    KnowledgeGroup.AddError(nameof(KnowledgeGroupValidator), nameof(KnowledgeGroup.Code), ErrorCode.CodeHasSpecialCharacter);
                }

                KnowledgeGroupFilter KnowledgeGroupFilter = new KnowledgeGroupFilter
                {
                    Skip = 0,
                    Take = 10,
                    Id   = new IdFilter {
                        NotEqual = KnowledgeGroup.Id
                    },
                    Code = new StringFilter {
                        Equal = KnowledgeGroup.Code
                    },
                    Selects = KnowledgeGroupSelect.Code
                };

                int count = await UOW.KnowledgeGroupRepository.Count(KnowledgeGroupFilter);

                if (count != 0)
                {
                    KnowledgeGroup.AddError(nameof(KnowledgeGroupValidator), nameof(KnowledgeGroup.Code), ErrorCode.CodeExisted);
                }
            }
            return(KnowledgeGroup.IsValidated);
        }
Ejemplo n.º 19
0
        public async Task <ActionResult> Import(IFormFile file)
        {
            if (UnAuthorization)
            {
                return(Forbid());
            }
            if (!ModelState.IsValid)
            {
                throw new BindException(ModelState);
            }
            AppUserFilter CreatorFilter = new AppUserFilter
            {
                Skip    = 0,
                Take    = int.MaxValue,
                Selects = AppUserSelect.ALL
            };
            List <AppUser> Creators = await AppUserService.List(CreatorFilter);

            KnowledgeGroupFilter GroupFilter = new KnowledgeGroupFilter
            {
                Skip    = 0,
                Take    = int.MaxValue,
                Selects = KnowledgeGroupSelect.ALL
            };
            List <KnowledgeGroup> Groups = await KnowledgeGroupService.List(GroupFilter);

            StatusFilter StatusFilter = new StatusFilter
            {
                Skip    = 0,
                Take    = int.MaxValue,
                Selects = StatusSelect.ALL
            };
            List <Status> Statuses = await StatusService.List(StatusFilter);

            List <KnowledgeArticle> KnowledgeArticles = new List <KnowledgeArticle>();

            using (ExcelPackage excelPackage = new ExcelPackage(file.OpenReadStream()))
            {
                ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets.FirstOrDefault();
                if (worksheet == null)
                {
                    return(Ok(KnowledgeArticles));
                }
                int StartColumn        = 1;
                int StartRow           = 1;
                int IdColumn           = 0 + StartColumn;
                int TitleColumn        = 1 + StartColumn;
                int DetailColumn       = 2 + StartColumn;
                int StatusIdColumn     = 3 + StartColumn;
                int GroupIdColumn      = 4 + StartColumn;
                int CreatorIdColumn    = 5 + StartColumn;
                int DisplayOrderColumn = 6 + StartColumn;

                for (int i = StartRow; i <= worksheet.Dimension.End.Row; i++)
                {
                    if (string.IsNullOrEmpty(worksheet.Cells[i + StartRow, StartColumn].Value?.ToString()))
                    {
                        break;
                    }
                    string IdValue           = worksheet.Cells[i + StartRow, IdColumn].Value?.ToString();
                    string TitleValue        = worksheet.Cells[i + StartRow, TitleColumn].Value?.ToString();
                    string DetailValue       = worksheet.Cells[i + StartRow, DetailColumn].Value?.ToString();
                    string StatusIdValue     = worksheet.Cells[i + StartRow, StatusIdColumn].Value?.ToString();
                    string GroupIdValue      = worksheet.Cells[i + StartRow, GroupIdColumn].Value?.ToString();
                    string CreatorIdValue    = worksheet.Cells[i + StartRow, CreatorIdColumn].Value?.ToString();
                    string DisplayOrderValue = worksheet.Cells[i + StartRow, DisplayOrderColumn].Value?.ToString();

                    KnowledgeArticle KnowledgeArticle = new KnowledgeArticle();
                    KnowledgeArticle.Title        = TitleValue;
                    KnowledgeArticle.Detail       = DetailValue;
                    KnowledgeArticle.DisplayOrder = long.TryParse(DisplayOrderValue, out long DisplayOrder) ? DisplayOrder : 0;
                    AppUser Creator = Creators.Where(x => x.Id.ToString() == CreatorIdValue).FirstOrDefault();
                    KnowledgeArticle.CreatorId = Creator == null ? 0 : Creator.Id;
                    KnowledgeArticle.Creator   = Creator;
                    KnowledgeGroup Group = Groups.Where(x => x.Id.ToString() == GroupIdValue).FirstOrDefault();
                    KnowledgeArticle.GroupId = Group == null ? 0 : Group.Id;
                    KnowledgeArticle.Group   = Group;
                    Status Status = Statuses.Where(x => x.Id.ToString() == StatusIdValue).FirstOrDefault();
                    KnowledgeArticle.StatusId = Status == null ? 0 : Status.Id;
                    KnowledgeArticle.Status   = Status;

                    KnowledgeArticles.Add(KnowledgeArticle);
                }
            }
            KnowledgeArticles = await KnowledgeArticleService.Import(KnowledgeArticles);

            if (KnowledgeArticles.All(x => x.IsValidated))
            {
                return(Ok(true));
            }
            else
            {
                List <string> Errors = new List <string>();
                for (int i = 0; i < KnowledgeArticles.Count; i++)
                {
                    KnowledgeArticle KnowledgeArticle = KnowledgeArticles[i];
                    if (!KnowledgeArticle.IsValidated)
                    {
                        string Error = $"Dòng {i + 2} có lỗi:";
                        if (KnowledgeArticle.Errors.ContainsKey(nameof(KnowledgeArticle.Id)))
                        {
                            Error += KnowledgeArticle.Errors[nameof(KnowledgeArticle.Id)];
                        }
                        if (KnowledgeArticle.Errors.ContainsKey(nameof(KnowledgeArticle.Title)))
                        {
                            Error += KnowledgeArticle.Errors[nameof(KnowledgeArticle.Title)];
                        }
                        if (KnowledgeArticle.Errors.ContainsKey(nameof(KnowledgeArticle.Detail)))
                        {
                            Error += KnowledgeArticle.Errors[nameof(KnowledgeArticle.Detail)];
                        }
                        if (KnowledgeArticle.Errors.ContainsKey(nameof(KnowledgeArticle.StatusId)))
                        {
                            Error += KnowledgeArticle.Errors[nameof(KnowledgeArticle.StatusId)];
                        }
                        if (KnowledgeArticle.Errors.ContainsKey(nameof(KnowledgeArticle.GroupId)))
                        {
                            Error += KnowledgeArticle.Errors[nameof(KnowledgeArticle.GroupId)];
                        }
                        if (KnowledgeArticle.Errors.ContainsKey(nameof(KnowledgeArticle.CreatorId)))
                        {
                            Error += KnowledgeArticle.Errors[nameof(KnowledgeArticle.CreatorId)];
                        }
                        if (KnowledgeArticle.Errors.ContainsKey(nameof(KnowledgeArticle.DisplayOrder)))
                        {
                            Error += KnowledgeArticle.Errors[nameof(KnowledgeArticle.DisplayOrder)];
                        }
                        Errors.Add(Error);
                    }
                }
                return(BadRequest(Errors));
            }
        }
Ejemplo n.º 20
0
 private async Task SaveReference(KnowledgeGroup KnowledgeGroup)
 {
 }
Ejemplo n.º 21
0
        public async Task <ActionResult> Import(IFormFile file)
        {
            if (!ModelState.IsValid)
            {
                throw new BindException(ModelState);
            }
            StatusFilter StatusFilter = new StatusFilter
            {
                Skip    = 0,
                Take    = int.MaxValue,
                Selects = StatusSelect.ALL
            };
            List <Status> Statuses = await StatusService.List(StatusFilter);

            List <KnowledgeGroup> KnowledgeGroups = new List <KnowledgeGroup>();

            using (ExcelPackage excelPackage = new ExcelPackage(file.OpenReadStream()))
            {
                ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets.FirstOrDefault();
                if (worksheet == null)
                {
                    return(Ok(KnowledgeGroups));
                }
                int StartColumn        = 1;
                int StartRow           = 1;
                int IdColumn           = 0 + StartColumn;
                int NameColumn         = 1 + StartColumn;
                int CodeColumn         = 2 + StartColumn;
                int StatusIdColumn     = 3 + StartColumn;
                int DisplayOrderColumn = 4 + StartColumn;
                int DescriptionColumn  = 5 + StartColumn;

                for (int i = StartRow; i <= worksheet.Dimension.End.Row; i++)
                {
                    if (string.IsNullOrEmpty(worksheet.Cells[i + StartRow, StartColumn].Value?.ToString()))
                    {
                        break;
                    }
                    string IdValue           = worksheet.Cells[i + StartRow, IdColumn].Value?.ToString();
                    string NameValue         = worksheet.Cells[i + StartRow, NameColumn].Value?.ToString();
                    string CodeValue         = worksheet.Cells[i + StartRow, CodeColumn].Value?.ToString();
                    string StatusIdValue     = worksheet.Cells[i + StartRow, StatusIdColumn].Value?.ToString();
                    string DisplayOrderValue = worksheet.Cells[i + StartRow, DisplayOrderColumn].Value?.ToString();
                    string DescriptionValue  = worksheet.Cells[i + StartRow, DescriptionColumn].Value?.ToString();

                    KnowledgeGroup KnowledgeGroup = new KnowledgeGroup();
                    KnowledgeGroup.Name         = NameValue;
                    KnowledgeGroup.Code         = CodeValue;
                    KnowledgeGroup.DisplayOrder = long.TryParse(DisplayOrderValue, out long DisplayOrder) ? DisplayOrder : 0;
                    KnowledgeGroup.Description  = DescriptionValue;
                    Status Status = Statuses.Where(x => x.Id.ToString() == StatusIdValue).FirstOrDefault();
                    KnowledgeGroup.StatusId = Status == null ? 0 : Status.Id;
                    KnowledgeGroup.Status   = Status;

                    KnowledgeGroups.Add(KnowledgeGroup);
                }
            }
            KnowledgeGroups = await KnowledgeGroupService.Import(KnowledgeGroups);

            if (KnowledgeGroups.All(x => x.IsValidated))
            {
                return(Ok(true));
            }
            else
            {
                List <string> Errors = new List <string>();
                for (int i = 0; i < KnowledgeGroups.Count; i++)
                {
                    KnowledgeGroup KnowledgeGroup = KnowledgeGroups[i];
                    if (!KnowledgeGroup.IsValidated)
                    {
                        string Error = $"Dòng {i + 2} có lỗi:";
                        if (KnowledgeGroup.Errors.ContainsKey(nameof(KnowledgeGroup.Id)))
                        {
                            Error += KnowledgeGroup.Errors[nameof(KnowledgeGroup.Id)];
                        }
                        if (KnowledgeGroup.Errors.ContainsKey(nameof(KnowledgeGroup.Name)))
                        {
                            Error += KnowledgeGroup.Errors[nameof(KnowledgeGroup.Name)];
                        }
                        if (KnowledgeGroup.Errors.ContainsKey(nameof(KnowledgeGroup.Code)))
                        {
                            Error += KnowledgeGroup.Errors[nameof(KnowledgeGroup.Code)];
                        }
                        if (KnowledgeGroup.Errors.ContainsKey(nameof(KnowledgeGroup.StatusId)))
                        {
                            Error += KnowledgeGroup.Errors[nameof(KnowledgeGroup.StatusId)];
                        }
                        if (KnowledgeGroup.Errors.ContainsKey(nameof(KnowledgeGroup.DisplayOrder)))
                        {
                            Error += KnowledgeGroup.Errors[nameof(KnowledgeGroup.DisplayOrder)];
                        }
                        if (KnowledgeGroup.Errors.ContainsKey(nameof(KnowledgeGroup.Description)))
                        {
                            Error += KnowledgeGroup.Errors[nameof(KnowledgeGroup.Description)];
                        }
                        Errors.Add(Error);
                    }
                }
                return(BadRequest(Errors));
            }
        }