/// <summary> /// Ceate process definition /// </summary> /// <param name="definition"></param> /// <param name="status"></param> /// <param name="version"></param> /// <param name="accounts"></param> /// <exception cref="NotImplementedException"></exception> public void Create(ProcessDefinition definition, ProcessDefStatusEnum status, int version, params AccountData[] accounts) { Md5CalcVisitor visitor = new Md5CalcVisitor(); definition.Accept(visitor); string md5 = visitor.CalculateMd5(); if (_collection.Find(f => f.FlowId == definition.FlowId && string.Equals(f.Md5, md5)).Count() != 0) { throw new ArgumentException($"Persistend Workflow definition FlowId={definition.FlowId} Md5={md5} already exists."); } List <AccountData> accountsList = new EditableList <AccountData>(); if (accounts != null) { accountsList.AddRange(accounts); } ProcessDefinitionPersistence pd = new ProcessDefinitionPersistence { Id = definition.Id, FlowId = definition.FlowId, Version = version, Name = definition.Name, Description = definition.Description, LastModified = DateTime.UtcNow, Status = (int)status, Md5 = md5, JsonProcessDefinition = ToBase64(JsonConvert.SerializeObject(definition)), Accounts = accountsList }; _collection.InsertOne(pd); }
public async Task <List <ComboboxItemDto> > GetServiceTagForCombo() { var serviceTag = await SettingManager.GetSettingValueAsync(AppSettings.Mall.ServiceTag); string[] tagItems = serviceTag.Split(','); List <ComboboxItemDto> comboboxItemDtos = new EditableList <ComboboxItemDto>(); comboboxItemDtos.AddRange(tagItems.Select(tag => new ComboboxItemDto(tag, tag))); return(comboboxItemDtos); }
public async Task <List <slideimage> > GetSlideImage() { string host = SettingManager.GetSettingValue(AppSettings.Wuye.Host); var query = _slideimageRepository.GetAll(); var list = await query.OrderByDescending(t => t.Sort).ToListAsync(); List <slideimage> slideimages = new EditableList <slideimage>(); slideimages.AddRange(list.Select(slideImage => new slideimage() { imgUrl = host + slideImage.Thumbnail + "?width=640&height=300&mode=crop" })); return(slideimages); }
public IEnumerable <Folder> FolderPathToBreadcrumbs(string folderPath) { List <Folder> breadcrumbs = new EditableList <Folder>(); if (string.IsNullOrEmpty(folderPath)) { breadcrumbs.Add(Folder.Root); } else { var folderNames = folderPath.Split("\\".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); breadcrumbs.AddRange(GenerateBreadcrumbsFromFolderNames(folderNames)); } return(breadcrumbs); }
/// <summary> /// Осуществляет загрузку данных по обсервациям и слияние с основным хранилищем пользовательских данных /// </summary> /// <param name="mainActivityParameters"></param> /// <param name="observations"></param> /// <param name="needMerge"></param> public static EditableList <ActivityParameter> LoadActivityParameters(this EditableList <ActivityParameter> mainActivityParameters, List <long> observations, bool needMerge) { var activityParameters = new EditableList <ActivityParameter>(); var observationList = observations.GetObservations(); using (var manager = DbManagerFactory.Factory.Create(ModelUserContext.Instance)) { var acc = ActivityParameter.Accessor.Instance(null); activityParameters.AddRange(acc.SelectDetailList(manager, observationList)); } if (needMerge) { mainActivityParameters.Merge(activityParameters); } activityParameters.AcceptChanges(); mainActivityParameters.AcceptChanges(); return(activityParameters); }
public HttpResponseMessage Get( ) { List <ICustomerExcelDto> result = new EditableList <ICustomerExcelDto>(); var customer = _customerQueryService.GetAll(); result.AddRange(customer.Select(p => new CustomerExcelDto { FirstName = p.FirstName, LastName = p.LastName, EmailAddress = p.EmailAddress, IsActive = p.IsActive?"فعال":"غیر فعال", })); HttpResponseMessage response; DataTable dt = new DataTable(); dt = result.ToDataTableExtension(); MemoryStream ms = new MemoryStream(); try { ExcelReader.WriteExcel(ms, dt); ms.Position = 0; response = new HttpResponseMessage { Content = new StreamContent(ms) }; response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") { FileName = "fefef.xlsx" }; response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream"); } catch (Exception ex) { response = new HttpResponseMessage { Content = new StringContent("Error: " + ex.Message) }; } return(response); }
public async Task <IEnumerable <DnsEndPoint> > GetAllEndpoints(string service, string tag, CancellationToken cancellationToken) { List <DnsEndPoint> results = new EditableList <DnsEndPoint>(); var serviceEndpoints = await _consulClient.Health.Service(service, tag, cancellationToken); if (serviceEndpoints.StatusCode == HttpStatusCode.NotFound) { Logger.Warn($"Couldn't find service: {service}/{tag}"); } else if (serviceEndpoints.StatusCode == HttpStatusCode.OK) { var endpoints = serviceEndpoints.Response .Where(i => !i.Checks.Any() || i.Checks.All(x => string.Equals(x.Status, "passing", StringComparison.InvariantCultureIgnoreCase) || string.Equals(x.Status, "warning", StringComparison.InvariantCultureIgnoreCase))) .Select(i => new DnsEndPoint(string.IsNullOrWhiteSpace(i.Service.Address) ? i.Service.Address : i.Node.Address, i.Service.Port == 0 ? 80 : i.Service.Port)) .ToList(); results.AddRange(endpoints); } return(results); }
public void SearchResultsShouldNotApplyFacetsIfTwoSetsOfFacetsSupplied() { //arrange var search = "test search"; var expectedrecord = new Models.SearchResult { Id = "testid", Name = "test location", Address = "test address", PostCode = "12345", Town = "test town", Region = "test region", Category = "test category" }; var expectedResult = new SearchServiceResult() { Data = new List<SearchResult> { expectedrecord } }; var facets = new List<SelectItem> { new SelectItem {Text = "Facet1", Selected = true}, new SelectItem {Text = "Facet2", Selected = false}, new SelectItem {Text = "Facet3", Selected = true}, new SelectItem {Text = "Face41", Selected = false} }; var facetsModal = new List<SelectItem> { new SelectItem {Text = "Facet1", Selected = true}, new SelectItem {Text = "Facet2", Selected = true}, new SelectItem {Text = "Facet3", Selected = false}, new SelectItem {Text = "Face41", Selected = false} }; var expectedTotalCount = facets.Count(); var expectedSelectedCount = 0; //As we are passing content that should never be supplied, we want to never select facets to filter by. var facetsList = new EditableList<string>(); facetsList.AddRange(facets.Select(x => x.Text)); expectedResult.Facets = facetsList; mockSession.Setup(x => x.GetUserSearch()).Returns(search); mockService.Setup(x => x.GetPaginatedResult(It.IsAny<string>(), It.IsAny<int>(), It.IsAny<int>(), It.IsAny<string>(), It.IsAny<bool>())).ReturnsAsync(expectedResult).Verifiable(); mockValidation.Setup(x => x.CleanText(It.IsAny<string>(), It.IsAny<bool>(), It.IsAny<List<string>>(), It.IsAny<HashSet<char>>())).Returns(search); mockUrlHelper.Setup(x => x.Action(It.IsAny<UrlActionContext>())).Returns((UrlActionContext uac) => $"{uac.Controller}/{uac.Action}#{uac.Fragment}?" + string.Join("&", new RouteValueDictionary(uac.Values).Select(p => p.Key + "=" + p.Value))); var tempData = new TempDataDictionary(new DefaultHttpContext(), Mock.Of<ITempDataProvider>()); tempData["search"] = ""; //act var sut = new SearchController(mockService.Object, mockSession.Object, mockSettings.Object, mockValidation.Object); sut.Url = mockUrlHelper.Object; sut.TempData = tempData; var result = sut.SearchResults(search, facets, facetsModal); //assert var viewResult = result as ViewResult; var model = viewResult.Model as SearchResultsVM; model.ShowResults.Should().Be(true); //check number of facets is correct model.Facets.Count.Should().Be(expectedTotalCount); model.FacetsModal.Count.Should().Be(expectedTotalCount); model.Facets.Count(x => x.Selected).Should().Be(expectedSelectedCount); model.FacetsModal.Count(x => x.Selected).Should().Be(expectedSelectedCount); //check the selected facets are correct - in this case no facets should be selected var selected = model.Facets.Where(x => x.Selected).Select(x => x.Text).ToList(); selected.Should().BeEmpty(); var selectedModal = model.FacetsModal.Where(x => x.Selected).Select(x => x.Text).ToList(); selectedModal.Should().BeEmpty(); mockService.Verify(); }