public void Process(NCrawler.Crawler crawler, NCrawler.PropertyBag propertyBag) { String uri = propertyBag.Step.Uri.ToString(); try { ImportedItem item = new ImportedItem(); item.ImportHash = this.siteHash; item.Guid = System.Guid.NewGuid().ToString(); item.SubscriptionId = this.siteGuid; item.ContentType = propertyBag.ContentType; item.ContentEncoding = propertyBag.ContentEncoding; item.Expires = UtcDateTime.Now.AddHours(6); item.Inserted = UtcDateTime.Now; item.Title = propertyBag.Title; item.Uri = propertyBag.Step.Uri.ToString(); ImportedItemDao dao = new ImportedItemDao(); using (Transaction tx = new Transaction()) { dao.Save<ImportedItem>(item); tx.Commit(); } } catch (Exception e) { Logging.Database.Write("import-error", "Unexpected exception importing url:" + uri + ", stack:" + e.StackTrace); } }
private async Task AddEmployeeToItemAsync(Item item, ImportedItem importedItem, List <Employee> employeeList) { var owner = await _context.Employee.FirstOrDefaultAsync(employee => employee.EmployeeName == importedItem.OwnerName); if (owner == null) { owner = employeeList.FirstOrDefault(employee => employee.EmployeeName == importedItem.OwnerName); } if (owner != null) { item.EmployeeId = owner.EmployeeId; } else { var newEmployee = new Employee { EmployeeName = importedItem.OwnerName }; var insertedRow = await _context.Employee.AddAsync(newEmployee); employeeList.Add(insertedRow.Entity); item.EmployeeId = insertedRow.Entity.EmployeeId; insertedRow.State = EntityState.Detached; } }
public static ImportType GetImportItemType(ImportedItem item) { ImportType result; if (item.ContentType != null) { if (item.ContentType.Contains("text/html")) result = ImportType.Page; else if (item.ContentType.Contains("css")) result = ImportType.Css; else if (item.ContentType.Contains("javascript")) result = ImportType.Javascript; else if (item.ContentType.Contains("image/")) result = ImportType.Image; else if (item.ContentType.Contains("application/pdf")) result = ImportType.Document; else if (item.ContentType.Contains("application/")) result = ImportType.Unknown; else { if (!String.IsNullOrWhiteSpace(item.ContentType)) Logging.Database.Write("import-manager", "Detected unknown content type:" + item.ContentType); result = ImportType.Unknown; } } else { Logging.Database.Write("import-manager", "Could not determine the content type for " + item.Uri); result = ImportType.Unknown; } return result; }
private void FixedUpdate() { fixedUpdateModuloCounter = (fixedUpdateModuloCounter + 1) % 50; if (fixedUpdateModuloCounter == 0) { ImportedItem item = PickItem(); ScreenSegment segment = PickScreenSegment(); ThrowItem(item, segment); } }
public void FinalPriceTest() { AbstractItem item = new Item(Enums.Category.BOOK, true, 11.25m); item = new ImportedItem(item); decimal result = 11.85m; Assert.AreEqual(result, item.FinalPrice); AbstractItem anotherItem = new Item(Enums.Category.BOOK, true, 0m); anotherItem = new ImportedItem(anotherItem); decimal anotherResult = 0.00m; Assert.AreEqual(anotherResult, anotherItem.FinalPrice); }
public void ShowImportedItem() { if (pdeContent == null || pdeContent.ExportData.Items == null) { dgvImportItems.DataSource = null; return; } dgvImportItems.AutoGenerateColumns = false; List <ImportedItem> listItem = new List <ImportedItem>(); foreach (DomainExportItem item in pdeContent.ExportData.Items) { //TreeNode domainNode = trvImportData.Nodes[0].Nodes.Add(item.DomainName); foreach (ExportItem node in item.Items) { ImportedItem itemImport = new ImportedItem(); itemImport.DomainName = item.DomainName; itemImport.ItemName = node.TreeNodeName; itemImport.Selected = node.Selected; if (node.TreeNodeName.EndsWith(BaseProntoMarkup.KeySelect) && !node.TreeNodeName.Contains(BaseProntoMarkup.KeyTable)) { itemImport.ItemType = "Field"; listItem.Add(itemImport); } if (node.TreeNodeName.EndsWith(BaseProntoMarkup.KeyTable)) { itemImport.ItemType = "Table"; listItem.Add(itemImport); } if (node.MapType == MapType.Chart) { itemImport.ItemType = "Chart"; listItem.Add(itemImport); } } } dgvImportItems.AutoGenerateColumns = false; ColSelect.DataPropertyName = "Selected"; ColDomainName.DataPropertyName = "DomainName"; ColItemType.DataPropertyName = "ItemType"; ColItemName.DataPropertyName = "ItemName"; BindingSource dataSource = new BindingSource(); dataSource.DataSource = listItem; dgvImportItems.DataSource = dataSource; }
public void MutipleTaxesFinalPriceTest() { AbstractItem item = new Item(Enums.Category.BOOK, true, 47.50m); item = new ImportedItem(item); item = new TaxedItem(item); decimal result = 54.65m; Assert.AreEqual(result, item.FinalPrice); AbstractItem anotherItem = new Item(Enums.Category.BOOK, true, 0m); anotherItem = new ImportedItem(anotherItem); decimal anotherResult = 0.00m; Assert.AreEqual(anotherResult, anotherItem.FinalPrice); }
/// <summary> /// Reads a row and parses the data /// </summary> /// <param name="rowCount"></param> /// <returns></returns> private ImportedItem ReadRow(int rowCount) { var importedItem = new ImportedItem(); var yellowNumber = workSheet.Cells[rowCount, 1].Value; importedItem.YellowNumber = Convert.ToInt32(yellowNumber); importedItem.InventoryNumber = (string)workSheet.Cells[rowCount, 2].Value; importedItem.OldInventoryNumber = (string)workSheet.Cells[rowCount, 3].Value; importedItem.Name = (string)workSheet.Cells[rowCount, 4].Value; importedItem.SerialNumber = (string)workSheet.Cells[rowCount, 5].Value; importedItem.OwnerName = (string)workSheet.Cells[rowCount, 8].Value; return(importedItem); }
public void SaletaxTest() { AbstractItem item = new Item(Enums.Category.BOOK, true, 11.25m); item = new ImportedItem(item); decimal result = 0.60m; Assert.AreEqual(result, item.SaleTax); AbstractItem anotherItem = new Item(Enums.Category.BOOK, true, 0m); anotherItem = new ImportedItem(anotherItem); decimal anotherResult = 0.00m; Assert.AreEqual(anotherResult, anotherItem.SaleTax); }
// Start is called before the first frame update void Start() { spawnPoint = new Vector3(this.transform.position.x, this.transform.position.y + 0.5f, this.transform.position.z - 0.5f); broker = brokerHolder.GetComponent <Broker>(); itemsCount = throwableItems.Length; items = new ImportedItem[itemsCount]; for (int i = 0; i < itemsCount; i++) { items[i] = new ImportedItem(throwableItems[i]); } InitializeProbabilities(); }
private void ThrowItem(ImportedItem item, ScreenSegment segment) { GameObject spawnedObject = Instantiate(item.gameObject, spawnPoint, transform.rotation); broker.Register(segment, spawnedObject); ItemProperties properties = item.itemProperties; Rigidbody rigidBody = spawnedObject.GetComponent <Rigidbody>(); rigidBody.mass = properties.mass; Vector3 side; Vector3 up; Vector3 towards; switch (segment) { case ScreenSegment.TOP_LEFT: side = properties.forceSide * Vector3.left; up = properties.forceUpHigh * Vector3.up; towards = properties.forceBack * Vector3.back; break; case ScreenSegment.BOTTOM_LEFT: side = properties.forceSide * Vector3.left; up = properties.forceUpLow * Vector3.up; towards = properties.forceBack * Vector3.back; break; case ScreenSegment.TOP_RIGHT: side = properties.forceSide * Vector3.right; up = properties.forceUpHigh * Vector3.up; towards = properties.forceBack * Vector3.back; break; default: side = properties.forceSide * Vector3.right; up = properties.forceUpLow * Vector3.up; towards = properties.forceBack * Vector3.back; break; } rigidBody.AddForce(side + up + towards); }
private void AddGridItem(ImportedItem e) { Dispatcher.Invoke(() => { try { lock (lockbox) { importedItemsList.Add(e); GridImportedItems.RefreshData(); GridImportedItems.CurrentItem = GridImportedItems.GetRowByListIndex((GridImportedItems.ItemsSource as ICollection).Count - 1); } } catch { } }); }
/// <summary> /// Validates the read item /// </summary> /// <param name="importedItem"></param> /// <returns></returns> private bool ValidateItem(ImportedItem importedItem) { if (importedItem == null) { return(false); } if (!importedItem.YellowNumber.HasValue && string.IsNullOrEmpty(importedItem.InventoryNumber) && string.IsNullOrEmpty(importedItem.OldInventoryNumber) && string.IsNullOrEmpty(importedItem.SerialNumber)) { return(false); } if (string.IsNullOrEmpty(importedItem.Name)) { return(false); } return(true); }
public void MultipleSaletaxTest() { AbstractItem item = new Item(Enums.Category.BOOK, true, 47.50m); item = new ImportedItem(item); item = new TaxedItem(item); decimal result = 7.15m; Assert.AreEqual(result, item.SaleTax); AbstractItem nexeItem = new Item(Enums.Category.BOOK, true, 47.50m); nexeItem = new TaxedItem(nexeItem); nexeItem = new ImportedItem(nexeItem); decimal nextResult = 7.15m; Assert.AreEqual(nextResult, nexeItem.SaleTax); AbstractItem anotherItem = new Item(Enums.Category.BOOK, true, 0m); anotherItem = new TaxedItem(anotherItem); anotherItem = new ImportedItem(anotherItem); decimal anotherResult = 0.00m; Assert.AreEqual(anotherResult, anotherItem.SaleTax); }
/// <summary> /// Downloads the page content and parses it /// </summary> /// <param name="pagename"></param> /// <param name="item"></param> /// <returns></returns> public static CmsPage GetPage(String defaultTemplate, String culture, String pagename, Boolean replacePhoneNumber, ImportedItem item, Dictionary<CmsUrl, int> cssUses, Dictionary<CmsUrl, int> jsUses) { CmsUrl uri = new CmsUrl(item.Uri); String html = Encoding.UTF8.GetString(SimpleWebClient.GetResponse(uri.ToUri())); HtmlAgilityPack.HtmlDocument htmldoc = new HtmlAgilityPack.HtmlDocument(); htmldoc.OptionFixNestedTags = true; htmldoc.LoadHtml(html); HtmlNode titleNode = htmldoc.DocumentNode.SelectSingleNode("//title"); HtmlNode bodyNode = htmldoc.DocumentNode.SelectSingleNode("//body"); String description = ""; String keywords = ""; StringBuilder otherMetaTags = new StringBuilder(); HtmlNodeCollection metaNodes = htmldoc.DocumentNode.SelectNodes("//meta"); foreach (HtmlNode node in metaNodes) { if (node.OuterHtml.ToLower().Contains("description")) description = node.Attributes["content"].Value; else if (node.OuterHtml.ToLower().Contains("keywords")) keywords = node.Attributes["content"].Value; else otherMetaTags.AppendLine(node.OuterHtml); } StringBuilder inlineScripts = new StringBuilder(); HtmlNodeCollection scriptTags = htmldoc.DocumentNode.SelectNodes("//head//script"); if ((scriptTags != null) && (scriptTags.Count > 0)) { foreach (HtmlNode node in scriptTags) { if (!node.OuterHtml.ToLower().Contains("src")) inlineScripts.AppendLine(node.OuterHtml); else { //track the # of script tags } } } StringBuilder inlineCss = new StringBuilder(); HtmlNodeCollection cssTags = htmldoc.DocumentNode.SelectNodes("//head//style"); if ((cssTags != null) && (cssTags.Count > 0)) { foreach (HtmlNode node in cssTags) { inlineCss.AppendLine(node.OuterHtml); } } StringBuilder bodyOptions = new StringBuilder(); foreach (HtmlAttribute attribute in bodyNode.Attributes) { bodyOptions.AppendFormat("{0}=\"{1}\" ", attribute.Name, attribute.Value); } String path = uri.Path; if (path.EndsWith("/")) path = path + GooeyConfigManager.DefaultPageName; String body = bodyNode.InnerHtml; body = "<!-- nomarkup-begin -->\r\n" + body + "\r\n<!-- nomarkup-end -->"; body = body + "<!-- Imported by Gooeycms Import Tool. Site:" + item.Uri + " at " + UtcDateTime.Now.ToString() + " -->\r\n"; //If a company phone number has been specified, find any instances of a phone number //on the site and replace it with the phone tag if (replacePhoneNumber) body = RegexHelper.ReplacePhoneNumbers(body, "{phone}"); CmsPage page = new CmsPage(); page.SubscriptionId = item.SubscriptionId; page.Author = "Site Importer"; page.Content = body; page.Culture = culture; page.DateSaved = UtcDateTime.Now; page.Description = description; page.Guid = System.Guid.NewGuid().ToString(); page.Url = path; page.UrlHash = TextHash.MD5(page.Url).Value; page.Template = defaultTemplate; page.Keywords = keywords; page.Title = (titleNode != null) ? titleNode.InnerText : ""; page.JavascriptInline = inlineScripts.ToString(); page.CssInline = inlineCss.ToString(); page.OnBodyLoad = bodyOptions.ToString().Trim(); return page; }
public void AddImportedItem(IMetadata metadata, bool isUpdate) { var responseItem = new ImportedItem(metadata, isUpdate); _importedItems.Add(responseItem); }
public void AddImportedItem(int excelRow, IMetadata metadata, bool isUpdate) { var responseItem = new ImportedItem(excelRow, metadata, isUpdate); _importedItems.Add(responseItem); }