Exemplo n.º 1
0
        public IActionResult ExcelExport()
        {
            // https://steemit.com/utopian-io/@haig/how-to-create-excel-spreadsheets-using-npoi

            var workbook = new HSSFWorkbook();
            var sheet    = workbook.CreateSheet("Sheet 1");

            IFont fontBold = workbook.CreateFont();

            fontBold.Boldweight = (short)FontBoldWeight.Bold;

            var headerCellStyle = workbook.CreateCellStyle();

            headerCellStyle.SetFont(fontBold);

            var   header = sheet.CreateRow(0);
            ICell col1   = header.CreateCell(0); col1.CellStyle = headerCellStyle; col1.SetCellValue("Fullname");
            ICell col2   = header.CreateCell(1); col2.CellStyle = headerCellStyle; col2.SetCellValue("Country");
            ICell col3   = header.CreateCell(2); col3.CellStyle = headerCellStyle; col3.SetCellValue("Email");
            ICell col4   = header.CreateCell(3); col4.CellStyle = headerCellStyle; col4.SetCellValue("Numbers");
            ICell col5   = header.CreateCell(4); col5.CellStyle = headerCellStyle; col5.SetCellValue("Datetime");
            ICell col6   = header.CreateCell(5); col6.CellStyle = headerCellStyle; col6.SetCellValue("Sentence");

            var currencyCellStyle = workbook.CreateCellStyle();

            currencyCellStyle.Alignment  = HorizontalAlignment.Right;
            currencyCellStyle.DataFormat = workbook.CreateDataFormat().GetFormat("₺#.##0,00");;

            int length = 50;

            for (int i = 0; i < length; i++)
            {
                var row = sheet.CreateRow(i + 1);
                row.CreateCell(0).SetCellValue(NameData.GetFullName());
                row.CreateCell(1).SetCellValue(PlaceData.GetCountry());
                row.CreateCell(2).SetCellValue(NetworkData.GetEmail());

                ICell numberCell = row.CreateCell(3);
                numberCell.CellStyle = currencyCellStyle;
                numberCell.SetCellValue(NumberData.GetDouble() * 1000);

                row.CreateCell(4).SetCellValue(DateTimeData.GetDatetime().ToShortDateString());
                row.CreateCell(5).SetCellValue(TextData.GetSentence());
            }

            var   totalRow  = sheet.CreateRow(length + 1);
            ICell totalCell = totalRow.CreateCell(3);

            ICellStyle totalCellStyle = workbook.CreateCellStyle();

            totalCellStyle.CloneStyleFrom(sheet.GetRow(length).GetCell(3).CellStyle);

            totalCell.CellStyle = totalCellStyle;
            totalCell.CellStyle.SetFont(fontBold);
            totalCell.SetCellType(CellType.Formula);
            totalCell.CellFormula = $"SUM(D2:D{length + 1})";   // Headercell den sonrası.

            string root     = _environment.WebRootPath;
            string folder   = Path.Combine(root, "Excels");
            string filename = "f_" + Guid.NewGuid().ToString() + ".xls";
            string file     = Path.Combine(folder, filename);

            if (Directory.Exists(folder) == false)
            {
                Directory.CreateDirectory(folder);
            }

            using (var fileStream = new FileStream(file, FileMode.Create))
            {
                workbook.Write(fileStream);
            }

            return(File("~/Excels/" + filename, "application/vnd.ms-excel"));
        }
Exemplo n.º 2
0
        public void Generate()
        {
            var random = new Random();

            client.PutIndex(new RavenDocumentsByEntityName());
            client.PutIndex(new OrdersByCompany());
            client.PutIndex(new OrdersTotals());
            client.PutIndex(new ProductSales());
            client.PutIndex(new OrdersByEmployeeAndCompany());
            client.PutIndex(new OrdersByEmployeeAndCompanyReduce());

            var nextOrderId    = 1;
            var nextCompanyId  = 1;
            var nextProductId  = 1;
            var nextEmployeeId = 1;

            for (var it = 0; it < numberOfIterations; it++)
            {
                var entities = new List <object>();

                for (var i = 0; i < NumberOfOrdersPerIteration; i++)
                {
                    entities.Add(new Order
                    {
                        Id      = "orders/" + nextOrderId++,
                        Company = "companies/" + random.Next(1, ExpectedNumberOfCompanies - 1),
                        Lines   = CollectionData.GetElement(10, new List <OrderLine>
                        {
                            new OrderLine
                            {
                                Product      = "products/" + random.Next(1, ExpectedNumberOfProducts - 1),
                                Quantity     = random.Next(1, 100),
                                PricePerUnit = random.Next(1000)
                            }
                        }).ToList(),
                        Employee  = "employees/" + random.Next(1, ExpectedNumberOfEmployees - 1),
                        OrderedAt = DateTimeData.GetDatetime(),
                        RequireAt = DateTime.UtcNow.AddDays(7),
                        ShipTo    = new Address
                        {
                            Country    = PlaceData.GetCountry(),
                            City       = PlaceData.GetCity(),
                            PostalCode = PlaceData.GetZipCode(),
                            Line1      = PlaceData.GetStreetName()
                        }
                    });
                }

                for (var i = 0; i < NumberOfCompaniesPerIteration; i++)
                {
                    entities.Add(new Company
                    {
                        Id      = "companies/" + nextCompanyId++,
                        Name    = NameData.GetCompanyName(),
                        Fax     = PhoneNumberData.GetInternationalPhoneNumber(),
                        Address = new Address
                        {
                            Country    = PlaceData.GetCountry(),
                            City       = PlaceData.GetCity(),
                            PostalCode = PlaceData.GetZipCode(),
                            Line1      = PlaceData.GetStreetName()
                        }
                    });
                }

                for (var i = 0; i < NumberOfEmployeesPerIteration; i++)
                {
                    entities.Add(new Employee
                    {
                        Id        = "employees/" + nextEmployeeId++,
                        Birthday  = DateTimeData.GetDatetime(),
                        FirstName = NameData.GetFirstName(),
                        LastName  = NameData.GetSurname(),
                        HomePhone = PhoneNumberData.GetPhoneNumber(),
                        HiredAt   = DateTimeData.GetDatetime(),
                        Address   = new Address
                        {
                            Country    = PlaceData.GetCountry(),
                            City       = PlaceData.GetCity(),
                            PostalCode = PlaceData.GetZipCode(),
                            Line1      = PlaceData.GetStreetName()
                        }
                    });
                }

                for (var i = 0; i < NumberOfProductsPerIteration; i++)
                {
                    entities.Add(new Product
                    {
                        Id           = "products/" + nextProductId++,
                        Category     = TextData.GetAlphabetical(5),
                        Name         = NameData.GetSurname(),
                        Discontinued = BooleanData.GetBoolean(),
                        PricePerUnit = NumberData.GetNumber()
                    });
                }

                client.PutEntities(entities);
            }
        }
