public static String GetPathById(Int32 id) { using (SandBoxDataContext db = new SandBoxDataContext()) { return db.Malwares.FirstOrDefault(x => x.Id == id).Path; } }
//********************************************************** //* Создание пользователя //********************************************************** public static MembershipUser CreateUser(String username, String password, Int32 roleId) { using (SandBoxDataContext db = new SandBoxDataContext()) { var users = UserManager.GetUsers(); if (Enumerable.Any(users, us => us.Login == username)) return null; User user = new User { Login = username, Password = password, PasswordSalt = CreateSalt(), CreatedDate = DateTime.Now, LastLoginDate = DateTime.Now }; user.Password = CreatePasswordHash(password, user.PasswordSalt); db.Users.InsertOnSubmit(user); db.SubmitChanges(); var usr = db.Users.FirstOrDefault(x => x.Login == username); if (usr == null) return null; UsersInRole userInRole = new UsersInRole {UserId = usr.UserId, RoleId = roleId}; db.UsersInRoles.InsertOnSubmit(userInRole); db.SubmitChanges(); return GetUser(username); } }
public static Machine GetMachineByName(String name) { using (SandBoxDataContext db = new SandBoxDataContext()) { return db.Machines.FirstOrDefault(x => x.Name == name); } }
public static String GetDescription(Int32 machineState) { using (SandBoxDataContext db = new SandBoxDataContext()) { return db.MachinesStates.FirstOrDefault(x => x.State == machineState).Description; } }
public static String GetNameById(Int32 id) { using (SandBoxDataContext db = new SandBoxDataContext()) { return db.Machines.FirstOrDefault(x => x.Id == id).Name; } }
public static ConnectionSetting LoadSettings() { using (SandBoxDataContext db = new SandBoxDataContext()) { return db.ConnectionSettings.FirstOrDefault(); } }
//********************************************************** //* Добавление нового исследования, возвращает researchId //********************************************************** public static Int32 AddResearch(Int32 userId, Int32 mlwrId, Int32 vmId, Int32 researchVmData, Int32 duration, String name = "") { using (SandBoxDataContext db = new SandBoxDataContext()) { Research research = new Research { UserId = userId, MlwrId = mlwrId, VmId = vmId, ResearchVmData = researchVmData, State = (Int32)ResearchState.READY, CreatedDate = DateTime.Now, Duration = duration, ResearchName = name, TrafficFileReady = (Int32)TrafficFileReady.NOACTION }; db.Researches.InsertOnSubmit(research); db.SubmitChanges(); var researches = from r in db.Researches where r.UserId == userId select r.Id; return researches.Max(); } }
public static int GetEvtSignif(events evt) { var db = new SandBoxDataContext(); var dofe = db.DirectoryOfEvents.FirstOrDefault<DirectoryOfEvents>(x => ((x.dest == evt.dest) && (x.module == evt.module) && (x.@event == evt.@event)&&(x.who==evt.who))); return dofe == null ? -1 : dofe.significance; }
public static void DeleteDirectorysOfEvent(long id) { var db = new SandBoxDataContext(); var dofe = db.DirectoryOfEvents.FirstOrDefault<DirectoryOfEvents>(x => x.Id == id); if(dofe!=null) db.DirectoryOfEvents.DeleteOnSubmit(dofe); db.SubmitChanges(); }
public static Boolean GetConnectionStatus() { using (SandBoxDataContext db = new SandBoxDataContext()) { return db.DatabaseExists(); } }
/// <summary> /// Получение всей таблицы с запиями регистра /// </summary> /// <returns></returns> public static IQueryable<RegTest> GetRegistry() { var db = new SandBoxDataContext(); IQueryable<RegTest> res = from r in db.RegTest select r; return res; }
public static String GetDescription(Int32 malwareClass) { using (SandBoxDataContext db = new SandBoxDataContext()) { return db.MalwareClasses.FirstOrDefault(x => x.Class == malwareClass).Description; } }
public static IQueryable<Proc> GetProcessesTableView() { var db = new SandBoxDataContext(); var results = from proc in db.Proc orderby proc.procName select proc; return results; }
/// <summary> /// Получение всей таблицы с запиями регистра для соответствующего исследования /// </summary> /// <returns></returns> public static IQueryable<RegTest> GetRegistry(int rschID) { var db = new SandBoxDataContext(); IQueryable<RegTest> res = from r in db.RegTest where r.rschID == rschID select r; return res; }
//public static IQueryable<string> GetEventsDescrByModule(string moduleDesctiption) //{ // var db = new SandBoxDataContext(); // int modId = -1; // var mod = db.EventsModulesDescriptions.FirstOrDefault<EventsModulesDescriptions>(x => x.Description == moduleDesctiption); // if (mod != null) // { // modId = mod.EventModuleID; // } // if (modId != -1) // { // return from ev in db.ModulesVsEvents // where ev.Module == modId // select ResearchManager. GetEvtEvtDescription( ev.Event); // } // return null; //} public static IQueryable GetEventsDescrByModule(string moduleDesctiption) { var db = new SandBoxDataContext(); return from ed in db.EventsEventDescriptions join mve in db.ModulesVsEvents on ed.EventID equals mve.Event join md in db.EventsModulesDescriptions on mve.Module equals md.EventModuleID where md.Description == moduleDesctiption select ed; }
public static void AddReport(Int32 researchId, Int32 modId, Int32 actionId, String obj, String target, String additional="") { using (SandBoxDataContext db = new SandBoxDataContext()) { Report report = new Report { ResearchId = researchId, ModuleId = modId, ActionId = actionId, Object = obj, Target = target, TIme = DateTime.Now, Additional = additional}; db.Reports.InsertOnSubmit(report); db.SubmitChanges(); } }
/// <summary> /// Получение списка всех процессов для всех исследований /// </summary> /// <returns></returns> public static IQueryable<Proc> GetProcesses() { var db = new SandBoxDataContext(); var processes = from p in db.Proc orderby p.rschID select p; return processes; }
//********************************************************** //* Добавление новой задачи //********************************************************** public static void AddTask(Int32 researchId, Int32 taskType, String value) { using (SandBoxDataContext db = new SandBoxDataContext()) { Task task = new Task { ResearchId = researchId, Type = taskType, Value = value }; db.Tasks.InsertOnSubmit(task); db.SubmitChanges(); } }
//********************************************************** //* Добавление нового запроса //********************************************************** public static void AddRequest(Int32 researchId, RequestType requestType) { using (SandBoxDataContext db = new SandBoxDataContext()) { Request request = new Request() {ResearchId = researchId, Type = (Int32)requestType, State = (Int32)RequestState.EXECUTING}; db.Requests.InsertOnSubmit(request); db.SubmitChanges(); } }
/// <summary> /// Возвращает все процессы для для заданного исследования /// </summary> /// <param name="rschId">id исследования для которого получаем процессы</param> /// <returns></returns> public static IQueryable<Proc> GetProcesses(int rschId) { var db = new SandBoxDataContext(); var processes = from p in db.Proc where p.rschID == rschId orderby p.procName select p; return processes; }
public static IQueryable<Machine> GetMachines() { var db = new SandBoxDataContext(); var machines = from m in db.Machines orderby m.Id select m; return machines; }
//********************************************************** //* Добавление новой роли //********************************************************** public static void AddRole(String rolename) { using (SandBoxDataContext db = new SandBoxDataContext()) { Role role = new Role { Name = rolename }; db.Roles.InsertOnSubmit(role); db.SubmitChanges(); } }
//********************************************************** //* Отметка Mlwr по id как удаленного //********************************************************** public static void DeleteMlwr(Int32 id) { using (SandBoxDataContext db = new SandBoxDataContext()) { var mlwr = db.Mlwrs.FirstOrDefault(x => x.Id == id); if (mlwr == null) return; mlwr.IsDeleted = 1; db.SubmitChanges(); } }
public static void CreateItem(String name) { using (SandBoxDataContext db = new SandBoxDataContext()) { Machine machine = new Machine {Name = name, State = -1, UniqueId = 2, Description = "null"}; db.Machines.InsertOnSubmit(machine); db.SubmitChanges(); TableUpdated(Table.MACHINES); } }
//********************************************************** //* Добавление нового типа Vm //********************************************************** public static void AddType(String description) { using (SandBoxDataContext db = new SandBoxDataContext()) { Int32 maxType = (from t in db.VmTypes orderby t.Type select t.Type).Max(); VmType vmType = new VmType { Type = maxType + 1, Description = description }; db.VmTypes.InsertOnSubmit(vmType); db.SubmitChanges(); } }
public static String[] GetMachinesName() { using (SandBoxDataContext db = new SandBoxDataContext()) { var machines = from m in db.Machines orderby m.Name select m.Name; return machines.ToArray(); } }
public static IQueryable GetItems() { var db = new SandBoxDataContext(); var items = from i in db.Machines join ms in db.MachinesStates on i.State equals ms.State select new { i.Id, i.Name, i.State, i.UniqueId, ms.Description }; return items; }
//********************************************************** //* Удалени всех запросов //********************************************************** public static void DeleteRequests() { var db = new SandBoxDataContext(); var requests = from r in db.Requests orderby r.Id select r; db.Requests.DeleteAllOnSubmit(requests); db.SubmitChanges(); }
public static void DeleteItem(Int32 id) { using (SandBoxDataContext db = new SandBoxDataContext()) { Machine machine = db.Machines.FirstOrDefault(x => x.Id == id); db.Machines.DeleteOnSubmit(machine); db.SubmitChanges(); TableUpdated(Table.MACHINES); } }
//********************************************************** //* Удаление роли //********************************************************** public static void DeleteRole(String rolename) { using (SandBoxDataContext db = new SandBoxDataContext()) { Role role = db.Roles.FirstOrDefault(r => r.Name == rolename); if (role == null) return; db.Roles.DeleteOnSubmit(role); db.SubmitChanges(); } }