DataSeeder.cs 1.18 KB
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Web;
using Microsoft.AspNet.Identity;
using Microsoft.AspNet.Identity.Owin;
using Microsoft.Owin.Security;
using CWA.CpoOnline.Models;

namespace CWA.CpoOnline.Helpers
{
	public class DataSeeder
	{
		private readonly ApplicationUserManager _userManager;

		public DataSeeder(ApplicationUserManager userManager)
		{
			_userManager = userManager;
		}


		public async void SeedData()
		{
			SeedRoles();
			await SeedAdminAccount();
		}

		private void SeedRoles()
		{
			
		}

		public async Task<IEnumerable<string>> SeedAdminAccount()
		{
			var user = new ApplicationUser
			{
				UserName = WebConfig.SeedLogin,
				Email = WebConfig.SeedLogin,
				FirstName = "Seed Admin",
				LastName = "(Delete Me)",
				SessionUtcOffset = 0m,
				Created = DateTime.UtcNow,
				LastLogin = DateTime.UtcNow,
				Modified = DateTime.UtcNow
			};
			var result = await _userManager.CreateAsync(user, WebConfig.SeedPassword);

			if (result.Succeeded)
			{
				return new [] {"Successfully created Seed Admin (Create a real admin account and delete Seed Admin.)"};
			}
			return result.Errors;
		}



	}
}