public byte[] GetImage(Guid formId, Guid imageId, int height = 0, int width = 0)
        {
            var form   = FormRepo.GetForm(formId);
            var finder = new ControlFinder(form);
            var image  = finder.Find(imageId) as BizImage;

            if (image == null || image.ImageBytes == null)
            {
                return(null);
            }

            if (width <= 0 && height <= 0)
            {
                return(image.ImageBytes);
            }

            using (var ms = new MemoryStream(image.ImageBytes))
            {
                using (var ms2 = new MemoryStream())
                {
                    ResizeImage(height, width, ms, ms2);
                    ms2.Position = 0;
                    return(ms2.ToArray());
                }
            }
        }
 public BizForm SetFormControlOptions(BizForm form, IList <BizControlOption> formOptions)
 {
     if (form != null && formOptions != null)
     {
         return(FormRepo.SetFormOptions(form, formOptions));
     }
     return(form);
 }
Exemple #3
0
 public override void Next()
 {
     Index++;
     if (DocList.Count > Index)
     {
         Current = DocRepo.LoadById(DocList[Index]);
         FormRepo.SetFormDoc(Form, Current);
     }
 }
Exemple #4
0
 public BizControl GetCurrent()
 {
     if (Current == null && Index < DocList.Count)
     {
         Current = DocRepo.LoadById(DocList[Index]);
     }
     FormRepo.SetFormDoc(Form, Current);
     return(Form);
 }
        public BizForm SetFormOptions(BizForm form, IDictionary <Guid, IList <BizControlOption> > formOptions)
        {
            if (form != null && formOptions != null)
            {
                IList <BizControlOption> options;

                if (formOptions.TryGetValue(form.Id, out options))
                {
                    return(FormRepo.SetFormOptions(form, options));
                }
            }
            return(form);
        }
 public List <BizControl> GetTableFormRowDataFromFilterQuery(BizForm form, QueryDef def, BizForm filter, IEnumerable <AttributeSort> sortAttrs, int pageNo,
                                                             int pageSize)
 {
     return(FormRepo.GetTableFormRows(form, def, filter, sortAttrs, pageNo, pageSize));
 }
 public IList <ModelMessage> GetFormErrors(BizForm form, IList <ModelMessage> errors)
 {
     return(FormRepo.GetFormErrors(form, errors));
 }
 public int GetRefListTableFormRowCount(BizForm form, Guid docId, Guid attrDefId)
 {
     return(FormRepo.GetRefListTableFormRowCount(form, docId, attrDefId));
 }
 public List <BizControl> GetRefListTableFormRowData(BizForm form, Guid docId, Guid attrDefId, int pageNo, int pageSize)
 {
     return(FormRepo.GetRefListTableFormRows(form, docId, attrDefId, pageNo, pageSize));
 }
 /// <summary>
 /// Записывает значения из формы в документ
 /// </summary>
 /// <param name="form">Форма</param>
 /// <param name="document">Документ</param>
 /// <returns>Измененный документ</returns>
 public Doc GetFormDoc(BizForm form, Doc document)
 {
     return(FormRepo.GetFormDoc(form, document));
 }
 /// <summary>
 /// Загружает детальную форму по идентификатору
 /// </summary>
 /// <param name="formId">Идентификатор формы</param>
 /// <param name="languageId">Язык</param>
 /// <returns>Загруженная форма</returns>
 //[SmartCache(TimeOutSeconds = 600)]
 public BizDetailForm GetDetailForm(Guid formId, int languageId = 0)
 {
     return(FormRepo.GetDetailForm(formId, languageId));
 }
 /// <summary>
 /// Загружает табличную форму по идентификатору формы
 /// </summary>
 /// <param name="formId">Идентификатор формы</param>
 /// <param name="languageId">Язык</param>
 /// <returns>Загруженная табличная форма</returns>
 //[SmartCache(TimeOutSeconds = 600)]
 public BizTableForm GetGridForm(Guid formId, int languageId = 0)
 {
     return(FormRepo.GetTableForm(formId, languageId));
 }
 /// <summary>
 /// Возвращает список строк табличной формы с данными, получаемыми из запроса выборки
 /// </summary>
 /// <param name="count">Количество строк попадаемых в выборку</param>
 /// <param name="form">Табличная форма</param>
 /// <param name="def">Запрос выборки</param>
 /// <param name="sortAttrs">Список атрибутов сотрировки</param>
 /// <param name="pageNo">Номер отображаемой страницы в табличной форме</param>
 /// <param name="pageSize">Количество отображаемых строк в форме</param>
 /// <returns>Список строк - визуальных элментов с данными</returns>
 public List <BizControl> GetTableFormRowsFromQuery(out int count, BizForm form, QueryDef def, IEnumerable <AttributeSort> sortAttrs, int pageNo, int pageSize)
 {
     return(FormRepo.GetTableFormRows(out count, form, def, sortAttrs, pageNo, pageSize));
 }
