using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Tango.BL; using Tango.BL.Entities; using Tango.BL.Enumerations; using Tango.Core.Helpers; using Tango.Documents; namespace Tango.CatalogImporter { class Program { private class CatalogItem { public int Code { get; set; } public int Red { get; set; } public int Green { get; set; } public int Blue { get; set; } public String S1 { get; set; } public String Group { get; set; } public float Cyan { get; set; } public float Magenta { get; set; } public float Yellow { get; set; } public float Black { get; set; } public float L { get; set; } public float A { get; set; } public float B { get; set; } public int GamutRegion { get; set; } } static void Main(string[] args) { ExcelReader reader = new ExcelReader(AssemblyHelper.GetCurrentAssemblyFolder() + "\\Catalog.xlsx"); var items = reader.GetDataByIndex("400ColorsCat", 2); reader.Dispose(); Console.Write("Please enter the catalog name: "); String catalog_name = Console.ReadLine(); if (!String.IsNullOrWhiteSpace(catalog_name)) { using (ObservablesContext db = ObservablesContext.CreateDefault(new Core.DataSource() { Address = "localhost\\SQLEXPRESS", Catalog = "Tango", Type = Core.DataSourceType.SQLServer, UserName = "Roy", Password = "Aa123456", IntegratedSecurity = true, })) { ColorCatalog catalog = new ColorCatalog(); catalog.Name = catalog_name; foreach (var group in items.GroupBy(x => x.Group)) { int nameCounter = 1; ColorCatalogsGroup g = new ColorCatalogsGroup(); g.Name = group.First().Group; g.Description = g.Name; catalog.ColorCatalogsGroups.Add(g); foreach (var item in group) { var catalogItem = new ColorCatalogsItem(); catalogItem.Code = item.Code; catalogItem.Red = item.Red; catalogItem.Green = item.Green; catalogItem.Blue = item.Blue; catalogItem.Cyan = item.Cyan; catalogItem.Magenta = item.Magenta; catalogItem.Yellow = item.Yellow; catalogItem.Black = item.Black; catalogItem.L = item.L; catalogItem.A = item.A; catalogItem.B = item.B; catalogItem.ProcessParametersTableIndex = item.GamutRegion; catalogItem.Name = item.Group + nameCounter++; catalogItem.Description = catalogItem.Name; g.ColorCatalogsItems.Add(catalogItem); Console.WriteLine($"Added catalog item {catalogItem.Name}..."); } } db.ColorCatalogs.Add(catalog); db.SaveChanges(); Console.WriteLine("Done"); Console.ReadLine(); } } else { throw new NotImplementedException(); } } } }