Пример #1
0
        private ArchiveItemDTO ToArchiveItemDTO(DR_Requester requester, ArchiveItem item, bool withDetails)
        {
            ArchiveItemDTO result = new ArchiveItemDTO();

            result.ID           = item.ID;
            result.Name         = item.Name;
            result.UserID       = item.UserID;
            result.FolderID     = item.FolderID;
            result.FileType     = (Enum_ArchiveItemFileType)item.FileType;
            result.MainType     = (Enum_ArchiveItemMainType)item.MainType;
            result.CreationDate = item.CreationDate;
            foreach (var tag in item.ArchiveItem_Tag)
            {
                result.TagIDs.Add(tag.TagID);
            }

            //result.vwDatItemID = item.MyDataItemID;
            //روش خوبی نیست که برای هر دیتا آیتم اطلاعات داده گرفته شود
            result.DatItem = bizDataItem.ToDataViewDTO(requester, item.MyDataItem, true);

            result.AttechedFileID = item.FileRepositoryID;
            if (item.ThumbnailFileRepositoryID != null)
            {
                result.ThumbnailFile = bizFileRepository.ToFileRepository(item.FileRepository);
            }
            if (withDetails)
            {
                if (item.FileRepository1 != null)
                {
                    result.AttechedFile = bizFileRepository.ToFileRepository(item.FileRepository1);
                }
            }
            return(result);
        }
 public void ChangeArchiveItemVisibility(ArchiveItemDTO archiveDataItemItem, bool v)
 {
     foreach (UC_ArchiveItem item in lstArchiveItem.Items)
     {
         if (item.ArchiveItemDataItem == archiveDataItemItem)
         {
             item.Visibility = v ? Visibility.Visible : Visibility.Collapsed;
         }
     }
 }
 private void Uc_ArchiveItem_DoubleClicked(object sender, EventArgs e, ArchiveItemDTO item)
 {
     if (ArchiveItemDoubleCliked != null)
     {
         ArchiveItemDoubleCliked(this, new ArchiveItemSelectedArg()
         {
             ArchiveItem = item
         });
     }
 }
Пример #4
0
        private DataLogDTO GetCreateItemDataLog(ArchiveItemDTO archiveItem, string exceptionMessage)
        {
            var dataLog = new DataLogDTO();

            dataLog.LocationInfo  = "";
            dataLog.Duration      = 0;
            dataLog.DatItem       = archiveItem.DatItem;
            dataLog.MainType      = DataLogType.ArchiveInsert;
            dataLog.RelatedItemID = archiveItem.ID;
            if (!string.IsNullOrEmpty(exceptionMessage))
            {
                dataLog.MajorException = true;
                dataLog.MajorFunctionExceptionMessage = exceptionMessage;
                //dataLog.ArchiveItemLog = new ArchiveItemLogDTO();
                //dataLog.ArchiveItemLog.Exception = exceptionMessage;
            }
            return(dataLog);
        }
Пример #5
0
 public UC_ArchiveItem(ArchiveItemDTO archiveItemDataItem)
 {
     InitializeComponent();
     ArchiveItemDataItem = archiveItemDataItem;
     lblTitle.Text       = archiveItemDataItem.Name;
     if (!string.IsNullOrEmpty(archiveItemDataItem.Tooltip))
     {
         ToolTipService.SetToolTip(this, archiveItemDataItem.Tooltip);
     }
     if (!string.IsNullOrEmpty(archiveItemDataItem.Color))
     {
         grdMain.Background = new SolidColorBrush((Color)System.Windows.Media.ColorConverter.ConvertFromString(archiveItemDataItem.Color));
     }
     if (archiveItemDataItem != null)
     {
         if (archiveItemDataItem.ThumbnailFile != null && archiveItemDataItem.ThumbnailFile.Content != null)
         {
             var imageSource = new BitmapImage();
             imageSource.BeginInit();
             imageSource.StreamSource = new MemoryStream(archiveItemDataItem.ThumbnailFile.Content);
             imageSource.EndInit();
             // Assign the Source property of your image
             imgItem.Source = imageSource;
         }
         else
         {
             if (archiveItemDataItem.MainType == Enum_ArchiveItemMainType.Pdf)
             {
                 imgItem.Source = GetImageSource(@"..\..\images\pdf.png");
             }
             else if (archiveItemDataItem.MainType == Enum_ArchiveItemMainType.MsWord)
             {
                 imgItem.Source = GetImageSource(@"..\..\images\msword.png");
             }
         }
     }
     else
     {
         imgItem.Source = GetImageSource(@"..\..\images\document.png");
     }
 }
 private void Uc_ArchiveItem_MouseRightButtonUp(object sender, MouseButtonEventArgs e, ArchiveItemDTO item)
 {
     if (ArchiveItemRightCliked != null)
     {
         ArchiveItemRightCliked(this, new ArchiveItemSelectedArg()
         {
             ArchiveItem = item
         });
     }
 }
Пример #7
0
 public ArchiveResult CreateArchiveItems(ArchiveItemDTO archiveItem, DR_Requester requester)
 {
     return(bizArchiveManager.CreateArchiveItems(archiveItem, requester));
 }
