public async Task <OperationDataResult <DropletsModel> > Index(DropletsRequestModel pnRequestModel) { try { DropletsModel dropletsPnModel = new DropletsModel(); IQueryable <Droplet> dropletsQuery = dbContext.Droplets.AsQueryable(); if (!string.IsNullOrEmpty(pnRequestModel.SortColumnName)) { if (pnRequestModel.IsSortDsc) { dropletsQuery = dropletsQuery .CustomOrderByDescending(pnRequestModel.SortColumnName); } else { dropletsQuery = dropletsQuery .CustomOrderBy(pnRequestModel.SortColumnName); } } else { dropletsQuery = dbContext.Droplets.OrderBy(x => x.Id); } if (!string.IsNullOrEmpty(pnRequestModel.Name)) { dropletsQuery = dropletsQuery.Where(x => x.DoUid.ToString().Contains(pnRequestModel.Name.ToLower()) || x.CustomerNo.ToString().Contains(pnRequestModel.Name.ToLower()) || x.PrivateIpV4.ToLower().Contains(pnRequestModel.Name.ToLower()) || x.PublicIpV4.ToLower().Contains(pnRequestModel.Name.ToLower()) || x.PublicIpV6.ToLower().Contains(pnRequestModel.Name.ToLower()) || x.DropletTags.Select(t => t.Tag.Name).Any(t => t.Contains(pnRequestModel.Name))); } var dropletsResult = await dropletsQuery.Where(x => x.WorkflowState != Constants.WorkflowStates.Removed) .Skip(pnRequestModel.Offset) .Take(pnRequestModel.PageSize) .ToListAsync(); List <DropletModel> droplets = mapper.Map <List <DropletModel> >(dropletsResult); dropletsPnModel.Total = await dbContext.Droplets.CountAsync(x => x.WorkflowState != Constants.WorkflowStates.Removed); dropletsPnModel.Droplets = droplets; return(new OperationDataResult <DropletsModel>(true, dropletsPnModel)); } catch (Exception e) { Trace.TraceError(e.Message); logger.LogError(e.Message); return(new OperationDataResult <DropletsModel>(false, localizationService.GetString("ErrorObtainingDropletsInfo") + e.Message)); } }
public async Task <OperationDataResult <DropletsModel> > Fetch(DropletsRequestModel pnRequestModel) { try { await digitalOceanManager.FetchDropletsAsync(UserId); return(await Index(pnRequestModel)); } catch (Exception e) { Trace.TraceError(e.Message); logger.LogError(e.Message); return(new OperationDataResult <DropletsModel>(false, localizationService.GetString("ErrorFetchingDropletsFromDO") + e.Message)); } }
public async Task <OperationDataResult <DropletsModel> > Upgrade(int dropletId, int imageId, DropletsRequestModel requestModel) { return(await dropletsService.Upgrade(dropletId, imageId, requestModel)); }
public async Task <OperationDataResult <DropletsModel> > Fetch(int id, DropletsRequestModel requestModel) { return(await dropletsService.Fetch(requestModel)); }
public async Task <OperationDataResult <DropletsModel> > Index(DropletsRequestModel requestModel) { return(await dropletsService.Index(requestModel)); }
public async Task <OperationDataResult <DropletsModel> > Upgrade(int dropletId, int imageId, DropletsRequestModel pnRequestModel) { try { await digitalOceanManager.RebuildDropletAsync(UserId, dropletId, imageId); return(await Index(pnRequestModel)); } catch (Exception e) { Trace.TraceError(e.Message); logger.LogError(e.Message); return(new OperationDataResult <DropletsModel>(false, localizationService.GetString("ErrorUpgradingDroplets") + e.Message)); } }