Esempio n. 1
0
        //
        // GET: /DataSources/
        public ActionResult Index()
        {
            var model = new DataSourceIndexViewModel();

            model.CurrentUser      = new AppUser();
            model.DataSources      = new List <DataSource>();
            model.NewDataSource    = new _DataSourcesCreateViewModel();
            model.UpdateDataSource = new DataSource();

            var userEmail = HttpContext.User.Identity.Name;
            var user      = _context.AppUsers.SingleOrDefault(u => u.Email == userEmail);

            model.CurrentUser = user;
            model.NewDataSource.CurrentUser = user;

            model.IsSuperAdmin   = (user.Roles.Where(r => r.Name == "SuperAdmin")).Count() == 1;
            model.IsCompanyAdmin = (user.Roles.Where(r => r.Name == "CompanyAdmin")).Count() == 1;

            if (!model.IsSuperAdmin && !model.IsCompanyAdmin)
            {
                return(View("~/Views/Shared/Errors/Error_403.cshtml"));
            }

            var usersList = _context.AppUsers.ToList();

            List <AppUser> candidatsCompanyAdminList = new List <AppUser>();

            foreach (var item in usersList)
            {
                var role = item.Roles.ToList();
                if (role[0].Name == "CompanyAdmin")
                {
                    item.UserProfile = _context.UserProfiles.SingleOrDefault(x => x.Id == item.Id);
                    candidatsCompanyAdminList.Add(item);
                }
            }

            var companyCAList = candidatsCompanyAdminList.Select(r => new ListBoxItems()
            {
                Id = r.Id, Name = r.UserProfile.FirstName + " " + r.UserProfile.LastName
            }).ToList();

            ViewBag.CandidatsCompanyAdmin = new SelectList(companyCAList, "Id", "Name", 0);

            return(View(model));
        }
Esempio n. 2
0
        //public ActionResult Save(DataSource dataSource)
        public ActionResult Save(_DataSourcesCreateViewModel _viewModel)
        {
            if (!ModelState.IsValid)
            {
                var model = new DataSourceIndexViewModel();

                model.CurrentUser      = new AppUser();
                model.DataSources      = new List <DataSource>();
                model.NewDataSource    = new _DataSourcesCreateViewModel();
                model.UpdateDataSource = new DataSource();

                var userEmail = HttpContext.User.Identity.Name;
                var user      = _context.AppUsers.SingleOrDefault(u => u.Email == userEmail);

                model.CurrentUser = user;
                model.NewDataSource.CurrentUser = user;

                model.IsSuperAdmin   = (user.Roles.Where(r => r.Name == "SuperAdmin")).Count() == 1;
                model.IsCompanyAdmin = (user.Roles.Where(r => r.Name == "CompanyAdmin")).Count() == 1;

                if (!model.IsSuperAdmin && !model.IsCompanyAdmin)
                {
                    return(View("~/Views/Shared/Errors/Error_403.cshtml"));
                }

                var usersList = _context.AppUsers.ToList();

                List <AppUser> candidatsCompanyAdminList = new List <AppUser>();

                foreach (var item in usersList)
                {
                    var role = item.Roles.ToList();
                    if (role[0].Name == "CompanyAdmin")
                    {
                        item.UserProfile = _context.UserProfiles.SingleOrDefault(x => x.Id == item.Id);
                        candidatsCompanyAdminList.Add(item);
                    }
                }

                var companyCAList = candidatsCompanyAdminList.Select(r => new ListBoxItems()
                {
                    Id = r.Id, Name = r.UserProfile.FirstName + " " + r.UserProfile.LastName
                }).ToList();

                ViewBag.CandidatsCompanyAdmin = new SelectList(companyCAList, "Id", "Name", 0);

                return(View("Index", model));
            }

            if (_viewModel.NewDataSource.Id == 0)
            {
                _context.DataSources.Add(_viewModel.NewDataSource);
            }
            else
            {
                var dataSourceInDb = _context.DataSources.Single(c => c.Id == _viewModel.NewDataSource.Id);
                dataSourceInDb.Type             = _viewModel.NewDataSource.Type;
                dataSourceInDb.UserName         = _viewModel.NewDataSource.UserName;
                dataSourceInDb.ServerName       = _viewModel.NewDataSource.ServerName;
                dataSourceInDb.Password         = _viewModel.NewDataSource.Password;
                dataSourceInDb.DatabaseName     = _viewModel.NewDataSource.DatabaseName;
                dataSourceInDb.ConnectionString = _viewModel.NewDataSource.ConnectionString;
            }

            _context.SaveChanges();

            return(RedirectToAction("Index", "DataSources"));
        }