Exemple #14
0
 public RegFormLogic(FieldContainerRepo fieldContainerRepo, FormRepo formRepo)
 {
     _fieldContainerRepo = fieldContainerRepo;
     _formRepo           = formRepo;
 }
 public int GetTableFormRowCount(BizForm form, Guid?docStateId, BizForm filter)
 {
     return(FormRepo.GetTableFormRowCount(form, docStateId, filter));
 }
 public List <BizControl> GetTableFormRowData(BizForm form, Guid?docStateId, BizForm filter, IEnumerable <AttributeSort> sortAttrs, int pageNo, int pageSize)
 {
     return(FormRepo.GetTableFormRows(form, docStateId, filter, sortAttrs, pageNo, pageSize));
 }
        /// <summary>
        /// Переводит список меню на заданный язык
        /// </summary>
        /// <param name="menus">Список меню</param>
        /// <param name="languageId">Язык</param>
        /// <returns>Список меню</returns>
        public List <BizMenu> TranslateMenus(List <BizMenu> menus, int languageId)
        {
            FormRepo.TranslateMenus(menus, languageId);

            return(menus);
        }
        /// <summary>
        /// Переводит форму на указанный язык
        /// </summary>
        /// <param name="form">Форма</param>
        /// <param name="languageId">Язык</param>
        /// <returns>Форма</returns>
        public BizForm TranslateForm(BizForm form, int languageId)
        {
            FormRepo.TranslateForm(form, languageId);

            return(form);
        }
/*
 *      /// <summary>
 *      /// Выполняет бизнес операцию
 *      /// </summary>
 *      /// <param name="actionId">Идентификатор безнес операции</param>
 *      /// <returns>Бизнес результат операции</returns>
 *      public BizResult ExecuteBizAction(Guid actionId)
 *      {
 *          throw new NotImplementedException();
 *      }
 */

        /// <summary>
        /// Возвращает дерево меню для пользователя
        /// </summary>
        /// <param name="languageId">Код языка</param>
        /// <returns>Список меню</returns>
        //[SmartCache(TimeOutSeconds = 3600)]
        public IList <BizMenu> GetMenus(int languageId = 0)
        {
            return(FormRepo.GetMenus(languageId));
        }
 /// <summary>
 /// Загружает любую форму по идентификатору
 /// </summary>
 /// <param name="formId">Идентификатор формы</param>
 /// <param name="languageId">Язык</param>
 /// <returns>Загруженная форма</returns>
 public BizForm GetAnyForm(Guid formId, int languageId = 0)
 {
     return(FormRepo.GetForm(formId, languageId));
 }
 public int GetTableFormRowCountFromQuery(BizForm form, QueryDef def)
 {
     return(FormRepo.GetTableFormRowCount(form, def));
 }
 public BizDetailForm GetDetailFormWithData(Guid formId, Guid docId, int languageId)
 {
     return(FormRepo.GetDetailFormWithData(formId, docId, languageId));
 }
 public int GetTableFormRowCountFromFilterQuery(BizForm form, QueryDef def, BizForm filter)
 {
     return(FormRepo.GetTableFormRowCount(form, def, filter));
 }
 /// <summary>
 /// Записывает значения атрибутов документа в форму
 /// </summary>
 /// <param name="form">Форма</param>
 /// <param name="document">Документ</param>
 /// <returns>Форма с данными</returns>
 public BizForm SetFormDoc(BizForm form, Doc document)
 {
     return((BizForm)FormRepo.SetFormDoc(form, document));
 }
 /// <summary>
 /// Возвращает список строк табличной формы с данными, формируемые из списка документов
 /// </summary>
 /// <param name="form">Табличная форма</param>
 /// <param name="docIds">Список идентификаторов документов, которые необходимо высветить в таблице</param>
 /// <param name="sortAttrs">Список атрибутов сортировки строк</param>
 /// <param name="pageNo">Номер страницы</param>
 /// <param name="pageSize">Количество строк в странице</param>
 /// <returns>Список строк - визуальных элментов с данными</returns>
 public List <BizControl> GetTableFormRowsFromList(BizForm form, IEnumerable <Guid> docIds,
                                                   IEnumerable <AttributeSort> sortAttrs, int pageNo, int pageSize)
 {
     return(FormRepo.GetTableFormRows(form, docIds, sortAttrs, pageNo, pageSize));
 }