Exemplo n.º 3
0
        protected override void Seed(MasterChefDbContext context)
        {
            if (context.Users.Any())
            {
                return;
            }

            var roleStore   = new RoleStore <IdentityRole>(context);
            var roleManager = new RoleManager <IdentityRole>(roleStore);

            //Roles
            var roles     = Settings.Default.Roles.Split(',');
            var adminRole = roles[0];
            var userRole  = roles[1];

            foreach (var role in roles)
            {
                roleManager.Create(new IdentityRole {
                    Name = role
                });
            }

            var userStore   = new UserStore <AppUser>(context);
            var userManager = new UserManager <AppUser>(userStore);

            // Images
            var defaultImage = new Image {
                Path = "~/Uploaded_Files/default.png"
            };
            var adminImage = new Image {
                Path = "~/Uploaded_Files/admin.jpg"
            };

            context.Images.AddOrUpdate(
                defaultImage,
                adminImage
                );

            context.SaveChanges();

            // Countries
            var json      = File.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + @"\App_Data\countries.json");
            var countries = JsonConvert.DeserializeObject <IEnumerable <Country> >(json);

            foreach (var country in countries)
            {
                context.Countries.Add(country);
            }

            //Ingredient Names
            var jsonIngredientNames = File.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + @"\App_Data\ingredients.json");
            var ingredientNames     = JsonConvert.DeserializeObject <IEnumerable <IngredientName> >(jsonIngredientNames);

            foreach (var name in ingredientNames)
            {
                context.IngredientNames.Add(name);
            }

            // Users
            var countryBulgaria = context.Countries.Local.Single(item => item.Name == "Bulgaria");
            var userAdmin       = new AppUser
            {
                UserName  = "******",
                Email     = "admin@admin",
                FirstName = NameData.GetFirstName(),
                LastName  = NameData.GetSurname(),
                Country   = countryBulgaria,
                Image     = adminImage
            };


            userManager.Create(userAdmin, userAdmin.UserName);
            userManager.AddToRole(userAdmin.Id, adminRole);

            for (int userIndex = 0; userIndex < 100; userIndex++)
            {
                bool isSuccess = false;

                while (!isSuccess)
                {
                    var firstName = NameData.GetFirstName();
                    var lastName  = NameData.GetSurname();
                    var userName  = firstName + "@" + lastName;

                    Country country = null;
                    while (country == null)
                    {
                        var countryName = PlaceData.GetCountry();
                        country = context.Countries.Local.SingleOrDefault(item => item.Name == countryName);
                    }

                    var user = new AppUser
                    {
                        UserName  = userName,
                        Email     = userName,
                        FirstName = firstName,
                        LastName  = lastName,
                        Country   = country,
                        Image     = new Image()
                        {
                            Path = string.Format("~/Uploaded_Files/Users/{0}.jpg", userIndex + 1)
                        }
                    };
                    isSuccess = userManager.Create(user, userName).Succeeded;
                    if (isSuccess)
                    {
                        userManager.AddToRole(user.Id, userRole);
                    }
                }
            }

            // Articles
            for (int i = 0; i < 15; i++)
            {
                var content   = TextData.GetSentences(30 + ((i + 1) * 7));
                var title     = TextData.GetSentence();
                var createdOn = DateTime.Now;

                var article = new Article
                {
                    Content   = content,
                    Title     = title,
                    CreatedOn = createdOn,
                    Creator   = userAdmin,
                    Image     = new Image()
                    {
                        Path = string.Format("~/Uploaded_Files/Users/{0}.jpg", i + 1)
                    }
                };

                context.Articles.Add(article);
            }

            context.SaveChanges();
        }