Example #1
0
        protected override void Configure()
        {
            Mapper.CreateMap <ConnectionDB, ConnectionViewModel>()
            .ForMember("ConnectionName", opt => opt.MapFrom(src => src.ConnectionName))
            .ForMember("ConnectionID", opt => opt.MapFrom(src => src.ConnectionID))
            .ForMember("ServerName", opt => opt.MapFrom(src => src.ServerName))
            .ForMember("LoginDB", opt => opt.MapFrom(src => src.LoginDB))
            .ForMember("PasswordDB", opt => opt.MapFrom(src => Rijndael.DecryptStringFromBytes(src.PasswordDB)))
            .ForMember("ConnectionOwner", opt => opt.MapFrom(src => src.ConnectionOwner))
            .ForMember("DatabaseName", opt => opt.MapFrom(src => src.DatabaseName));

            Mapper.CreateMap <Project, ProjectViewModel>()
            .ForMember("IdCurrentProject", opt => opt.MapFrom(src => src.ProjectID))
            .ForMember("Name", opt => opt.MapFrom(src => src.ProjectName))
            .ForMember("Description", opt => opt.MapFrom(src => src.ProjectDescription));

            Mapper.CreateMap <Project, ProjectsListViewModel>();

            Mapper.CreateMap <ApplicationUser, UserViewModel>()
            .ForMember(x => x.UserId, opt => opt.MapFrom(src => src.Id));

            Mapper.CreateMap <ApplicationUser, UsersListViewModel>()
            .ForMember(x => x.Id, opt => opt.MapFrom(src => src.Id));

            Mapper.CreateMap <ConnectionDB, ConnectionsListViewModel>()
            .ForMember(x => x.ConnectionID, opt => opt.MapFrom(src => src.ConnectionID));

            Mapper.CreateMap <Query, QueryViewModel>();
            Mapper.CreateMap <Query, QueryListViewModel>();
            Mapper.CreateMap <QueryHistory, QueryHistoryViewModel>();
            Mapper.CreateMap <QueryHistory, QueryHistoryListViewModel>();
        }
 public ActionResult CreateConnectionPartial(int id, int count = 0)
 {
     _connectionModel.ConnectionOwner = id;
     _connectionModel.ConnectionCount = count;
     if (count != 0)
     {
         var connection = _serviceConnection.GetConnectionDBs(id).FirstOrDefault();
         if (connection != null)
         {
             _connectionModel.ServerName      = connection.ServerName;
             _connectionModel.LoginDB         = connection.LoginDB;
             _connectionModel.PasswordDB      = Rijndael.DecryptStringFromBytes(connection.PasswordDB);
             _connectionModel.ConnectionCount = _serviceConnection.GetConnectionDBs(id).Count();
         }
     }
     return(PartialView("CreateConnectionPartial", _connectionModel));
 }
        public string GetGridModel(string query, int idCurrentProject)
        {
            ConnectionDB connect;

            if (User.Identity.IsAuthenticated)
            {
                var connectionsCurrentProject = _serviceConnection.GetConnectionDBs(idCurrentProject);
                connect = connectionsCurrentProject.FirstOrDefault();
            }
            else
            {
                connect = new ConnectionDB
                {
                    DatabaseName = DefaultDatabaseConstants.DatabaseName,
                    LoginDB      = DefaultDatabaseConstants.Login,
                    ServerName   = DefaultDatabaseConstants.ServerName,
                    PasswordDB   = Rijndael.EncryptStringToBytes(DefaultDatabaseConstants.Password)
                };
            }

            var dataTable = new DataTable();

            if (connect != null)
            {
                var connectionString = $"Data source= {connect.ServerName};Initial catalog= {connect.DatabaseName}; UID= {connect.LoginDB}; Password= {Rijndael.DecryptStringFromBytes(connect.PasswordDB)};";

                var resultQuery = SqlExecuteData.SqlReturnDataFromQuery(query, connectionString);

                if (!resultQuery.HasError)
                {
                    dataTable = resultQuery.ResultData;
                }
                else
                {
                    return(JsonConvert.SerializeObject(resultQuery.ErrorText));
                }
            }

            Session["datatableForGrid"] = dataTable;

            var header = (from DataColumn column in dataTable.Columns
                          select new DataGridModel
            {
                Name = column.ColumnName,
                Index = column.ColumnName,
                Sortable = true,
                Align = "center"
            }).ToList();

            if (User.Identity.IsAuthenticated)
            {
                _queryHistoryModel.QueryDate = DateTime.Now;
                _queryHistoryModel.QueryBody = query;
                _queryHistoryModel.ProjectID = idCurrentProject;

                var newQuery = Mapper.Map <QueryHistoryViewModel, QueryHistory>(_queryHistoryModel);
                _serviceQueryHistory.SaveQueryHistory(newQuery);
            }

            return(JsonConvert.SerializeObject(header));
        }
        public ActionResult List(string id = "0")
        {
            if (User.Identity.IsAuthenticated)
            {
                _currentUser = _serviceUser.GetUserByID(User.Identity.GetUserId());
                var projects          = _serviceProjectsShareService.GetUserProjects(_currentUser);
                var projectsViewModel = Mapper.Map <IEnumerable <Project>, IEnumerable <ProjectsListViewModel> >(projects).ToList();
                var countInvited      = 0;
                foreach (var project in projectsViewModel)
                {
                    project.UserRole            = _serviceProjectsShareService.GetUserRole(_currentUser, project.ProjectID);
                    project.CountUsersForShared = _serviceProjectsShareService.GetUsersForSharedProject(_serviceProject.GetProject(project.ProjectID)).Count();
                    if (project.UserRole == 0)
                    {
                        countInvited++;
                    }
                }

                ViewBag.CountInvited           = countInvited;
                _projectModel.Projects         = projectsViewModel;
                _projectModel.IdCurrentProject = Convert.ToInt32(id);
                if (id != "0")
                {
                    Session["datatableForGrid"] = new DataTable();

                    var connectionsCurrentProject = _serviceConnection.GetConnectionDBs(_projectModel.IdCurrentProject);
                    _projectModel.ConnectionDbs = Mapper.Map <IEnumerable <ConnectionDB>, IEnumerable <ConnectionsListViewModel> >(connectionsCurrentProject).ToList();

                    if (_projectModel.ConnectionDbs.Any())
                    {
                        var connect       = _projectModel.ConnectionDbs.First();
                        var sqlConnection =
                            $"Data source= {connect.ServerName}; Initial catalog= {connect.DatabaseName}; UID= {connect.LoginDB}; Password= {Rijndael.DecryptStringFromBytes(connect.PasswordDB)};";
                        ViewBag.ConnectionString = sqlConnection;
                    }

                    var quriesCurrentProject = _serviceQuery.GetQueries(_projectModel.IdCurrentProject);
                    _projectModel.Queries = Mapper.Map <IEnumerable <Query>, IEnumerable <QueryListViewModel> >(quriesCurrentProject).ToList();

                    var historyCurrentProject = _serviceQueryHistory.GetQueriesHistory(_projectModel.IdCurrentProject);
                    _projectModel.QueryHistory = Mapper.Map <IEnumerable <QueryHistory>, IEnumerable <QueryHistoryListViewModel> >(historyCurrentProject).ToList();

                    var currentProject = _serviceProject.GetProject(_projectModel.IdCurrentProject);
                    if (currentProject != null)
                    {
                        ViewBag.name = currentProject.ProjectName;
                        ViewBag.desk = currentProject.ProjectDescription;
                    }
                    ViewBag.Count = _projectModel.ConnectionDbs.Count();

                    if (ViewBag.Count == 0)
                    {
                        ViewBag.ConnectionName = "ConnectionName";
                        ViewBag.DatabaseName   = "connections.DatabaseName";
                        ViewBag.ServerName     = "ServerName";
                    }
                }
                else
                {
                    ViewBag.name           = "choose project";
                    ViewBag.desk           = "No description";
                    ViewBag.ConnectionName = "ConnectionName";
                    ViewBag.DatabaseName   = "DatabaseName";
                    ViewBag.ServerName     = "ServerName";
                }

                return(View(_projectModel));
            }
            else
            {
                return(View(GetExampleProject()));
            }
        }
        public ActionResult ListConnectionPartial()
        {
            string PreviousPage = "http://stackoverflow.com/1";

            _currentUser = _serviceUser.GetUserByID(User.Identity.GetUserId());
            if (System.Web.HttpContext.Current != null)
            {
                PreviousPage = System.Web.HttpContext.Current.Request.UrlReferrer.ToString();
            }
            string pattern = "[0-9]+$";
            Regex  rgx     = new Regex(pattern, RegexOptions.IgnoreCase);
            Match  match   = rgx.Match(PreviousPage);
            int    id      = Convert.ToInt16(match.Value);

            _projectModel.IdCurrentProject = id;
            if (id != 0)
            {
                var connectionsCurrentProject = _serviceConnection.GetConnectionDBs(id);
                _projectModel.ConnectionDbs = Mapper.Map <IEnumerable <ConnectionDB>, IEnumerable <ConnectionsListViewModel> >(connectionsCurrentProject).ToList();

                if (_projectModel.ConnectionDbs.Any())
                {
                    var connect       = _projectModel.ConnectionDbs.First();
                    var sqlConnection =
                        $"Data source= {connect.ServerName}; Initial catalog= {connect.DatabaseName}; UID= {connect.LoginDB}; Password= {Rijndael.DecryptStringFromBytes(connect.PasswordDB)};";
                    ViewBag.ConnectionString = sqlConnection;
                }
            }

            return(PartialView("ListConnectionPartial", _projectModel));
        }
Example #6
0
        public ActionResult ERModel(int id = 0)
        {
            if (id != 0)
            {
                string sqlConnection = "";

                if (id == -1)
                {
                    //sqlConnection = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("/MyWebSiteRoot").ConnectionStrings.ConnectionStrings["NorthwindConnection"].ConnectionString;
                    sqlConnection = ConfigurationManager.ConnectionStrings["TestConnection"].ConnectionString;
                    //sqlConnection = "Data Source =.\\v11; AttachDbFilename=| DataDirectory |NORTHWND.MDF; Integrated Security= True";
                }
                else
                {
                    var Connection = _serviceConnection.GetConnectionDb(id);

                    sqlConnection = String.Format("Data source= {0}; Initial catalog= {1}; UID= {2}; Password= {3};",
                                                  Connection.ServerName, Connection.DatabaseName, Connection.LoginDB, Rijndael.DecryptStringFromBytes(Connection.PasswordDB));
                }
                var sql = new SqlConnection(sqlConnection);

                var viewmodel = new ERModelViewModel(sql);
                return(View(viewmodel));
            }
            else
            {
                return(RedirectToAction("List", "Workflow"));
            }
        }