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); }
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 }); }
public long Create(NotificationMapping entity) { return this.notificationMappingRepository.Create(entity); }
public bool CheckDataAndCodeIfExist(NotificationMapping entity) { return false; }
public void SaveChanges(NotificationMapping entity) { this.notificationMappingRepository.SaveChanges(entity); }
public NotificationEngine() { notificationMapping = new NotificationMapping(); }