private void button1_Click(object sender, EventArgs e) { GetUser tmp = null; login = textBox1.Text.ToString(); password = textBox2.Text.ToString(); IDataBaseAccess db = Fabric.GetDataBaseAccess(); IObjects req = new GetUser(login, password); tmp = (GetUser)db.SEND(ref req); // if (tmp == null) MessageBox.Show("Пара логин / пароль неверна.\nПроверьве правильность указанных данных."); if (tmp == null) { answer = null; } else { answer = tmp.Answer; this.Close(); } }
public IObjects Get(IObjects request) { FileListRequest req = (FileListRequest)request; // получили запрос. там внутри есть пользователь и дерево нужно туда для него засунуть // вообще, для файлов установлена группа, которая может его смотреть. смотрим у пользователя какая категория есть. // если совпадает - можем ему показать этот файлик // если в директории нет файлов, которые может смотреть этот пользователь - и директорию ему не показываем //files = new WatchingFileRights(); //users = new WatchingUsers(); currentUser = request.User; // есть начальная директория. есть пользователь, есть набор прав для него, есть для каждого файла набор групп которым можно его читать FileTree answer = new FileTree(); // сюда запишем дерево файлов answer.FileList = MakeTree(Treeroot); req.answer = answer; return(req); }
public void LogOff(IUserID user) { Objects.LogOff req = new LogOff(user); IObjects s = (IObjects)req; db.SEND(ref s); }
public bool FileAllowedForUser(IUserID user, string file) { WatchingUsers users = new WatchingUsers(); string[] filegroups = AllowedUserList(file); // тут группы у файла string[] usergroups = users.ReturnUserFileRights(user.GetValue); // // если в группах файла есть какаянить группа из групп пользователя - вернуть что "можно" for (int i = 0; i < filegroups.Length; i++) { for (int j = 0; j < usergroups.Length; j++) { if (filegroups[i].Equals(usergroups[j])) { return(true); } } } return(false); }
public ServerView() { InitializeComponent(); IUserManagement userManagement = Fabric.GetUserManagement(); current = userManagement.GetProfile(); }
public int UserAdd(IUserID user, string[] newuser) { CreateNewUser req = new CreateNewUser(newuser); req.setUser = user; IObjects tmp = req; db.SEND(ref tmp); return(1); }
public MainWindow() { InitializeComponent(); IUserManagement userManagement = Fabric.GetUserManagement(); current = userManagement.GetProfile(); ShowFileList(); }
public void ShowWeather(IUserID user, string map, string weather) { wpfWeatherDisplay wpfwd = new wpfWeatherDisplay(); wpfwd.USER = user; wpfwd.MAP = map; wpfwd.WEATHER = weather; wpfwd.WC = wc; wpfwd.ShowDialog(); }
public void ShowWeather(IUserID user, string map, string weather) { // отобразить карту и погоду WinFormWeatherDisplay wfwd = new WinFormWeatherDisplay(); // окошечко создаем, передаем ему компоненту рассчета погоды и запускаем wfwd.WC = wc; wfwd.WEATHER = weather; wfwd.MAP = map; wfwd.USER = user; wfwd.ShowDialog(); }
public int ChangeUser(IUserID user, string[] changes) { ChangeUser req = new ChangeUser(changes); req.setUser = user; IObjects send = req; db.SEND(ref send); return(1); }
public void Delete(IUserID user, string path) { DeleteFileRequest t = new DeleteFileRequest(); t.deletefile = path; t.SetUser = user; IObjects send = t; IDataBaseAccess db = Fabric.GetDataBaseAccess(); db.SEND(ref send); }
public int DeleteUser(IUserID user, string delete) { DeleteUser req = new DeleteUser(delete); req.setUser = user; IObjects send = req; db.SEND(ref send); return(1); }
public void CreateNewDirectory(IUserID user, string newDir) { CreateDirectoryRequest t = new CreateDirectoryRequest(); t.directory = newDir; t.SetUser = user; IObjects send = t; IDataBaseAccess db = Fabric.GetDataBaseAccess(); db.SEND(ref send); }
public void CreateNewFile(IUserID user, string newFile, string[] rights) { CreateFileRequest t = new CreateFileRequest(); t.newfile = newFile; t.SetUser = user; t.newrights = rights; IObjects send = t; IDataBaseAccess db = Fabric.GetDataBaseAccess(); db.SEND(ref send); }
public UserList WatchUsers(IUserID user) { WatchUsers req = new WatchUsers(); req.setUser = user; IObjects s = (IObjects)req; WatchUsers t = (WatchUsers)db.SEND(ref s); if (t == null) { return(null); } return(t.myUserList); }
public void SaveThisFile(IUserID user, string path, string[] buffer) { // сохранить файл FileSaveRequest t = new FileSaveRequest(); t.FileBuffer = buffer; t.ReqPath = path; t.SetUser = user; IObjects send = t; IDataBaseAccess db = Fabric.GetDataBaseAccess(); db.SEND(ref send); }
public FileTree GetFiles(IUserID user) // дай мне список файлов. я - user { IDataBaseAccess db = Fabric.GetDataBaseAccess(); FileListRequest t = new FileListRequest(); t.SetUser(user); IObjects send = t; FileListRequest answer = (FileListRequest)db.SEND(ref send); if (answer == null) { return(null); } return(answer.answer); }
private void button1_Click(object sender, EventArgs e) { if (current != null) { userMANAGER.LogOff(current); } current = userMANAGER.GetProfile(); string tmp = ""; tmp = current.GetValue.ToString(); textBox1.Text = tmp; UpdateBase(); }
public string[] GetThisFile(IUserID user, string path) // дай мне вот этот файл. путь я взял из предоставленного дерева файлов { FileGetRequest req = new FileGetRequest(); req.ReqPath = path; req.SetUser = user; IDataBaseAccess db = Fabric.GetDataBaseAccess(); IObjects send = req; req = (FileGetRequest)db.SEND(ref send); if (req.FileBuffer != null) { return(req.FileBuffer); } else { return(null); } }
private IUserID current;// текущий пользователь public Form1() { InitializeComponent(); db = Fabric.GetDataBaseAccess(); userMANAGER = Fabric.GetUserManagement(); userMANAGER.DB = db; current = userMANAGER.GetProfile(); string tmp = ""; if (current == null) { tmp = "Error"; } else { tmp = current.GetValue.ToString(); } textBox1.Text = tmp; UpdateBase(); }
public void SetUser(IUserID who) { user = who; }
public LogOff(IUserID user) { deletethis = user; }
public void SetReqestedUser(IUserID answer) { RequestedUserID = answer; }
public List <WeatherCadr> GetWeatherFromCadr(WeatherCadr cadr, int time, IUserID user, string weather) { frames = 10; // порция кадров // нам нужно в память загрузить кадо WeatherCalculator wcalc = new WeatherCalculator(); wcalc.setTime = time; // добавим землю for (int i = 0; i < cadr.Land.Count; i++) { Land t = (Land)cadr.Land[i]; Land tmp = new Land(t.X, t.Y, t.R, t.V, t.C); wcalc.AddLand(tmp); } // добавим циклоны for (int i = 0; i < cadr.Weather.Count; i++) { Cyclone t = (Cyclone)cadr.Weather[i]; Cyclone tmp = new Cyclone(t.X, t.Y, t.R, t.V, t.C); wcalc.AddWeather(tmp); } // добавим траектории циклонов FileManagement.FileManager fm = Fabric.GetFileManager(); string[] weatherBuffer = fm.GetThisFile(user, weather);// буффер погоды string[] lines = weatherBuffer[0].Split(default(string[]), StringSplitOptions.RemoveEmptyEntries); wcalc.SetRect(Convert.ToDouble(lines[0]), Convert.ToDouble(lines[1])); int pos = 0; for (int i = 1; i < weatherBuffer.Length; i++) { string[] lines1 = weatherBuffer[i].Split(default(string[]), StringSplitOptions.RemoveEmptyEntries); if (lines1.Length == 0) // это условие отбросит строчки после пустой(траектории там для циклонов, если это погода) { pos = i; break; } } if (pos != 0) { pos++; for (int i = 0; i < weatherBuffer.Length - pos; i++) { if (weatherBuffer[i + pos].Length != 0) { List <double[]> add = new List <double[]>(); string[] tmp = weatherBuffer[i + pos].Split(default(string[]), StringSplitOptions.RemoveEmptyEntries); for (int t = 0; t < tmp.Length; t += 2) { add.Add(new double[2] { Convert.ToDouble(tmp[t]), Convert.ToDouble(tmp[t + 1]) }); } wcalc.AddWeatherPath(i, add); } } } // все заполнили List <WeatherCadr> answer = new List <WeatherCadr>(); for (int i = 0; i < frames; i++) { answer.Add(wcalc.CalculateTact());// рассчитали такт еще один и положили в ролик } return(answer); }
private int frames; // на сколько кадров вперед идет расчет // компонента отвечающая за расчет погоды public List <WeatherCadr> GetWeatherFromBegin(IUserID user, string map, string weather) { frames = 50; // порция кадров // дай мне графику(набор кадров вперед) для этой карты для этой погоды в это время // считается что можно указывать файлик погоды. типа например есть карта россии // для нее есть погода в январе, в феврале .... и соответственно файлики называются. загружаем и смотрим List <Graphics> workFrames = new List <Graphics>(); // этот буффер и отдадим // загрузим данные FileManagement.FileManager fm = Fabric.GetFileManager(); string[] mapBuffer = fm.GetThisFile(user, map); // буффер карты string[] weatherBuffer = fm.GetThisFile(user, weather); // буффер погоды // // прочитаем заполним структуры в WeatherCalculator WeatherCalculator wcalc = new WeatherCalculator(); wcalc.setTime = 0; // прочитаем карту сначала string[] lines = mapBuffer[0].Split(default(string[]), StringSplitOptions.RemoveEmptyEntries); wcalc.SetRect(Convert.ToDouble(lines[0]), Convert.ToDouble(lines[1])); // установили размеры карты for (int i = 1; i < mapBuffer.Length; i++) { string[] lines1 = mapBuffer[i].Split(default(string[]), StringSplitOptions.RemoveEmptyEntries); double X = Convert.ToDouble(lines1[0]); double Y = Convert.ToDouble(lines1[1]); double R = Convert.ToDouble(lines1[2]); double VALUE = Convert.ToDouble(lines1[3]); double COND = Convert.ToDouble(lines1[4]); Land tmp = new Land(X, Y, R, VALUE, COND); wcalc.AddLand(tmp); } // теперь прочитаем файл погоды. // добавим циклоны int pos = 0; for (int i = 1; i < weatherBuffer.Length; i++) { string[] lines1 = weatherBuffer[i].Split(default(string[]), StringSplitOptions.RemoveEmptyEntries); if (lines1.Length != 0) // это условие отбросит строчки после пустой(траектории там для циклонов, если это погода) { double X = Convert.ToDouble(lines1[0]); double Y = Convert.ToDouble(lines1[1]); double R = Convert.ToDouble(lines1[2]); double VALUE = Convert.ToDouble(lines1[3]); double COND = Convert.ToDouble(lines1[4]); Cyclone tmp = new Cyclone(X, Y, R, VALUE, COND); wcalc.AddWeather(tmp); } else { pos = i; break; } } // к циклонам добавим траектории пути if (pos != 0) { pos++; for (int i = 0; i < weatherBuffer.Length - pos; i++) { if (weatherBuffer[i + pos].Length != 0) { List <double[]> add = new List <double[]>(); string[] tmp = weatherBuffer[i + pos].Split(default(string[]), StringSplitOptions.RemoveEmptyEntries); for (int t = 0; t < tmp.Length; t += 2) { add.Add(new double[2] { Convert.ToDouble(tmp[t]), Convert.ToDouble(tmp[t + 1]) }); } wcalc.AddWeatherPath(i, add); } } } // все структуры заполнены List <WeatherCadr> answer = new List <WeatherCadr>(); for (int i = 0; i < frames; i++) { answer.Add(wcalc.CalculateTact());// рассчитали такт еще один и положили в ролик } return(answer); // return workFrames; }