22using System . IO ;
33using System . Linq ;
44using System . Threading . Tasks ;
5- using PostTripletex . Model ;
65
76namespace PostTripletex
87{
98 public class FileDoc
109 {
11- private const string _directory = "Data ";
10+ private static readonly string _directory = Environment . GetFolderPath ( Environment . SpecialFolder . ApplicationData ) + @"\PostTripletex ";
1211
13- public static void WriteFile ( KeyInfo info , string fileName )
14- {
15- var filePath = Path . Combine ( _directory , fileName ) ;
16-
17- if ( ! File . Exists ( filePath ) )
18- {
19- Directory . CreateDirectory ( _directory ) ;
20-
21- using var swr = File . CreateText ( filePath ) ;
22- swr . WriteLine ( fileName == "Product.csv" ? "Number,Name,Id" : "Name,Id" ) ;
23- }
24-
25- using var sw = File . AppendText ( filePath ) ;
26- sw . WriteLine ( fileName == "Product.csv" ? $ "{ info . number } ,{ info . name } ,{ info . id } " : $ "{ info . name } ,{ info . id } ") ;
27- }
28-
29- public static void WriteFile ( string [ ] info , string fileName )
12+ public static void WriteFile ( string [ ] info , string fileName , string startLine = "" )
3013 {
3114 var filePath = Path . Combine ( _directory , fileName ) ;
15+
16+ if ( ! Directory . Exists ( _directory ) ) Directory . CreateDirectory ( _directory ) ;
3217
33- if ( ! File . Exists ( filePath ) )
18+ if ( ! string . IsNullOrEmpty ( startLine ) )
3419 {
35- Directory . CreateDirectory ( _directory ) ;
36-
37- using var swr = File . CreateText ( filePath ) ;
38- swr . WriteLine ( fileName == "Product.csv" ? "Number,Name,Id" : "Name,Id" ) ;
20+ File . WriteAllText ( filePath , startLine + "\n " ) ;
21+ File . AppendAllLines ( filePath , info ) ;
3922 }
40-
41- foreach ( var stg in info )
23+ else
4224 {
43- var strings = stg . Split ( ',' ) ;
44-
45- using var sw = File . AppendText ( filePath ) ;
46- sw . WriteLine ( fileName == "Product.csv" ? $ "{ strings [ 0 ] } ,{ strings [ 1 ] } ,{ strings [ 2 ] } " : $ "{ strings [ 0 ] } ,{ strings [ 1 ] } ") ;
25+ File . WriteAllLines ( filePath , info ) ;
4726 }
4827 }
4928
50- public static string [ ] ReadFile ( string fileName )
29+ public static void AppendFile ( string info , string fileName )
5130 {
5231 var filePath = Path . Combine ( _directory , fileName ) ;
5332
54- return File . Exists ( filePath ) ? File . ReadAllLines ( filePath ) . Skip ( 1 ) . ToArray ( ) : null ;
33+ if ( ! Directory . Exists ( _directory ) ) Directory . CreateDirectory ( _directory ) ;
34+
35+ File . AppendAllText ( filePath , info + "\n " ) ;
5536 }
5637
57- public static void DeleteFile ( string fileName )
38+ public static string [ ] ReadFile ( string fileName )
5839 {
5940 var filePath = Path . Combine ( _directory , fileName ) ;
6041
61- if ( File . Exists ( filePath ) ) File . Delete ( filePath ) ;
42+ return File . Exists ( filePath ) ? File . ReadAllLines ( filePath ) . Skip ( 1 ) . ToArray ( ) : null ;
6243 }
6344
6445 public static string GetNumber ( string fileName )
@@ -68,9 +49,8 @@ public static string GetNumber(string fileName)
6849 if ( ! File . Exists ( filePath ) ) return "0000" ;
6950
7051 var lastLine = File . ReadLines ( filePath ) . Last ( ) . Split ( ',' ) [ 0 ] ;
71- var i = ( int . Parse ( lastLine ) + 1 ) . ToString ( ) . PadLeft ( 4 , '0' ) ;
7252
73- return i ;
53+ return int . TryParse ( lastLine , out var numb ) ? ( numb + 1 ) . ToString ( ) . PadLeft ( 4 , '0' ) : "0000" ;
7454 }
7555
7656 public static async Task < string [ ] > GetTokens ( )
0 commit comments