public async Task <ActionResult <bool> > BulkDelete([FromBody] List <long> Ids) { if (!ModelState.IsValid) { throw new BindException(ModelState); } TicketPriorityFilter TicketPriorityFilter = new TicketPriorityFilter(); TicketPriorityFilter = TicketPriorityService.ToFilter(TicketPriorityFilter); TicketPriorityFilter.Id = new IdFilter { In = Ids }; TicketPriorityFilter.Selects = TicketPrioritySelect.Id; TicketPriorityFilter.Skip = 0; TicketPriorityFilter.Take = int.MaxValue; List <TicketPriority> TicketPriorities = await TicketPriorityService.List(TicketPriorityFilter); TicketPriorities = await TicketPriorityService.BulkDelete(TicketPriorities); if (TicketPriorities.Any(x => !x.IsValidated)) { return(BadRequest(TicketPriorities.Where(x => !x.IsValidated))); } return(true); }
public async Task <List <Ticket_TicketPriorityDTO> > SingleListTicketPriority([FromBody] Ticket_TicketPriorityFilterDTO Ticket_TicketPriorityFilterDTO) { if (!ModelState.IsValid) { throw new BindException(ModelState); } TicketPriorityFilter TicketPriorityFilter = new TicketPriorityFilter(); TicketPriorityFilter.Skip = 0; TicketPriorityFilter.Take = 20; TicketPriorityFilter.OrderBy = TicketPriorityOrder.OrderNumber; TicketPriorityFilter.OrderType = OrderType.ASC; TicketPriorityFilter.Selects = TicketPrioritySelect.ALL; TicketPriorityFilter.Id = Ticket_TicketPriorityFilterDTO.Id; TicketPriorityFilter.Name = Ticket_TicketPriorityFilterDTO.Name; TicketPriorityFilter.OrderNumber = Ticket_TicketPriorityFilterDTO.OrderNumber; TicketPriorityFilter.ColorCode = Ticket_TicketPriorityFilterDTO.ColorCode; TicketPriorityFilter.StatusId = Ticket_TicketPriorityFilterDTO.StatusId; List <TicketPriority> TicketPriorities = await TicketPriorityService.List(TicketPriorityFilter); List <Ticket_TicketPriorityDTO> Ticket_TicketPriorityDTOs = TicketPriorities .Select(x => new Ticket_TicketPriorityDTO(x)).ToList(); return(Ticket_TicketPriorityDTOs); }
public async Task <int> Count(TicketPriorityFilter filter) { IQueryable <TicketPriorityDAO> TicketPriorities = DataContext.TicketPriority.AsNoTracking(); TicketPriorities = DynamicFilter(TicketPriorities, filter); return(await TicketPriorities.CountAsync()); }
public async Task <TicketPriority> Create(TicketPriority TicketPriority) { if (!await TicketPriorityValidator.Create(TicketPriority)) { return(TicketPriority); } try { TicketPriorityFilter TicketPriorityFilter = new TicketPriorityFilter { Take = 1, Selects = TicketPrioritySelect.ALL, OrderBy = TicketPriorityOrder.OrderNumber, OrderType = OrderType.DESC }; await UOW.Begin(); if (TicketPriority.OrderNumber == 0) { List <TicketPriority> TicketPriorities = await UOW.TicketPriorityRepository.List(TicketPriorityFilter); TicketPriority.OrderNumber = TicketPriorities.Any() ? TicketPriorities.Max(c => c.OrderNumber) + 1 : 1; } await UOW.TicketPriorityRepository.Create(TicketPriority); await UOW.Commit(); TicketPriority = await UOW.TicketPriorityRepository.Get(TicketPriority.Id); await Logging.CreateAuditLog(TicketPriority, new { }, nameof(TicketPriorityService)); return(TicketPriority); } catch (Exception ex) { if (ex.InnerException == null) { await Logging.CreateSystemLog(ex, nameof(TicketPriorityService)); throw new MessageException(ex); } else { await Logging.CreateSystemLog(ex.InnerException, nameof(TicketPriorityService)); throw new MessageException(ex.InnerException); } } }
public async Task <ActionResult <int> > Count([FromBody] TicketPriority_TicketPriorityFilterDTO TicketPriority_TicketPriorityFilterDTO) { if (!ModelState.IsValid) { throw new BindException(ModelState); } TicketPriorityFilter TicketPriorityFilter = ConvertFilterDTOToFilterEntity(TicketPriority_TicketPriorityFilterDTO); TicketPriorityFilter = TicketPriorityService.ToFilter(TicketPriorityFilter); int count = await TicketPriorityService.Count(TicketPriorityFilter); return(count); }
public async Task <List <TicketPriority> > List(TicketPriorityFilter filter) { if (filter == null) { return(new List <TicketPriority>()); } IQueryable <TicketPriorityDAO> TicketPriorityDAOs = DataContext.TicketPriority.AsNoTracking(); TicketPriorityDAOs = DynamicFilter(TicketPriorityDAOs, filter); TicketPriorityDAOs = DynamicOrder(TicketPriorityDAOs, filter); List <TicketPriority> TicketPriorities = await DynamicSelect(TicketPriorityDAOs, filter); return(TicketPriorities); }
public TicketPriorityFilter ToFilter(TicketPriorityFilter filter) { if (filter.OrFilter == null) { filter.OrFilter = new List <TicketPriorityFilter>(); } if (CurrentContext.Filters == null || CurrentContext.Filters.Count == 0) { return(filter); } foreach (var currentFilter in CurrentContext.Filters) { TicketPriorityFilter subFilter = new TicketPriorityFilter(); filter.OrFilter.Add(subFilter); List <FilterPermissionDefinition> FilterPermissionDefinitions = currentFilter.Value; foreach (FilterPermissionDefinition FilterPermissionDefinition in FilterPermissionDefinitions) { if (FilterPermissionDefinition.Name == nameof(subFilter.Id)) { subFilter.Id = FilterPermissionDefinition.IdFilter; } if (FilterPermissionDefinition.Name == nameof(subFilter.Name)) { subFilter.Name = FilterPermissionDefinition.StringFilter; } if (FilterPermissionDefinition.Name == nameof(subFilter.OrderNumber)) { subFilter.OrderNumber = FilterPermissionDefinition.LongFilter; } if (FilterPermissionDefinition.Name == nameof(subFilter.ColorCode)) { subFilter.ColorCode = FilterPermissionDefinition.StringFilter; } if (FilterPermissionDefinition.Name == nameof(subFilter.StatusId)) { subFilter.StatusId = FilterPermissionDefinition.IdFilter; } } } return(filter); }
public async Task <ActionResult <List <TicketPriority_TicketPriorityDTO> > > List([FromBody] TicketPriority_TicketPriorityFilterDTO TicketPriority_TicketPriorityFilterDTO) { if (!ModelState.IsValid) { throw new BindException(ModelState); } TicketPriorityFilter TicketPriorityFilter = ConvertFilterDTOToFilterEntity(TicketPriority_TicketPriorityFilterDTO); TicketPriorityFilter = TicketPriorityService.ToFilter(TicketPriorityFilter); List <TicketPriority> TicketPriorities = await TicketPriorityService.List(TicketPriorityFilter); List <TicketPriority_TicketPriorityDTO> TicketPriority_TicketPriorityDTOs = TicketPriorities .Select(c => new TicketPriority_TicketPriorityDTO(c)).ToList(); return(TicketPriority_TicketPriorityDTOs); }
private TicketPriorityFilter ConvertFilterDTOToFilterEntity(TicketPriority_TicketPriorityFilterDTO TicketPriority_TicketPriorityFilterDTO) { TicketPriorityFilter TicketPriorityFilter = new TicketPriorityFilter(); TicketPriorityFilter.Selects = TicketPrioritySelect.ALL; TicketPriorityFilter.Skip = TicketPriority_TicketPriorityFilterDTO.Skip; TicketPriorityFilter.Take = TicketPriority_TicketPriorityFilterDTO.Take; TicketPriorityFilter.OrderBy = TicketPriority_TicketPriorityFilterDTO.OrderBy; TicketPriorityFilter.OrderType = TicketPriority_TicketPriorityFilterDTO.OrderType; TicketPriorityFilter.Id = TicketPriority_TicketPriorityFilterDTO.Id; TicketPriorityFilter.Name = TicketPriority_TicketPriorityFilterDTO.Name; TicketPriorityFilter.OrderNumber = TicketPriority_TicketPriorityFilterDTO.OrderNumber; TicketPriorityFilter.ColorCode = TicketPriority_TicketPriorityFilterDTO.ColorCode; TicketPriorityFilter.StatusId = TicketPriority_TicketPriorityFilterDTO.StatusId; TicketPriorityFilter.CreatedAt = TicketPriority_TicketPriorityFilterDTO.CreatedAt; TicketPriorityFilter.UpdatedAt = TicketPriority_TicketPriorityFilterDTO.UpdatedAt; return(TicketPriorityFilter); }
public async Task <bool> ValidateId(TicketPriority TicketPriority) { TicketPriorityFilter TicketPriorityFilter = new TicketPriorityFilter { Skip = 0, Take = 10, Id = new IdFilter { Equal = TicketPriority.Id }, Selects = TicketPrioritySelect.Id }; int count = await UOW.TicketPriorityRepository.Count(TicketPriorityFilter); if (count == 0) { TicketPriority.AddError(nameof(TicketPriorityValidator), nameof(TicketPriority.Id), ErrorCode.IdNotExisted); } return(count == 1); }
private async Task <bool> HasPermission(long Id) { TicketPriorityFilter TicketPriorityFilter = new TicketPriorityFilter(); TicketPriorityFilter = TicketPriorityService.ToFilter(TicketPriorityFilter); if (Id == 0) { } else { TicketPriorityFilter.Id = new IdFilter { Equal = Id }; int count = await TicketPriorityService.Count(TicketPriorityFilter); if (count == 0) { return(false); } } return(true); }
public async Task <List <TicketPriority> > List(TicketPriorityFilter TicketPriorityFilter) { try { List <TicketPriority> TicketPrioritys = await UOW.TicketPriorityRepository.List(TicketPriorityFilter); return(TicketPrioritys); } catch (Exception ex) { if (ex.InnerException == null) { await Logging.CreateSystemLog(ex, nameof(TicketPriorityService)); throw new MessageException(ex); } else { await Logging.CreateSystemLog(ex.InnerException, nameof(TicketPriorityService)); throw new MessageException(ex.InnerException); } } }
public async Task <int> Count(TicketPriorityFilter TicketPriorityFilter) { try { int result = await UOW.TicketPriorityRepository.Count(TicketPriorityFilter); return(result); } catch (Exception ex) { if (ex.InnerException == null) { await Logging.CreateSystemLog(ex, nameof(TicketPriorityService)); throw new MessageException(ex); } else { await Logging.CreateSystemLog(ex.InnerException, nameof(TicketPriorityService)); throw new MessageException(ex.InnerException); } } }
private IQueryable <TicketPriorityDAO> OrFilter(IQueryable <TicketPriorityDAO> query, TicketPriorityFilter filter) { if (filter.OrFilter == null || filter.OrFilter.Count == 0) { return(query); } IQueryable <TicketPriorityDAO> initQuery = query.Where(q => false); foreach (TicketPriorityFilter TicketPriorityFilter in filter.OrFilter) { IQueryable <TicketPriorityDAO> queryable = query; if (TicketPriorityFilter.Id != null) { queryable = queryable.Where(q => q.Id, TicketPriorityFilter.Id); } if (TicketPriorityFilter.Name != null) { queryable = queryable.Where(q => q.Name, TicketPriorityFilter.Name); } if (TicketPriorityFilter.OrderNumber != null) { queryable = queryable.Where(q => q.OrderNumber, TicketPriorityFilter.OrderNumber); } if (TicketPriorityFilter.ColorCode != null) { queryable = queryable.Where(q => q.ColorCode, TicketPriorityFilter.ColorCode); } if (TicketPriorityFilter.StatusId != null) { queryable = queryable.Where(q => q.StatusId, TicketPriorityFilter.StatusId); } initQuery = initQuery.Union(queryable); } return(initQuery); }
private IQueryable <TicketPriorityDAO> DynamicFilter(IQueryable <TicketPriorityDAO> query, TicketPriorityFilter filter) { if (filter == null) { return(query.Where(q => false)); } query = query.Where(q => !q.DeletedAt.HasValue); if (filter.CreatedAt != null) { query = query.Where(q => q.CreatedAt, filter.CreatedAt); } if (filter.UpdatedAt != null) { query = query.Where(q => q.UpdatedAt, filter.UpdatedAt); } if (filter.Id != null) { query = query.Where(q => q.Id, filter.Id); } if (filter.Name != null) { query = query.Where(q => q.Name, filter.Name); } if (filter.OrderNumber != null) { query = query.Where(q => q.OrderNumber, filter.OrderNumber); } if (filter.ColorCode != null) { query = query.Where(q => q.ColorCode, filter.ColorCode); } if (filter.StatusId != null) { query = query.Where(q => q.StatusId, filter.StatusId); } query = OrFilter(query, filter); return(query); }
private async Task <List <TicketPriority> > DynamicSelect(IQueryable <TicketPriorityDAO> query, TicketPriorityFilter filter) { List <TicketPriority> TicketPriorities = await query.Select(q => new TicketPriority() { Id = filter.Selects.Contains(TicketPrioritySelect.Id) ? q.Id : default(long), Name = filter.Selects.Contains(TicketPrioritySelect.Name) ? q.Name : default(string), OrderNumber = filter.Selects.Contains(TicketPrioritySelect.OrderNumber) ? q.OrderNumber : default(long), ColorCode = filter.Selects.Contains(TicketPrioritySelect.ColorCode) ? q.ColorCode : default(string), StatusId = filter.Selects.Contains(TicketPrioritySelect.Status) ? q.StatusId : default(long), Used = filter.Selects.Contains(TicketPrioritySelect.Used) ? q.Used : default(bool), Status = filter.Selects.Contains(TicketPrioritySelect.Status) && q.Status != null ? new Status { Id = q.Status.Id, Code = q.Status.Code, Name = q.Status.Name, } : null, CreatedAt = q.CreatedAt, UpdatedAt = q.UpdatedAt, }).ToListAsync(); return(TicketPriorities); }
private IQueryable <TicketPriorityDAO> DynamicOrder(IQueryable <TicketPriorityDAO> query, TicketPriorityFilter filter) { switch (filter.OrderType) { case OrderType.ASC: switch (filter.OrderBy) { case TicketPriorityOrder.Id: query = query.OrderBy(q => q.Id); break; case TicketPriorityOrder.Name: query = query.OrderBy(q => q.Name); break; case TicketPriorityOrder.OrderNumber: query = query.OrderBy(q => q.OrderNumber); break; case TicketPriorityOrder.ColorCode: query = query.OrderBy(q => q.ColorCode); break; case TicketPriorityOrder.Status: query = query.OrderBy(q => q.StatusId); break; case TicketPriorityOrder.Used: query = query.OrderBy(q => q.Used); break; } break; case OrderType.DESC: switch (filter.OrderBy) { case TicketPriorityOrder.Id: query = query.OrderByDescending(q => q.Id); break; case TicketPriorityOrder.Name: query = query.OrderByDescending(q => q.Name); break; case TicketPriorityOrder.OrderNumber: query = query.OrderByDescending(q => q.OrderNumber); break; case TicketPriorityOrder.ColorCode: query = query.OrderByDescending(q => q.ColorCode); break; case TicketPriorityOrder.Status: query = query.OrderByDescending(q => q.StatusId); break; case TicketPriorityOrder.Used: query = query.OrderByDescending(q => q.Used); break; } break; } query = query.Skip(filter.Skip).Take(filter.Take); return(query); }