示例#1
0
        public void Add <T>(T obj) where T : ModelEntity, new()
        {
            if (obj is IdedEntity)
            {
                int c = orMapper.GetMax <T>();
                obj.AdjustId(c + 1);
            }
            ImagedEntity imgeObj = obj as ImagedEntity;

            if (imgeObj != null)
            {
                if (!imgeObj.Image_Id.HasValue || imgeObj.Image_Id.Value <= 0)
                {
                    using (TransactionScope scope = new TransactionScope())
                    {
                        try
                        {
                            slim.EnterWriteLock();
                            int id = orMapper.GetMax <Image>();
                            defaultImage.Id           = id + 1;
                            defaultImage.ImageType_Id = imgeObj.GetImageType().Id;
                            orMapper.Insert <Image>(defaultImage);
                            imgeObj.Image_Id = defaultImage.Id;
                            orMapper.Insert <T>(obj);
                            scope.Complete();
                        }
                        finally
                        {
                            slim.ExitWriteLock();
                        }
                    }
                }
                else
                {
                    orMapper.Insert <T>(obj);
                }
            }
            else
            {
                orMapper.Insert <T>(obj);
            }
        }
示例#2
0
        public void AddStamps(Dictionary <string, byte[]> imgs, int imgTypeId)
        {
            var m     = orMapper.ExecuteCommandScalar("select max(id) from Image");
            int maxid = (int)m;

            foreach (var img in imgs)
            {
                try
                {
                    maxid++;
                    string name  = Path.GetFileNameWithoutExtension(img.Key);
                    string ext   = Path.GetExtension(img.Key);
                    Image  image = new Image {
                        Id = maxid, Name = name, Ext = ext, TheImage = img.Value, ImageGroup = "", ImageType_Id = imgTypeId
                    };
                    orMapper.Insert <Image>(image);
                    Images.Add(new ImageViewModel {
                        Id = image.Id, Title = image.Name, ImageGroup = image.ImageGroup, TheImage = image.TheImage
                    });
                }
                catch { }
            }
        }