Ejemplo n.º 1
0
 public TicketButtonViewModel(OpenTicketData openTicketData, Resource baseResource)
 {
     _openTicketData = openTicketData;
     _baseResourceId = baseResource != null ? baseResource.Id : 0;
     OpenTicketCommand = new DelegateCommand<string>(OnOpenTicketCommand);
     SelectTicketCommand = new DelegateCommand<string>(OnSelectTicket);
 }
Ejemplo n.º 2
0
 public IEnumerable<ResourceCustomField> GetMatchingFields(Resource resource, string searchString)
 {
     if (!string.IsNullOrEmpty(resource.CustomData))
     {
         const string nameFormat = "\"Name\":\"{0}\"";
         var data = resource.CustomData.Split(new[] { "}," }, StringSplitOptions.RemoveEmptyEntries)
             .Where(x => Regex.Match(x, "\"Value\":\"([^\"]+)\"").Groups[1].Value.ToLower().Contains(searchString.ToLower()));
         return ResoruceCustomFields.Where(x => data.Any(y => y.ToLower().Contains(string.Format(nameFormat, x.Name).ToLower()) && y.ToLower().Contains(searchString.ToLower())));
     }
     return ResoruceCustomFields;
 }
Ejemplo n.º 3
0
        public string GetAccountName(Resource resource)
        {
            if (string.IsNullOrEmpty(resource.Name)) return "";

            var result = AccountNameTemplate;
            result = result.Replace("[Id]", resource.Id.ToString(CultureInfo.InvariantCulture));
            result = result.Replace("[Name]", resource.Name);
            while (Regex.IsMatch(result, "\\[([^\\]]+)\\]"))
            {
                var match = Regex.Match(result, "\\[([^\\]]+)\\]");
                var propName = match.Groups[1].Value;
                var data = resource.GetCustomData(propName);
                if (string.IsNullOrEmpty(data)) return "";
                result = result.Replace(match.Groups[0].Value, resource.GetCustomData(propName));
            }

            return result;
        }
Ejemplo n.º 4
0
 public void UpdateResource(Resource resource)
 {
     var r = TicketResources.SingleOrDefault(x => x.ResourceTemplateId == resource.ResourceTemplateId);
     if (r == null)
     {
         TicketResources.Add(new TicketResource() { ResourceId = resource.Id, ResourceName = resource.Name, ResourceTemplateId = resource.ResourceTemplateId });
     }
     else
     {
         r.ResourceId = resource.Id;
         r.ResourceName = resource.Name;
         r.ResourceTemplateId = resource.ResourceTemplateId;
     }
 }
 public ResourceSearchResultViewModel(Resource model, ResourceType template)
 {
     ResourceType = template;
     Model = model;
 }
 public ResourceCustomDataViewModel(Resource model, ResourceType template)
 {
     _template = template;
     Model = model;
 }
Ejemplo n.º 7
0
 private void OnResourceSelectedForTicket(EventParameters<EntityOperationRequest<Resource>> eventParameters)
 {
     if (eventParameters.Topic == EventTopicNames.ResourceSelected)
     {
         if (SelectedTicket != null)
         {
             _ticketService.UpdateResource(SelectedTicket, eventParameters.Value.SelectedEntity);
             if (_applicationState.SelectedResourceScreen != null && SelectedTicket.Orders.Count > 0 && eventParameters.Value.SelectedEntity.Id > 0 && eventParameters.Value.SelectedEntity.ResourceTypeId == _applicationState.SelectedResourceScreen.ResourceTypeId)
                 CloseTicket();
             else DisplaySingleTicket();
         }
         else
         {
             var openTickets = _ticketService.GetOpenTicketIds(eventParameters.Value.SelectedEntity.Id).ToList();
             if (!openTickets.Any())
             {
                 OpenTicket(0);
                 _ticketService.UpdateResource(SelectedTicket, eventParameters.Value.SelectedEntity);
             }
             else if (openTickets.Count > 1)
             {
                 _lastSelectedResource = eventParameters.Value.SelectedEntity;
                 _ticketListViewModel.UpdateListByResource(eventParameters.Value.SelectedEntity);
                 DisplayTicketList();
                 return;
             }
             else
             {
                 OpenTicket(openTickets.ElementAt(0));
             }
             EventServiceFactory.EventService.PublishEvent(EventTopicNames.ActivatePosView);
         }
     }
 }
Ejemplo n.º 8
0
 public void UpdateResource(Ticket ticket, Resource resource)
 {
     if (resource == null) return;
     UpdateResource(ticket, resource.ResourceTypeId, resource.Id, resource.Name, resource.AccountId, resource.CustomData);
 }
Ejemplo n.º 9
0
        public void DisplayTickets()
        {
            _lastSelectedResource = null;

            if (_applicationState.CurrentDepartment == null && _applicationState.CurrentLoggedInUser.UserRole.DepartmentId > 0)
                _applicationStateSetter.SetCurrentDepartment(_applicationState.CurrentLoggedInUser.UserRole.DepartmentId);

            Debug.Assert(_applicationState.CurrentDepartment != null);

            if (SelectedTicket != null || !_cacheService.GetResourceScreens().Any() || _applicationState.CurrentDepartment.TicketCreationMethod == 1)
            {
                DisplaySingleTicket();
                return;
            }
            CommonEventPublisher.PublishEntityOperation<Resource>(null, EventTopicNames.SelectResource, EventTopicNames.ResourceSelected);
        }
Ejemplo n.º 10
0
 public void UpdateAccountOfOpenTickets(Resource resource)
 {
     var openTicketDataList = GetOpenTickets(resource.Id);
     using (var w = WorkspaceFactory.Create())
     {
         var tickets = openTicketDataList.Select(data => w.Single<Ticket>(x => x.Id == data.Id, x => x.TicketResources)).ToList();
         foreach (var ticket in tickets)
         {
             ticket.TicketResources.Where(x => x.ResourceId == resource.Id).ToList().ForEach(x => x.AccountId = resource.AccountId);
             w.CommitChanges();
         }
     }
 }
 private void OnSelectResource(Resource obj)
 {
     new EntityOperationRequest<Resource>(obj, null).PublishEvent(EventTopicNames.ResourceSelected, true);
 }
Ejemplo n.º 12
0
 private void OnCreateResource(string obj)
 {
     var targetEvent = _currentResourceSelectionRequest != null
                           ? _currentResourceSelectionRequest.GetExpectedEvent()
                           : EventTopicNames.SelectResource;
     var newResource = new Resource { ResourceTypeId = SelectedResourceType.Id, Name = SearchString };
     ClearSearchValues();
     CommonEventPublisher.PublishEntityOperation(newResource, EventTopicNames.EditResourceDetails, targetEvent);
 }
 public ResourceSearchResultViewModel(Resource model, ResourceTemplate template)
 {
     AccountTemplate = template;
     Model = model;
     UpdateDetailedInfo();
 }
Ejemplo n.º 14
0
 public void UpdateListByResource(Resource resource)
 {
     if (resource != null)
     {
         SelectedEntity = resource;
         _tickets = _ticketService.GetOpenTickets(resource.Id).Select(x => new TicketButtonViewModel(x, resource)).ToList();
         Refresh();
     }
 }