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); } }
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 { } } }