public async Task <List <TicketStatus> > List(TicketStatusFilter TicketStatusFilter) { try { TicketStatusFilter.OrderBy = TicketStatusOrder.OrderNumber; TicketStatusFilter.OrderType = OrderType.ASC; List <TicketStatus> TicketStatuss = await UOW.TicketStatusRepository.List(TicketStatusFilter); return(TicketStatuss); } catch (Exception ex) { if (ex.InnerException == null) { await Logging.CreateSystemLog(ex, nameof(TicketStatusService)); throw new MessageException(ex); } else { await Logging.CreateSystemLog(ex.InnerException, nameof(TicketStatusService)); throw new MessageException(ex.InnerException); } } }
public async Task <int> Count(TicketStatusFilter filter) { IQueryable <TicketStatusDAO> TicketStatuses = DataContext.TicketStatus.AsNoTracking(); TicketStatuses = DynamicFilter(TicketStatuses, filter); return(await TicketStatuses.CountAsync()); }
public async Task <ActionResult <bool> > BulkDelete([FromBody] List <long> Ids) { if (!ModelState.IsValid) { throw new BindException(ModelState); } TicketStatusFilter TicketStatusFilter = new TicketStatusFilter(); TicketStatusFilter = TicketStatusService.ToFilter(TicketStatusFilter); TicketStatusFilter.Id = new IdFilter { In = Ids }; TicketStatusFilter.Selects = TicketStatusSelect.Id; TicketStatusFilter.Skip = 0; TicketStatusFilter.Take = int.MaxValue; List <TicketStatus> TicketStatuses = await TicketStatusService.List(TicketStatusFilter); TicketStatuses = await TicketStatusService.BulkDelete(TicketStatuses); if (TicketStatuses.Any(x => !x.IsValidated)) { return(BadRequest(TicketStatuses.Where(x => !x.IsValidated))); } return(true); }
public async Task <List <Dashboard_TicketStatusDTO> > SingleListTicketStatus([FromBody] Dashboard_TicketStatusFilterDTO Dashboard_TicketStatusFilterDTO) { if (!ModelState.IsValid) { throw new BindException(ModelState); } TicketStatusFilter TicketStatusFilter = new TicketStatusFilter(); TicketStatusFilter.Skip = 0; TicketStatusFilter.Take = 20; TicketStatusFilter.OrderBy = TicketStatusOrder.Id; TicketStatusFilter.OrderType = OrderType.ASC; TicketStatusFilter.Selects = TicketStatusSelect.ALL; TicketStatusFilter.Id = Dashboard_TicketStatusFilterDTO.Id; TicketStatusFilter.Name = Dashboard_TicketStatusFilterDTO.Name; TicketStatusFilter.OrderNumber = Dashboard_TicketStatusFilterDTO.OrderNumber; TicketStatusFilter.ColorCode = Dashboard_TicketStatusFilterDTO.ColorCode; TicketStatusFilter.StatusId = Dashboard_TicketStatusFilterDTO.StatusId; List <TicketStatus> TicketStatuses = await TicketStatusService.List(TicketStatusFilter); List <Dashboard_TicketStatusDTO> Dashboard_TicketStatusDTOs = TicketStatuses .Select(x => new Dashboard_TicketStatusDTO(x)).ToList(); return(Dashboard_TicketStatusDTOs); }
public async Task <TicketStatus> Create(TicketStatus TicketStatus) { if (!await TicketStatusValidator.Create(TicketStatus)) { return(TicketStatus); } try { TicketStatusFilter TicketStatusFilter = new TicketStatusFilter { Take = 1, Selects = TicketStatusSelect.ALL, OrderBy = TicketStatusOrder.OrderNumber, OrderType = OrderType.DESC }; await UOW.Begin(); if (TicketStatus.OrderNumber == 0) { List <TicketStatus> TicketStatuss = await UOW.TicketStatusRepository.List(TicketStatusFilter); TicketStatus.OrderNumber = TicketStatuss.Any() ? TicketStatuss.Max(c => c.OrderNumber) + 1 : 1; } await UOW.TicketStatusRepository.Create(TicketStatus); await UOW.Commit(); TicketStatus = await UOW.TicketStatusRepository.Get(TicketStatus.Id); await Logging.CreateAuditLog(TicketStatus, new { }, nameof(TicketStatusService)); return(TicketStatus); } catch (Exception ex) { if (ex.InnerException == null) { await Logging.CreateSystemLog(ex, nameof(TicketStatusService)); throw new MessageException(ex); } else { await Logging.CreateSystemLog(ex.InnerException, nameof(TicketStatusService)); throw new MessageException(ex.InnerException); } } }
public async Task <ActionResult <int> > Count([FromBody] TicketStatus_TicketStatusFilterDTO TicketStatus_TicketStatusFilterDTO) { if (!ModelState.IsValid) { throw new BindException(ModelState); } TicketStatusFilter TicketStatusFilter = ConvertFilterDTOToFilterEntity(TicketStatus_TicketStatusFilterDTO); TicketStatusFilter = TicketStatusService.ToFilter(TicketStatusFilter); int count = await TicketStatusService.Count(TicketStatusFilter); return(count); }
public async Task <List <TicketStatus> > List(TicketStatusFilter filter) { if (filter == null) { return(new List <TicketStatus>()); } IQueryable <TicketStatusDAO> TicketStatusDAOs = DataContext.TicketStatus.AsNoTracking(); TicketStatusDAOs = DynamicFilter(TicketStatusDAOs, filter); TicketStatusDAOs = DynamicOrder(TicketStatusDAOs, filter); List <TicketStatus> TicketStatuses = await DynamicSelect(TicketStatusDAOs, filter); return(TicketStatuses); }
public async Task <ActionResult <List <TicketStatus_TicketStatusDTO> > > List([FromBody] TicketStatus_TicketStatusFilterDTO TicketStatus_TicketStatusFilterDTO) { if (!ModelState.IsValid) { throw new BindException(ModelState); } TicketStatusFilter TicketStatusFilter = ConvertFilterDTOToFilterEntity(TicketStatus_TicketStatusFilterDTO); TicketStatusFilter = TicketStatusService.ToFilter(TicketStatusFilter); List <TicketStatus> TicketStatuses = await TicketStatusService.List(TicketStatusFilter); List <TicketStatus_TicketStatusDTO> TicketStatus_TicketStatusDTOs = TicketStatuses .Select(c => new TicketStatus_TicketStatusDTO(c)).ToList(); return(TicketStatus_TicketStatusDTOs); }
public TicketStatusFilter ToFilter(TicketStatusFilter filter) { if (filter.OrFilter == null) { filter.OrFilter = new List <TicketStatusFilter>(); } if (CurrentContext.Filters == null || CurrentContext.Filters.Count == 0) { return(filter); } foreach (var currentFilter in CurrentContext.Filters) { TicketStatusFilter subFilter = new TicketStatusFilter(); 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); }
private TicketStatusFilter ConvertFilterDTOToFilterEntity(TicketStatus_TicketStatusFilterDTO TicketStatus_TicketStatusFilterDTO) { TicketStatusFilter TicketStatusFilter = new TicketStatusFilter(); TicketStatusFilter.Selects = TicketStatusSelect.ALL; TicketStatusFilter.Skip = TicketStatus_TicketStatusFilterDTO.Skip; TicketStatusFilter.Take = TicketStatus_TicketStatusFilterDTO.Take; TicketStatusFilter.OrderBy = TicketStatus_TicketStatusFilterDTO.OrderBy; TicketStatusFilter.OrderType = TicketStatus_TicketStatusFilterDTO.OrderType; TicketStatusFilter.Id = TicketStatus_TicketStatusFilterDTO.Id; TicketStatusFilter.Name = TicketStatus_TicketStatusFilterDTO.Name; TicketStatusFilter.OrderNumber = TicketStatus_TicketStatusFilterDTO.OrderNumber; TicketStatusFilter.ColorCode = TicketStatus_TicketStatusFilterDTO.ColorCode; TicketStatusFilter.StatusId = TicketStatus_TicketStatusFilterDTO.StatusId; TicketStatusFilter.CreatedAt = TicketStatus_TicketStatusFilterDTO.CreatedAt; TicketStatusFilter.UpdatedAt = TicketStatus_TicketStatusFilterDTO.UpdatedAt; return(TicketStatusFilter); }
public async Task <bool> ValidateId(TicketStatus TicketStatus) { TicketStatusFilter TicketStatusFilter = new TicketStatusFilter { Skip = 0, Take = 10, Id = new IdFilter { Equal = TicketStatus.Id }, Selects = TicketStatusSelect.Id }; int count = await UOW.TicketStatusRepository.Count(TicketStatusFilter); if (count == 0) { TicketStatus.AddError(nameof(TicketStatusValidator), nameof(TicketStatus.Id), ErrorCode.IdNotExisted); } return(count == 1); }
public async Task<List<TicketOfUser_TicketStatusDTO>> FilterListTicketStatus([FromBody] TicketOfUser_TicketStatusFilterDTO TicketOfUser_TicketStatusFilterDTO) { if (!ModelState.IsValid) throw new BindException(ModelState); TicketStatusFilter TicketStatusFilter = new TicketStatusFilter(); TicketStatusFilter.Skip = 0; TicketStatusFilter.Take = 20; TicketStatusFilter.OrderBy = TicketStatusOrder.Id; TicketStatusFilter.OrderType = OrderType.ASC; TicketStatusFilter.Selects = TicketStatusSelect.ALL; TicketStatusFilter.Id = TicketOfUser_TicketStatusFilterDTO.Id; TicketStatusFilter.Name = TicketOfUser_TicketStatusFilterDTO.Name; TicketStatusFilter.OrderNumber = TicketOfUser_TicketStatusFilterDTO.OrderNumber; TicketStatusFilter.ColorCode = TicketOfUser_TicketStatusFilterDTO.ColorCode; TicketStatusFilter.StatusId = TicketOfUser_TicketStatusFilterDTO.StatusId; List<TicketStatus> TicketStatuses = await TicketStatusService.List(TicketStatusFilter); List<TicketOfUser_TicketStatusDTO> TicketOfUser_TicketStatusDTOs = TicketStatuses .Select(x => new TicketOfUser_TicketStatusDTO(x)).ToList(); return TicketOfUser_TicketStatusDTOs; }
private async Task <bool> HasPermission(long Id) { TicketStatusFilter TicketStatusFilter = new TicketStatusFilter(); TicketStatusFilter = TicketStatusService.ToFilter(TicketStatusFilter); if (Id == 0) { } else { TicketStatusFilter.Id = new IdFilter { Equal = Id }; int count = await TicketStatusService.Count(TicketStatusFilter); if (count == 0) { return(false); } } return(true); }
public async Task <List <TicketReport_TicketStatusDTO> > FilterListTicketStatus([FromBody] TicketReport_TicketStatusFilterDTO TicketReport_TicketStatusFilterDTO) { if (!ModelState.IsValid) { throw new BindException(ModelState); } TicketStatusFilter TicketStatusFilter = new TicketStatusFilter(); TicketStatusFilter.Skip = 0; TicketStatusFilter.Take = 20; TicketStatusFilter.OrderBy = TicketStatusOrder.Id; TicketStatusFilter.OrderType = OrderType.ASC; TicketStatusFilter.Selects = TicketStatusSelect.ALL; TicketStatusFilter.Id = TicketReport_TicketStatusFilterDTO.Id; TicketStatusFilter.Name = TicketReport_TicketStatusFilterDTO.Name; List <TicketStatus> TicketStatuss = await TicketStatusService.List(TicketStatusFilter); List <TicketReport_TicketStatusDTO> TicketReport_TicketStatusDTOs = TicketStatuss .Select(x => new TicketReport_TicketStatusDTO(x)).ToList(); return(TicketReport_TicketStatusDTOs); }
public async Task <int> Count(TicketStatusFilter TicketStatusFilter) { try { int result = await UOW.TicketStatusRepository.Count(TicketStatusFilter); return(result); } catch (Exception ex) { if (ex.InnerException == null) { await Logging.CreateSystemLog(ex, nameof(TicketStatusService)); throw new MessageException(ex); } else { await Logging.CreateSystemLog(ex.InnerException, nameof(TicketStatusService)); throw new MessageException(ex.InnerException); } } }
public async Task <FileResult> ExportTemplate([FromBody] TicketOfUser_TicketOfUserFilterDTO TicketOfUser_TicketOfUserFilterDTO) { if (!ModelState.IsValid) { throw new BindException(ModelState); } MemoryStream memoryStream = new MemoryStream(); using (ExcelPackage excel = new ExcelPackage(memoryStream)) { #region TicketOfUser var TicketOfUserHeaders = new List <string[]>() { new string[] { "Id", "Notes", "UserId", "TicketId", "TicketStatusId", } }; List <object[]> TicketOfUserData = new List <object[]>(); excel.GenerateWorksheet("TicketOfUser", TicketOfUserHeaders, TicketOfUserData); #endregion #region Ticket var TicketFilter = new TicketFilter(); TicketFilter.Selects = TicketSelect.ALL; TicketFilter.OrderBy = TicketOrder.Id; TicketFilter.OrderType = OrderType.ASC; TicketFilter.Skip = 0; TicketFilter.Take = int.MaxValue; List <Ticket> Tickets = await TicketService.List(TicketFilter); var TicketHeaders = new List <string[]>() { new string[] { "Id", "Name", "Phone", "CustomerId", "UserId", "ProductId", "ReceiveDate", "ProcessDate", "FinishDate", "Subject", "Content", "TicketIssueLevelId", "TicketPriorityId", "TicketStatusId", "TicketSourceId", "TicketNumber", "DepartmentId", "RelatedTicketId", "SLA", "RelatedCallLogId", "ResponseMethodId", "StatusId", "Used", } }; List <object[]> TicketData = new List <object[]>(); for (int i = 0; i < Tickets.Count; i++) { var Ticket = Tickets[i]; TicketData.Add(new Object[] { Ticket.Id, Ticket.Name, Ticket.Phone, Ticket.CustomerId, Ticket.UserId, Ticket.ProductId, Ticket.ReceiveDate, Ticket.ProcessDate, Ticket.FinishDate, Ticket.Subject, Ticket.Content, Ticket.TicketIssueLevelId, Ticket.TicketPriorityId, Ticket.TicketStatusId, Ticket.TicketSourceId, Ticket.TicketNumber, Ticket.DepartmentId, Ticket.RelatedTicketId, Ticket.SLA, Ticket.RelatedCallLogId, Ticket.ResponseMethodId, Ticket.StatusId, Ticket.Used, }); } excel.GenerateWorksheet("Ticket", TicketHeaders, TicketData); #endregion #region TicketStatus var TicketStatusFilter = new TicketStatusFilter(); TicketStatusFilter.Selects = TicketStatusSelect.ALL; TicketStatusFilter.OrderBy = TicketStatusOrder.Id; TicketStatusFilter.OrderType = OrderType.ASC; TicketStatusFilter.Skip = 0; TicketStatusFilter.Take = int.MaxValue; List <TicketStatus> TicketStatuses = await TicketStatusService.List(TicketStatusFilter); var TicketStatusHeaders = new List <string[]>() { new string[] { "Id", "Name", "OrderNumber", "ColorCode", "StatusId", "Used", } }; List <object[]> TicketStatusData = new List <object[]>(); for (int i = 0; i < TicketStatuses.Count; i++) { var TicketStatus = TicketStatuses[i]; TicketStatusData.Add(new Object[] { TicketStatus.Id, TicketStatus.Name, TicketStatus.OrderNumber, TicketStatus.ColorCode, TicketStatus.StatusId, TicketStatus.Used, }); } excel.GenerateWorksheet("TicketStatus", TicketStatusHeaders, TicketStatusData); #endregion #region AppUser var AppUserFilter = new AppUserFilter(); AppUserFilter.Selects = AppUserSelect.ALL; AppUserFilter.OrderBy = AppUserOrder.Id; AppUserFilter.OrderType = OrderType.ASC; AppUserFilter.Skip = 0; AppUserFilter.Take = int.MaxValue; List <AppUser> AppUsers = await AppUserService.List(AppUserFilter); var AppUserHeaders = new List <string[]>() { new string[] { "Id", "Username", "DisplayName", "Address", "Email", "Phone", "SexId", "Birthday", "Avatar", "PositionId", "Department", "OrganizationId", "ProvinceId", "Longitude", "Latitude", "StatusId", } }; List <object[]> AppUserData = new List <object[]>(); for (int i = 0; i < AppUsers.Count; i++) { var AppUser = AppUsers[i]; AppUserData.Add(new Object[] { AppUser.Id, AppUser.Username, AppUser.DisplayName, AppUser.Address, AppUser.Email, AppUser.Phone, AppUser.SexId, AppUser.Birthday, AppUser.Avatar, AppUser.PositionId, AppUser.Department, AppUser.OrganizationId, AppUser.ProvinceId, AppUser.Longitude, AppUser.Latitude, AppUser.StatusId, }); } excel.GenerateWorksheet("AppUser", AppUserHeaders, AppUserData); #endregion excel.Save(); } return(File(memoryStream.ToArray(), "application/octet-stream", "TicketOfUser.xlsx")); }
private IQueryable <TicketStatusDAO> DynamicOrder(IQueryable <TicketStatusDAO> query, TicketStatusFilter filter) { switch (filter.OrderType) { case OrderType.ASC: switch (filter.OrderBy) { case TicketStatusOrder.Id: query = query.OrderBy(q => q.Id); break; case TicketStatusOrder.Name: query = query.OrderBy(q => q.Name); break; case TicketStatusOrder.OrderNumber: query = query.OrderBy(q => q.OrderNumber); break; case TicketStatusOrder.ColorCode: query = query.OrderBy(q => q.ColorCode); break; case TicketStatusOrder.Status: query = query.OrderBy(q => q.StatusId); break; case TicketStatusOrder.Used: query = query.OrderBy(q => q.Used); break; } break; case OrderType.DESC: switch (filter.OrderBy) { case TicketStatusOrder.Id: query = query.OrderByDescending(q => q.Id); break; case TicketStatusOrder.Name: query = query.OrderByDescending(q => q.Name); break; case TicketStatusOrder.OrderNumber: query = query.OrderByDescending(q => q.OrderNumber); break; case TicketStatusOrder.ColorCode: query = query.OrderByDescending(q => q.ColorCode); break; case TicketStatusOrder.Status: query = query.OrderByDescending(q => q.StatusId); break; case TicketStatusOrder.Used: query = query.OrderByDescending(q => q.Used); break; } break; } query = query.Skip(filter.Skip).Take(filter.Take); return(query); }
private async Task <List <TicketStatus> > DynamicSelect(IQueryable <TicketStatusDAO> query, TicketStatusFilter filter) { List <TicketStatus> TicketStatuses = await query.Select(q => new TicketStatus() { Id = filter.Selects.Contains(TicketStatusSelect.Id) ? q.Id : default(long), Name = filter.Selects.Contains(TicketStatusSelect.Name) ? q.Name : default(string), OrderNumber = filter.Selects.Contains(TicketStatusSelect.OrderNumber) ? q.OrderNumber : default(long), ColorCode = filter.Selects.Contains(TicketStatusSelect.ColorCode) ? q.ColorCode : default(string), StatusId = filter.Selects.Contains(TicketStatusSelect.Status) ? q.StatusId : default(long), Used = filter.Selects.Contains(TicketStatusSelect.Used) ? q.Used : default(bool), Status = filter.Selects.Contains(TicketStatusSelect.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(TicketStatuses); }
public async Task <ActionResult> Import(IFormFile file) { if (!ModelState.IsValid) { throw new BindException(ModelState); } TicketFilter TicketFilter = new TicketFilter { Skip = 0, Take = int.MaxValue, Selects = TicketSelect.ALL }; List <Ticket> Tickets = await TicketService.List(TicketFilter); TicketStatusFilter TicketStatusFilter = new TicketStatusFilter { Skip = 0, Take = int.MaxValue, Selects = TicketStatusSelect.ALL }; List <TicketStatus> TicketStatuses = await TicketStatusService.List(TicketStatusFilter); AppUserFilter UserFilter = new AppUserFilter { Skip = 0, Take = int.MaxValue, Selects = AppUserSelect.ALL }; List <AppUser> Users = await AppUserService.List(UserFilter); List <TicketOfUser> TicketOfUsers = new List <TicketOfUser>(); using (ExcelPackage excelPackage = new ExcelPackage(file.OpenReadStream())) { ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets.FirstOrDefault(); if (worksheet == null) { return(Ok(TicketOfUsers)); } int StartColumn = 1; int StartRow = 1; int IdColumn = 0 + StartColumn; int NotesColumn = 1 + StartColumn; int UserIdColumn = 2 + StartColumn; int TicketIdColumn = 3 + StartColumn; int TicketStatusIdColumn = 4 + StartColumn; for (int i = StartRow; i <= worksheet.Dimension.End.Row; i++) { if (string.IsNullOrEmpty(worksheet.Cells[i + StartRow, StartColumn].Value?.ToString())) { break; } string IdValue = worksheet.Cells[i + StartRow, IdColumn].Value?.ToString(); string NotesValue = worksheet.Cells[i + StartRow, NotesColumn].Value?.ToString(); string UserIdValue = worksheet.Cells[i + StartRow, UserIdColumn].Value?.ToString(); string TicketIdValue = worksheet.Cells[i + StartRow, TicketIdColumn].Value?.ToString(); string TicketStatusIdValue = worksheet.Cells[i + StartRow, TicketStatusIdColumn].Value?.ToString(); TicketOfUser TicketOfUser = new TicketOfUser(); TicketOfUser.Notes = NotesValue; Ticket Ticket = Tickets.Where(x => x.Id.ToString() == TicketIdValue).FirstOrDefault(); TicketOfUser.TicketId = Ticket == null ? 0 : Ticket.Id; TicketOfUser.Ticket = Ticket; TicketStatus TicketStatus = TicketStatuses.Where(x => x.Id.ToString() == TicketStatusIdValue).FirstOrDefault(); TicketOfUser.TicketStatusId = TicketStatus == null ? 0 : TicketStatus.Id; TicketOfUser.TicketStatus = TicketStatus; AppUser User = Users.Where(x => x.Id.ToString() == UserIdValue).FirstOrDefault(); TicketOfUser.UserId = User == null ? 0 : User.Id; TicketOfUser.User = User; TicketOfUsers.Add(TicketOfUser); } } TicketOfUsers = await TicketOfUserService.Import(TicketOfUsers); if (TicketOfUsers.All(x => x.IsValidated)) { return(Ok(true)); } else { List <string> Errors = new List <string>(); for (int i = 0; i < TicketOfUsers.Count; i++) { TicketOfUser TicketOfUser = TicketOfUsers[i]; if (!TicketOfUser.IsValidated) { string Error = $"Dòng {i + 2} có lỗi:"; if (TicketOfUser.Errors.ContainsKey(nameof(TicketOfUser.Id))) { Error += TicketOfUser.Errors[nameof(TicketOfUser.Id)]; } if (TicketOfUser.Errors.ContainsKey(nameof(TicketOfUser.Notes))) { Error += TicketOfUser.Errors[nameof(TicketOfUser.Notes)]; } if (TicketOfUser.Errors.ContainsKey(nameof(TicketOfUser.UserId))) { Error += TicketOfUser.Errors[nameof(TicketOfUser.UserId)]; } if (TicketOfUser.Errors.ContainsKey(nameof(TicketOfUser.TicketId))) { Error += TicketOfUser.Errors[nameof(TicketOfUser.TicketId)]; } if (TicketOfUser.Errors.ContainsKey(nameof(TicketOfUser.TicketStatusId))) { Error += TicketOfUser.Errors[nameof(TicketOfUser.TicketStatusId)]; } Errors.Add(Error); } } return(BadRequest(Errors)); } }
private IQueryable <TicketStatusDAO> OrFilter(IQueryable <TicketStatusDAO> query, TicketStatusFilter filter) { if (filter.OrFilter == null || filter.OrFilter.Count == 0) { return(query); } IQueryable <TicketStatusDAO> initQuery = query.Where(q => false); foreach (TicketStatusFilter TicketStatusFilter in filter.OrFilter) { IQueryable <TicketStatusDAO> queryable = query; if (TicketStatusFilter.Id != null) { queryable = queryable.Where(q => q.Id, TicketStatusFilter.Id); } if (TicketStatusFilter.Name != null) { queryable = queryable.Where(q => q.Name, TicketStatusFilter.Name); } if (TicketStatusFilter.OrderNumber != null) { queryable = queryable.Where(q => q.OrderNumber, TicketStatusFilter.OrderNumber); } if (TicketStatusFilter.ColorCode != null) { queryable = queryable.Where(q => q.ColorCode, TicketStatusFilter.ColorCode); } if (TicketStatusFilter.StatusId != null) { queryable = queryable.Where(q => q.StatusId, TicketStatusFilter.StatusId); } initQuery = initQuery.Union(queryable); } return(initQuery); }
private IQueryable <TicketStatusDAO> DynamicFilter(IQueryable <TicketStatusDAO> query, TicketStatusFilter 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); }