Пример #1
0
 /********************************************************************\
 *  МЕТОД.....: Write
 *  ОПИСАНИЕ..: Записывает данные о новой посылке
 *  ПАРАМЕТРЫ.: CUser user - данные отправителя
 *           CSendData data - информация об отправлении
 \********************************************************************/
 public void Write(CUser user, CSendData data)
 {
     try
     {
         File.AppendAllText(Path + "/" + user.Phone + ".txt", "\n" + JsonConvert.SerializeObject(data));
     }
     catch (Exception e)
     {
         int i = 1;
     }
 }
 /********************************************************************\
 *  МЕТОД.....: Find
 *  ОПИСАНИЕ..: Возвращает данные о пользователе по информации для входа
 *  ПАРАМЕТРЫ.: CAuthorizationData data - данные для входа
 *  ВОЗВРАЩАЕТ: CUser - данные о пользователе
 *  ПРИМЕЧАНИЕ: Если в системе не зарегистрирован пользователь с
 *           указанным логином и паролем, то возвращается null
 \********************************************************************/
 public CUser Find(CAuthorizationData data)
 {
     try
     {
         DirectoryInfo dir   = new DirectoryInfo(Path);
         FileInfo[]    files = dir.GetFiles();
         foreach (var file in files)
         {
             StreamReader reader      = new StreamReader(file.FullName);
             string       curPassword = reader.ReadLine();
             CUser        curUser     = JsonConvert.DeserializeObject <CUser>(reader.ReadLine());
             if ((data.Login == curUser.Phone || data.Login == curUser.Mail) && curPassword == data.Password)
             {
                 return(curUser);
             }
         }
     } catch { }
     return(null);
 }
        /********************************************************************\
        *  МЕТОД.....: Read
        *  ОПИСАНИЕ..: Считывает данные о находящихся в пути посылках пользователя
        *  ПАРАМЕТРЫ.: CUser user - данные пользователя
        *  ВОЗВРАЩАЕТ: List<CSendData> - данные о посылках, находящихся в пути
        \********************************************************************/
        public List <CSendData> Read(CUser user)
        {
            List <CSendData> result = new List <CSendData>();

            try
            {
                PhysicalFileProvider provider = new PhysicalFileProvider(Path);
                if (provider.GetFileInfo(user.Phone + ".txt").Exists)
                {
                    StreamReader reader = new StreamReader(Path + "/" + user.Phone + ".txt");
                    while (!reader.EndOfStream)
                    {
                        result.Add(JsonConvert.DeserializeObject <CSendData>(reader.ReadLine()));
                    }
                    reader.Close();
                }
            } catch { }
            return(result);
        }