Exemple #26
0
        public byte[] ExcelFromDocumentListForm(Guid documentId, BizDocumentListForm docListForm)
        {
            var form = docListForm.TableForm;

            if (form == null && docListForm.FormId != null)
            {
                form = FormRepo.GetTableForm((Guid)docListForm.FormId);
            }
            if (form == null)
            {
                throw new ApplicationException("Табличная форма не указана!");
            }

            var sqb = _sqlQueryBuilderFactory.Create();

            if (docListForm.AttributeDefId != null)
            {
                using (var query = sqb.BuildAttrList(form, documentId, (Guid)docListForm.AttributeDefId, null, null))
                {
                    query.WithNoLock = true;

                    using (var reader = _sqlQueryReaderFactory.Create(query))
                    {
                        var defBuilder = new XlsGridDefBuilder(Provider, form, reader);
                        using (var def = defBuilder.BuildFromBizForm())
                        {
                            var builder = new XlsBuilder(def);
                            using (var workbook = builder.Build())
                            {
                                using (var stream = new MemoryStream())
                                {
                                    workbook.Write(stream);

                                    return(stream.ToArray());
                                }
                            }
                        }
                    }
                }
            }

            if (docListForm.FormAttributeDefId != null)
            {
                using (var query = sqb.BuildRefList(form, documentId, (Guid)docListForm.FormAttributeDefId, null, null))
                {
                    using (var reader = _sqlQueryReaderFactory.Create(query)) //new SqlQueryReader(DataContext, query))
                    {
                        var defBuilder = new XlsGridDefBuilder(Provider, form, reader);
                        using (var def = defBuilder.BuildFromBizForm())
                        {
                            var builder = new XlsBuilder(def);
                            using (var workbook = builder.Build())
                            {
                                using (var stream = new MemoryStream())
                                {
                                    workbook.Write(stream);

                                    return(stream.ToArray());
                                }
                            }
                        }
                    }
                }
            }

            throw new ApplicationException("Не могу сформировать Excel файл! Атрибут не указан!");
        }
 /// <summary>
 /// Возвращает список строк табличной формы с данными, формируемые из списочного атрибута документа
 /// </summary>
 /// <param name="count">Количество документов хранящихся в списочном атрибуте</param>
 /// <param name="form">Таличная форма</param>
 /// <param name="docId">Идентификатор документа, содержащего списочный атрибут</param>
 /// <param name="attrDefId">Идентификатор списочного атрибута</param>
 /// <param name="pageNo">Номер страницы</param>
 /// <param name="pageSize">Количество отображаемых строк в таблице</param>
 /// <returns>Список строк - визуальных элментов с данными</returns>
 public List <BizControl> GetDocListTableFormRows(out int count, BizForm form, Guid docId, Guid attrDefId, int pageNo, int pageSize)
 {
     return(FormRepo.GetDocListTableFormRows(out count, form, docId, attrDefId, pageNo, pageSize));
 }