public override bool TryStartVirtualizationInstance(Enlistment enlistment, out string error)
        {
            this.virtualizationInstance.OnStartDirectoryEnumeration = this.StartDirectoryEnumeration;
            this.virtualizationInstance.OnEndDirectoryEnumeration   = this.EndDirectoryEnumeration;
            this.virtualizationInstance.OnGetDirectoryEnumeration   = this.GetDirectoryEnumeration;
            this.virtualizationInstance.OnQueryFileName             = this.QueryFileName;

            this.virtualizationInstance.OnGetPlaceholderInformation = this.GetPlaceholderInformation;
            this.virtualizationInstance.OnGetFileStream             = this.GetFileStream;
            this.virtualizationInstance.OnNotifyFileHandleClosedFileModifiedOrDeleted = this.OnFileModifiedOrDeleted;

            uint threadCount = (uint)Environment.ProcessorCount * 2;

            NotificationMapping[] notificationMappings = new NotificationMapping[]
            {
                new NotificationMapping(NotificationType.FileHandleClosedFileModified, string.Empty),
            };

            HResult result = this.virtualizationInstance.StartVirtualizationInstance(
                enlistment.SrcRoot,
                poolThreadCount: threadCount,
                concurrentThreadCount: threadCount,
                enableNegativePathCache: false,
                notificationMappings: notificationMappings);

            if (result == HResult.Ok)
            {
                return(base.TryStartVirtualizationInstance(enlistment, out error));
            }

            error = result.ToString("F");
            return(false);
        }
Exemplo n.º 2
0
 public bool CheckDataIfExists(NotificationMapping entity)
 {
     Dictionary<string, object> parameter = new Dictionary<string, object>();
     parameter.Add("Workflow", entity.Workflow);
     parameter.Add("Status", entity.Status);
     List<NotificationMapping> document = this.notificationMappingRepository.CheckIfDataExists(parameter);
     if (document.Count() > 0)
     {
         return true;
     }
     return false;
 }
        public override bool TryStartVirtualizationInstance(Enlistment enlistment, out string error)
        {
            this.virtualizationInstance.OnQueryFileName        = this.QueryFileName;
            this.virtualizationInstance.OnNotifyPreDelete      = this.OnPreDelete;
            this.virtualizationInstance.OnNotifyNewFileCreated = this.OnNewFileCreated;
            this.virtualizationInstance.OnNotifyFileHandleClosedFileModifiedOrDeleted = this.OnFileModifiedOrDeleted;
            this.virtualizationInstance.OnNotifyFileRenamed          = this.OnFileRenamed;
            this.virtualizationInstance.OnNotifyHardlinkCreated      = this.OnHardlinkCreated;
            this.virtualizationInstance.OnNotifyFilePreConvertToFull = this.OnFilePreConvertToFull;

            uint threadCount = (uint)Environment.ProcessorCount * 2;

            NotificationMapping[] notificationMappings = new NotificationMapping[]
            {
                new NotificationMapping(
                    NotificationType.NewFileCreated |
                    NotificationType.PreDelete |
                    NotificationType.FileRenamed |
                    NotificationType.HardlinkCreated |
                    NotificationType.FileHandleClosedFileModified,
                    string.Empty),
            };

            this.virtualizationInstance = new VirtualizationInstance(
                enlistment.SrcRoot,
                poolThreadCount: threadCount,
                concurrentThreadCount: threadCount,
                enableNegativePathCache: false,
                notificationMappings: notificationMappings);

            HResult result = this.virtualizationInstance.StartVirtualizing(this);

            if (result == HResult.Ok)
            {
                return(base.TryStartVirtualizationInstance(enlistment, out error));
            }

            error = result.ToString("F");
            return(false);
        }
        public ActionResult AddNotification(NotificationMappingModel model)
        {
            if (ModelState.IsValid)
            {
                List<NotificationMapping> notificationMappingList = new List<NotificationMapping>();
                NotificationMapping notificationMapping = new NotificationMapping();
                List<NotificationMapping> currentNotificationMapping = GetCurrentNotificationMapping();
                notificationMapping.EmailContent = model.EmailContent;
                notificationMapping.SMSContent = model.SMSContent;
                notificationMapping.Status = this.statusService.GetDataById(model.StatusId);
                notificationMapping.Workflow = this.workflowService.GetDataById(model.WorkflowId);
                if (currentNotificationMapping.Any())
                {
                    if (!currentNotificationMapping.Exists(x => x.Status.Id.Equals(notificationMapping.Status.Id)))
                    {
                        model.NotificationMappingList.Add(notificationMapping);
                        currentNotificationMapping.Add(notificationMapping);
                    }
                    else
                    {
                        ModelState.AddModelError("StatusError", "already added");
                        return Json(new { result = StatusCode.existed, message = MessageCode.existed, code = StatusCode.existed });
                    }

                }
                else
                {
                    currentNotificationMapping.Add(notificationMapping);
                }
                model.NotificationMappingList = currentNotificationMapping;
                if (Request.IsAjaxRequest())
                {
                    return PartialView("Partial/Notification", model);
                }
                return Json(new { result = StatusCode.saved, message = MessageCode.saved, code = StatusCode.saved });
            }
            return Json(new { result = StatusCode.failed, message = MessageCode.error, code = StatusCode.invalid });
        }
Exemplo n.º 5
0
 public long Create(NotificationMapping entity)
 {
     return this.notificationMappingRepository.Create(entity);
 }
Exemplo n.º 6
0
 public bool CheckDataAndCodeIfExist(NotificationMapping entity)
 {
     return false;
 }
Exemplo n.º 7
0
 public void SaveChanges(NotificationMapping entity)
 {
     this.notificationMappingRepository.SaveChanges(entity);
 }
Exemplo n.º 8
0
 public NotificationEngine()
 {
     notificationMapping = new NotificationMapping();
 }