예제 #1
0
        /// <summary>
        /// Получить список доступа на каждый элемент
        /// </summary>
        /// <param name="userName">Имя пользователя</param>
        /// <param name="formId">Режим для которого нужно выбрать доступ</param>
        /// <param name="isAll">Выбрать все записи (с удаленными)</param>
        /// <returns></returns>
        public async Task <IEnumerable <FieldAccessDto> > GetFieldsFormWithProfileAsync(string userName, int formId, bool isAll, Func <IQueryable <Field>, IQueryable <Field> > whereFields = null)
        {
            var modelsFileds = (await GetFieldsFormAsync(userName, formId, isAll, whereFields)).ToList();
            var query        = modelsFileds.
                               Join(await _accessManager.GetPropfileForm(userName, formId),
                                    dto => dto.Id,
                                    form => form.Id, (dto, form) => new { dto, form.TypeProfileForm });

            foreach (var model in query)
            {
                model.dto.TypeProfileForm = model.TypeProfileForm;
            }

            return(modelsFileds);
        }