示例#1
0
        /// <summary>
        /// 分页
        /// </summary>
        /// <param name="pageEntity"></param>
        /// <param name="categoryId"></param>
        /// <param name="arr"></param>
        /// <returns></returns>
        public IEnumerable <ContentDto> Page(PageEntity pageEntity, int categoryId, dynamic[] arr)
        {
            using (_unitOfWork)
            {
                var repository = _unitOfWork.Repository <Content>();
                Expression <Func <Content, bool> > where = w => w.CategoryId == categoryId;
                var infoList = repository.Page(pageEntity, where).ToList();
                var data     = AutoMapperHelper.Enumerable <Content, ContentDto>(infoList);

                var contentDtos    = data as ContentDto[] ?? data.ToArray();
                var firstOrDefault = contentDtos.FirstOrDefault();
                if (firstOrDefault == null)
                {
                    return(contentDtos);
                }
                {
                    foreach (var item in contentDtos)
                    {
                        //获取字典集
                        var     dictionary = BuildDictionary(_unitOfWork, item.ContentId, arr);
                        dynamic obj        = new ContentValue(dictionary);
                        item.ContentValue = obj;
                    }
                }
                return(contentDtos);
            }
        }
示例#2
0
        public static int EditValue(IntPtr parentWin, int fieldIndex, int unitIndex, int fieldType, IntPtr fieldValue, int maxLen, int flags, [MarshalAs(UnmanagedType.LPStr)] string langIdentifier)
        {
            SetValueResult result;
            var            fldType = (ContentFieldType)fieldType;
            var            evFlags = (EditValueFlags)flags;

            _callSignature = $"ContentEditValue ({fieldIndex}/{unitIndex}/{evFlags.ToString()})";
            try {
                var tcWin    = new TcWindow(parentWin);
                var value    = new ContentValue(fieldValue, fldType);
                var strValue = value.StrValue;
                result = Plugin.EditValue(tcWin, fieldIndex, unitIndex, fldType, ref strValue, maxLen, evFlags, langIdentifier);
                if (result == SetValueResult.Success)
                {
                    value.StrValue = strValue;
                    value.CopyTo(fieldValue);
                }

                TraceCall(TraceLevel.Info, $"{result.ToString()} - {value.StrValue}");
            }
            catch (Exception ex) {
                ProcessException(ex);
                result = SetValueResult.NoSuchField;
            }

            return((int)result);
        }
示例#3
0
        public static int EditValue(IntPtr parentWin, int fieldIndex, int unitIndex,
                                    int fieldType, IntPtr fieldValue, int maxLen, int flags,
                                    [MarshalAs(UnmanagedType.LPStr)] string langIdentifier)
        {
            SetValueResult   result;
            ContentFieldType fldType = (ContentFieldType)fieldType;
            EditValueFlags   evFlags = (EditValueFlags)flags;

            callSignature = String.Format("ContentEditValue ({0}/{1}/{2})",
                                          fieldIndex, unitIndex, evFlags.ToString());
            try {
                TcWindow     tcWin    = new TcWindow(parentWin);
                ContentValue value    = new ContentValue(fieldValue, fldType);
                string       strValue = value.StrValue;
                result = Plugin.EditValue(tcWin, fieldIndex, unitIndex, fldType,
                                          ref strValue, maxLen, evFlags, langIdentifier);
                if (result == SetValueResult.Success)
                {
                    value.StrValue = strValue;
                    value.CopyTo(fieldValue);
                }

                TraceCall(TraceLevel.Info, String.Format("{0} - {1}", result.ToString(), value.StrValue));
            } catch (Exception ex) {
                ProcessException(ex);
                result = SetValueResult.NoSuchField;
            }
            return((int)result);
        }
示例#4
0
        /// <summary>
        /// Sets the content of the tab panel with the specified value.
        /// </summary>
        /// <param name="content">The value of the content.</param>
        /// <returns>Current component.</returns>
        public override TabPanel Content(TabPanelContentBase content)
        {
            base.Content(content);
            if (_color != null)
            {
                ContentValue.Color(_color);
            }

            return(this);
        }
