Пример #1
0
        public string SaveFile(FileEntity fileEntity)
        {
            string f_Id = fileEntity.Create();

            service.Insert(fileEntity);
            return(f_Id);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="id"></param>
        /// <param name="cancellationToken">Propagates notification that operations should be canceled.</param>
        /// <returns></returns>
        public async Task <FileEntity> GetAsync(string id, CancellationToken cancellationToken)
        {
            var contents = await ReadAllBytesAsync(id, cancellationToken);

            return(FileEntity.Create(id, Path.GetFileName(id), Path.GetExtension(id),
                                     MimeMappingEntity.GetMimeMapping(id), contents));
        }
Пример #3
0
 public void SubmitForm(FileEntity entity, string keyValue)
 {
     if (!string.IsNullOrEmpty(keyValue))
     {
         entity.Modify(keyValue);
         service.Update(entity);
     }
     else
     {
         entity.Create();
         service.Insert(entity);
     }
 }
Пример #4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="path"></param>
        /// <param name="cancellationToken">Propagates notification that operations should be canceled.</param>
        /// <returns></returns>
        public Task <List <FileEntity> > GetFilesEntitiesAsync(string path, CancellationToken cancellationToken)
        {
            var filesEntities = new ConcurrentBag <FileEntity>();

            Parallel.ForEach(Directory.GetFiles(path), id =>
            {
                var contents = File.ReadAllBytes(path);
                filesEntities.Add(FileEntity.Create(id, Path.GetFileName(id), Path.GetExtension(id),
                                                    MimeMappingEntity.GetMimeMapping(id), contents));
            });

            return(Task.FromResult(filesEntities.ToList()));
        }
Пример #5
0
        private void dealWithExistingFiles()
        {
            if (!ResourcePath.Path.EnsureDirExists())
            {
                return;
            }

            var srcDirInfo = new DirectoryInfo(ResourcePath.Path);
            var fileInfos  = srcDirInfo.GetFiles();

            foreach (var fileInfo in fileInfos)
            {
                foundNewFile(FileEntity.Create(fileInfo));
            }
        }
Пример #6
0
        /// <summary>
        /// Loads this instance.
        /// </summary>
        public void Load()
        {
            this.__data = new Data();

            this.__gedcomFileContent = ReadGedcomFileContents(this.__filePath);

            //Split on "0 @" to get an array of Individuals, Families, Notes, Source, Repository, Object (File)
            string[] records = this.__gedcomFileContent.Replace("0 @", "\u0646@").Split('\u0646');

            foreach (var record in records)
            {
                if (record.StartsWith("@") && !record.StartsWith("@SUBM@ SUBM"))
                {
                    //The GEDCOM file is structured one row per element. Split the record into elements.
                    var elements = record.Replace("\r\n", "\r").Split('\r');

                    RecordTypes recordType = (RecordTypes)Enum.Parse(typeof(RecordTypes), elements[0].Replace(" ", "").Split('@')[2]);

                    //Check what type of record we are working with.
                    switch (recordType)
                    {
                    case RecordTypes.INDI:
                        __data.Individuals.Add(PersonEntity.Create(elements));
                        break;

                    case RecordTypes.FAM:
                        __data.Families.Add(FamilyEntity.Create(elements));
                        break;

                    case RecordTypes.NOTE:
                        __data.Notes.Add(NoteEntity.Create(elements));
                        break;

                    case RecordTypes.OBJE:
                        __data.Objects.Add(FileEntity.Create(elements));
                        break;

                    case RecordTypes.REPO:
                        __data.Repositories.Add(RepositoryEntity.Create(elements));
                        break;

                    case RecordTypes.SOUR:
                        __data.Sources.Add(SourceEntity.Create(elements));
                        break;
                    }
                }
            }
        }
Пример #7
0
        //主子表保存
        public void SubmitForm(ProductEntity productEntity, string keyValue, List <ProductSubEntity> listProductSub)
        {
            if (!string.IsNullOrEmpty(keyValue))
            {
                productEntity.Modify(keyValue);
            }
            else
            {
                productEntity.Create();
            }
            List <ProductSubEntity> listProductSubUpdate = new List <ProductSubEntity>();
            List <FileEntity>       listFile             = new List <FileEntity>();

            foreach (var itemId in listProductSub)
            {
                ProductSubEntity productSubEntity = new ProductSubEntity();
                productSubEntity.F_ParentId      = productEntity.F_Id;
                productSubEntity.Attribute       = itemId.Attribute;
                productSubEntity.PictureGuId     = itemId.PictureGuId;
                productSubEntity.SKU             = itemId.SKU;
                productSubEntity.Supplier        = itemId.Supplier;
                productSubEntity.PurchaseAddress = itemId.PurchaseAddress;
                productSubEntity.HWeight         = itemId.HWeight;
                productSubEntity.GWeight         = itemId.GWeight;
                productSubEntity.SWeight         = itemId.SWeight;
                productSubEntity.Long            = itemId.Long;
                productSubEntity.Wide            = itemId.Wide;
                productSubEntity.High            = itemId.High;
                productSubEntity.PurchaseCost    = itemId.PurchaseCost;
                productSubEntity.TransportCost   = itemId.TransportCost;
                productSubEntity.OtherCost       = itemId.OtherCost;
                productSubEntity.F_Description   = itemId.F_Description;
                productSubEntity.Create();
                var      guid  = productSubEntity.F_Id;
                string[] files = itemId.PictureGuId.Split(',');
                foreach (string f in files)
                {
                    FileEntity file = new FileEntity();
                    file.F_ParentId = guid;
                    file.F_File     = f;
                    file.Create();
                    listFile.Add(file);
                }
                listProductSubUpdate.Add(productSubEntity);
            }
            service.SubmitForm(productEntity, listProductSubUpdate, keyValue);
        }
Пример #8
0
 private void fileCreated(object sender, FileSystemEventArgs e)
 {
     //foundNewFile(FileEntity.Create(e));
     Task.Run(() => foundNewFile(FileEntity.Create(e)));
 }