Пример #8
0
 private Tuple <Enum_ArchiveItemMainType, Enum_ArchiveItemFileType> GetArchiveItemType(ArchiveItemDTO message)
 {
     if (message.AttechedFile != null && message.AttechedFile.FileExtension != null)
     {
         var extention = message.AttechedFile.FileExtension.ToLower();
         if (extention == "jpg")
         {
             return(new Tuple <Enum_ArchiveItemMainType, Enum_ArchiveItemFileType>(Enum_ArchiveItemMainType.Image, Enum_ArchiveItemFileType.JPEG));
         }
         else if (extention == "bmp")
         {
             return(new Tuple <Enum_ArchiveItemMainType, Enum_ArchiveItemFileType>(Enum_ArchiveItemMainType.Image, Enum_ArchiveItemFileType.BMP));
         }
         else if (extention == "pdf")
         {
             return(new Tuple <Enum_ArchiveItemMainType, Enum_ArchiveItemFileType>(Enum_ArchiveItemMainType.Pdf, Enum_ArchiveItemFileType.PDF));
         }
         else if (extention == "doc")
         {
             return(new Tuple <Enum_ArchiveItemMainType, Enum_ArchiveItemFileType>(Enum_ArchiveItemMainType.MsWord, Enum_ArchiveItemFileType.DOC));
         }
         else if (extention == "docx")
         {
             return(new Tuple <Enum_ArchiveItemMainType, Enum_ArchiveItemFileType>(Enum_ArchiveItemMainType.MsWord, Enum_ArchiveItemFileType.DOCX));
         }
     }
     return(new Tuple <Enum_ArchiveItemMainType, Enum_ArchiveItemFileType>(Enum_ArchiveItemMainType.UnKnown, Enum_ArchiveItemFileType.UnKnown));
 }
Пример #9
0
        public ArchiveResult CreateArchiveItems(ArchiveItemDTO message, DR_Requester requester)
        {
            ArchiveResult result = new ArchiveResult();

            try
            {
                // افزوده شدن نامه ها به آرشیو بعدا بررسی شود

                if (message.ID != 0)
                {
                    throw new Exception();
                }
                BizTableDrivedEntity bizTableDrivedEntity = new BizTableDrivedEntity();
                if (!bizTableDrivedEntity.DataIsAccessable(requester, message.DatItem.TargetEntityID, new List <SecurityAction>()
                {
                    SecurityAction.ArchiveEdit
                }))
                {
                    throw new Exception("عدم دسترسی ثبت آرشیو");
                }
                using (var context = new MyIdeaDataDBEntities())
                {
                    var dbArchiveItem = new ArchiveItem();
                    if (message.DatItem.DataItemID == 0)
                    {
                        dbArchiveItem.MyDataItemID = bizDataItem.GetOrCreateDataItem(message.DatItem);
                        message.DatItem.DataItemID = dbArchiveItem.MyDataItemID;
                    }
                    else
                    {
                        dbArchiveItem.MyDataItemID = message.DatItem.DataItemID;
                    }
                    //var dataItem = bizDataItem.GetOrCreateDataItem(message.DatItem);
                    //var archiveItemDataItem = new MyDataItem_ArchiveItem();

                    dbArchiveItem.FolderID     = message.FolderID;
                    dbArchiveItem.CreationDate = DateTime.Now;
                    dbArchiveItem.UserID       = requester.Identity;
                    dbArchiveItem.Name         = message.Name;
                    var type = GetArchiveItemType(message);
                    message.FileType       = type.Item2;
                    message.MainType       = type.Item1;
                    dbArchiveItem.FileType = (short)message.FileType;
                    dbArchiveItem.MainType = (short)message.MainType;
                    if (message.AttechedFile != null && message.AttechedFile.Content != null)
                    {
                        dbArchiveItem.FileSize        = message.AttechedFile.Content.Count();
                        dbArchiveItem.FileRepository1 = bizFileRepository.ToFileRepository(context, message.AttechedFile);
                    }
                    SetPossibleThumbnail(context, dbArchiveItem, message.MainType, message.FileType, message.AttechedFile.Content, message.AttechedFile.FileName);
                    //if (!hasThumbnail)
                    //{
                    //    dbArchiveItem.ThumbnailFileRepositoryID = null;
                    //    //    dbArchiveItem.FileRepository1 = null;
                    //}
                    foreach (var tagid in message.TagIDs)
                    {
                        dbArchiveItem.ArchiveItem_Tag.Add(new ArchiveItem_Tag()
                        {
                            TagID = tagid
                        });
                    }
                    context.ArchiveItem.Add(dbArchiveItem);
                    context.SaveChanges();
                    message.ID = dbArchiveItem.ID;

                    result.Result = true;


                    //انتیتی فرمورک قاطی داره رابطه فایل را برای تامبنیل هم میزاره

                    //context.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                result.Result  = false;
                result.Message = ex.Message;
            }
            finally
            {
                var logResult = bizLogManager.AddLog(GetCreateItemDataLog(message, result.Message), requester);
                if (!string.IsNullOrEmpty(logResult))
                {
                    result.Message += (!string.IsNullOrEmpty(result.Message) ? Environment.NewLine : "") + "خطا در ثبت لاگ" + " , " + logResult;
                }
            }
            return(result);
        }