public async Task <IActionResult> Edit(string id, [Bind("Id,Name,Extension")] DataSourceConnector dataSourceConnector)
        {
            if (id != dataSourceConnector.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(dataSourceConnector);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!DataSourceConnectorExists(dataSourceConnector.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(dataSourceConnector));
        }
        public async Task <IActionResult> Create([Bind("Id,Name,Extension")] DataSourceConnector dataSourceConnector)
        {
            if (ModelState.IsValid)
            {
                _context.Add(dataSourceConnector);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(dataSourceConnector));
        }
Ejemplo n.º 3
0
        public static async Task Initialize(ApplicationDbContext context,
                                            UserManager <ApplicationUser> userManager,
                                            RoleManager <ApplicationRole> roleManager)
        {
            context.Database.EnsureCreated();

            //Seed Dataconnectors
            if (context.DataSourceConnectors.Count() == 0)
            {
                DataSourceConnector xmlConnector = new DataSourceConnector {
                    Name = "XML", Extension = "xml"
                };
                DataSourceConnector datConnector = new DataSourceConnector {
                    Name = "DAT", Extension = "dat"
                };
                DataSourceConnector csvConnector = new DataSourceConnector {
                    Name = "CSV", Extension = "csv"
                };
                DataSourceConnector txtConnector = new DataSourceConnector {
                    Name = "TXT", Extension = "txt"
                };

                await context.DataSourceConnectors.AddRangeAsync(new DataSourceConnector[] { xmlConnector, datConnector, csvConnector, txtConnector });

                await context.SaveChangesAsync();
            }

            //Seed Plan
            if (context.Plans.Count() == 0)
            {
                Plan freePlan = new Plan {
                    Name = "Free", TrialPeriod = 30, Price = 0
                };
                await context.Plans.AddAsync(freePlan);

                await context.SaveChangesAsync();
            }

            //Seed PlanDataConnector
            if (context.PlanDataConnectors.Count() == 0)
            {
                foreach (DataSourceConnector item in context.DataSourceConnectors)
                {
                    await context.PlanDataConnectors.AddAsync(new PlanDataConnector { Plan = context.Plans.First(), DataSourceConnector = item });
                }
                await context.SaveChangesAsync();
            }

            //Seed Organization
            if (context.Organizations.Count() == 0)
            {
                Organization ddOrganization = new Organization {
                    Name = "Data Decipher", SelectedPlan = context.Plans.First()
                };
                await context.Organizations.AddAsync(ddOrganization);

                await context.SaveChangesAsync();
            }

            //Seed Roles

            string ddAdminRole     = "DD Admin";
            string ddAdminRoleDesc = "This is the administrator role for Data Decipher";

            string superuserRole     = "Super User";
            string superuserRoleDesc = "Super user for Data Decipher";

            string userRole     = "User";
            string userRoleDesc = "User for Data Decipher";

            string password = "******";


            if (await roleManager.FindByNameAsync(ddAdminRole) == null)
            {
                await roleManager.CreateAsync(new ApplicationRole(ddAdminRole, ddAdminRoleDesc, DateTime.Now));
            }
            if (await roleManager.FindByNameAsync(superuserRole) == null)
            {
                await roleManager.CreateAsync(new ApplicationRole(superuserRole, superuserRoleDesc, DateTime.Now));
            }
            if (await roleManager.FindByNameAsync(userRole) == null)
            {
                await roleManager.CreateAsync(new ApplicationRole(userRole, userRoleDesc, DateTime.Now));
            }

            // Seed Users
            if (await userManager.FindByNameAsync("Admin") == null)
            {
                var user = new ApplicationUser
                {
                    UserName     = "******",
                    Email        = "*****@*****.**",
                    FirstName    = "Admin",
                    LastName     = "@datadecipher",
                    Organization = context.Organizations.First(),
                    Plan         = context.Plans.First()
                };

                var result = await userManager.CreateAsync(user);

                if (result.Succeeded)
                {
                    await userManager.AddPasswordAsync(user, password);

                    await userManager.AddToRoleAsync(user, ddAdminRole);
                }
            }

            if (await userManager.FindByNameAsync("Superuser") == null)
            {
                var user = new ApplicationUser
                {
                    UserName     = "******",
                    Email        = "*****@*****.**",
                    FirstName    = "Superuser",
                    LastName     = "@datadecipher",
                    Organization = context.Organizations.First(),
                    Plan         = context.Plans.First()
                };

                var result = await userManager.CreateAsync(user);

                if (result.Succeeded)
                {
                    await userManager.AddPasswordAsync(user, password);

                    await userManager.AddToRoleAsync(user, superuserRole);
                }
            }

            if (await userManager.FindByNameAsync("user") == null)
            {
                var user = new ApplicationUser
                {
                    UserName     = "******",
                    Email        = "*****@*****.**",
                    FirstName    = "User",
                    LastName     = "@datadecipher",
                    Organization = context.Organizations.First(),
                    Plan         = context.Plans.First()
                };

                var result = await userManager.CreateAsync(user);

                if (result.Succeeded)
                {
                    await userManager.AddPasswordAsync(user, password);

                    await userManager.AddToRoleAsync(user, userRole);
                }
            }
        }