示例#5
0
        /// <summary>
        /// Sets the color of the tab panel.
        /// </summary>
        /// <param name="color">The value of color.</param>
        /// <returns>Current component.</returns>
        public YimaTabPanel Color(BootstrapColorBase color)
        {
            _color = color;
            if (TitleValue != null)
            {
                TitleValue.Color(_color);
            }
            if (ContentValue != null)
            {
                ContentValue.Color(_color);
            }

            return(this);
        }
        /// <summary>
        /// Читает ответ от сервера как файл
        /// </summary>
        /// <param name="httpContent"></param>
        /// <returns></returns>
        private static async Task <ContentValue> ReadAsContent(HttpContent httpContent)
        {
            var result = new ContentValue()
            {
                Stream    = await httpContent.ReadAsStreamAsync(),
                Size      = httpContent.Headers.ContentLength,
                Name      = httpContent.Headers.ContentDisposition.Name ?? httpContent.Headers.ContentDisposition.FileNameStar,
                MediaType = httpContent.Headers.ContentType.MediaType
            };

            if (result.Stream.CanRead && result.Stream.CanSeek)
            {
                result.Stream.Seek(0, System.IO.SeekOrigin.Begin);
            }
            return(result);
        }
示例#7
0
        public static int SetValueW([MarshalAs(UnmanagedType.LPWStr)] string fileName, int fieldIndex, int unitIndex, int fieldType, IntPtr fieldValue, int flags)
        {
            SetValueResult result;
            var            fldType = (ContentFieldType)fieldType;
            var            svFlags = (SetValueFlags)flags;

            _callSignature = $"ContentSetValue '{fileName}' ({fieldIndex}/{unitIndex}/{svFlags.ToString()})";
            try {
                var value = new ContentValue(fieldValue, fldType);
                result = Plugin.SetValue(fileName, fieldIndex, unitIndex, fldType, value.StrValue, svFlags);

                TraceCall(TraceLevel.Info, $"{result.ToString()} - {value.StrValue}");
            }
            catch (Exception ex) {
                ProcessException(ex);
                result = SetValueResult.NoSuchField;
            }

            return((int)result);
        }
示例#8
0
        /// <summary>
        /// 查询
        /// </summary>
        /// <param name="key"></param>
        /// <returns></returns>
        public ContentDto Query(object key)
        {
            using (_unitOfWork)
            {
                var repository      = _unitOfWork.Repository <Content>();
                var content         = repository.Get(Convert.ToInt32(key));
                var modelRepository = _unitOfWork.Repository <Model>();

                Expression <Func <Model, bool> > where = w => w.ModelId == content.ModelId;
                var model = modelRepository.Get(where, "ModelFields");

                var contentDto = AutoMapperHelper.Signle <Content, ContentDto>(content);
                //获取字典集
                var dictionary = BuildDictionary(_unitOfWork, model, Convert.ToInt32(key));

                dynamic obj = new ContentValue(dictionary);
                contentDto.ContentValue = obj;
                return(contentDto);
            }
        }
示例#9
0
        public static int SetValueW([MarshalAs(UnmanagedType.LPWStr)] string fileName,
                                    int fieldIndex, int unitIndex, int fieldType, IntPtr fieldValue, int flags)
        {
            SetValueResult   result;
            ContentFieldType fldType = (ContentFieldType)fieldType;
            SetValueFlags    svFlags = (SetValueFlags)flags;

            callSignature = String.Format("ContentSetValue '{0}' ({1}/{2}/{3})",
                                          fileName, fieldIndex, unitIndex, svFlags.ToString());
            try {
                ContentValue value = new ContentValue(fieldValue, fldType);
                result = Plugin.SetValue(fileName, fieldIndex, unitIndex, fldType,
                                         value.StrValue, svFlags);

                TraceCall(TraceLevel.Info, String.Format("{0} - {1}", result.ToString(), value.StrValue));
            } catch (Exception ex) {
                ProcessException(ex);
                result = SetValueResult.NoSuchField;
            }
            return((int)result);
        }
示例#10
0
 public override bool LessThanOrEqual(QsValue value)
 {
     return(ContentValue.LessThanOrEqual(value));
 }
示例#11
0
 public override QsValue PowerOperation(QsValue value)
 {
     return(ContentValue.PowerOperation(value));
 }
示例#12
0
 public override bool GreaterThanOrEqual(QsValue value)
 {
     return(ContentValue.GreaterThanOrEqual(value));
 }
示例#13
0
 public override QsValue MultiplyOperation(QsValue value)
 {
     return(ContentValue.MultiplyOperation(value));
 }
示例#14
0
 public override QsValue DivideOperation(QsValue value)
 {
     return(ContentValue.DivideOperation(value));
 }
示例#15
0
 public void AssertContentValuesEqual(ContentValue expected, ContentValue actual)
 {
     Assert.Equal(expected.id, actual.id);
     Assert.Equal(expected.key, actual.key);
     Assert.Equal(expected.value, actual.value);
 }
示例#16
0
 public override QsValue CrossProductOperation(QsValue value)
 {
     return(ContentValue.CrossProductOperation(value));
 }
示例#17
0
 public override void SetIndexedItem(QsParameter[] indices, QsValue value)
 {
     ContentValue.SetIndexedItem(indices, value);
 }
示例#18
0
 /// <summary>
 /// when executing object->method or property
 /// </summary>
 /// <param name="expression"></param>
 /// <returns></returns>
 public override QsValue Execute(ParticleLexer.Token expression)
 {
     return(ContentValue.Execute(expression));
 }
示例#19
0
 public override bool Inequality(QsValue value)
 {
     return(ContentValue.Inequality(value));
 }
示例#20
0
 public override QsValue GetIndexedItem(QsParameter[] indices)
 {
     return(ContentValue.GetIndexedItem(indices));
 }
示例#21
0
 public override QsValue AbsOperation()
 {
     return(ContentValue.AbsOperation());
 }
示例#22
0
 public override QsValue NormOperation()
 {
     return(ContentValue.NormOperation());
 }
示例#23
0
 public override QsValue TensorProductOperation(QsValue value)
 {
     return(ContentValue.TensorProductOperation(value));
 }
示例#24
0
 public override QsValue ModuloOperation(QsValue value)
 {
     return(ContentValue.ModuloOperation(value));
 }
示例#25
0
 public override QsValue AddOperation(QsValue value)
 {
     return(ContentValue.AddOperation(value));
 }
示例#26
0
        /// <summary>
        /// Сформирует ответ-файл, для передачи его клиенту
        /// </summary>
        /// <param name="controller"></param>
        /// <param name="content">Описание содержимого файла</param>
        /// <param name="disposition"></param>
        /// <param name="noCache"></param>
        /// <returns></returns>
        public static FileStreamResult BuildFileResponse(this ControllerBase controller, ContentValue content, string disposition = "attachment", bool noCache = true)
        {
            var headers = controller.Response.GetTypedHeaders();

            headers.ContentDisposition = new ContentDispositionHeaderValue(disposition)
            {
                FileName = content.Name, FileNameStar = content.Name
            };
            headers.ContentLength = content.Size;
            if (!noCache)
            {
                headers.CacheControl = new CacheControlHeaderValue {
                    NoStore = true, Private = true
                }
            }
            ;

            return(controller.File(content.Stream, content.MediaType ?? MediaTypeNames.Application.Octet));
        }
    }
示例#27
0
 public override QsValue SubtractOperation(QsValue value)
 {
     return(ContentValue.SubtractOperation(value));
 }
示例#28
0
 public override QsValue LeftShiftOperation(QsValue times)
 {
     return(ContentValue.LeftShiftOperation(times));
 }
示例#29
0
 public override QsValue DotProductOperation(QsValue value)
 {
     return(ContentValue.DotProductOperation(value));
 }