Beispiel #1
0
        private static void GetFolderFilesLastDate(SiteInfo si)
        {
            var           strConn = ConfigurationManager.ConnectionStrings["Halfpint"].ToString();
            SqlDataReader rdr     = null;

            using (var conn = new SqlConnection(strConn))
            {
                try
                {
                    var cmd = new SqlCommand
                    {
                        Connection  = conn,
                        CommandText = "GetNovanetLastFileDates",
                        CommandType = CommandType.StoredProcedure
                    };
                    var param = new SqlParameter("@siteId", si.Id);
                    cmd.Parameters.Add(param);

                    conn.Open();
                    rdr = cmd.ExecuteReader();

                    si.FolderFileLastDates = new List <FolderFileLastDate>();
                    while (rdr.Read())
                    {
                        var ffld = new FolderFileLastDate();
                        int pos  = rdr.GetOrdinal("Id");
                        ffld.Id = rdr.GetInt32(pos);

                        pos       = rdr.GetOrdinal("MachineName");
                        ffld.Name = rdr.GetString(pos);

                        pos = rdr.GetOrdinal("LastFileDate");
                        ffld.LastFileDate = rdr.IsDBNull(pos) ? (DateTime?)null : rdr.GetDateTime(pos);

                        si.FolderFileLastDates.Add(ffld);
                    }
                    rdr.Close();
                }
                catch (Exception ex)
                {
                    Logger.Error(ex);
                }
                finally
                {
                    if (rdr != null)
                    {
                        rdr.Close();
                    }
                }
            }
        }
Beispiel #2
0
        private static void GetFolderFilesLastDate(SiteInfo si)
        {
            var strConn = ConfigurationManager.ConnectionStrings["Halfpint"].ToString();
            SqlDataReader rdr = null;
            using (var conn = new SqlConnection(strConn))
            {
                try
                {
                    var cmd = new SqlCommand
                    {
                        Connection = conn,
                        CommandText = "GetNovanetLastFileDates",
                        CommandType = CommandType.StoredProcedure
                    };
                    var param = new SqlParameter("@siteId", si.Id);
                    cmd.Parameters.Add(param);

                    conn.Open();
                    rdr = cmd.ExecuteReader();

                    si.FolderFileLastDates = new List<FolderFileLastDate>();
                    while (rdr.Read())
                    {
                        var ffld = new FolderFileLastDate();
                        int pos = rdr.GetOrdinal("Id");
                        ffld.Id = rdr.GetInt32(pos);

                        pos = rdr.GetOrdinal("MachineName");
                        ffld.Name = rdr.GetString(pos);

                        pos = rdr.GetOrdinal("LastFileDate");
                        ffld.LastFileDate = rdr.IsDBNull(pos) ? (DateTime?)null : rdr.GetDateTime(pos);

                        si.FolderFileLastDates.Add(ffld);
                    }
                    rdr.Close();

                }
                catch (Exception ex)
                {
                    Logger.Error(ex);
                }
                finally
                {
                    if (rdr != null)
                        rdr.Close();
                }
            }
        }
Beispiel #3
0
        private static IEnumerable<FolderFileList> GetFolderAndFiles(SiteInfo si)
        {
            var list = new List<FolderFileList>();

            //get the parent path for this site
            var parentPath = ConfigurationManager.AppSettings["NovaNetUploadPath"];
            parentPath = Path.Combine(parentPath, si.SiteId);

            if (Directory.Exists(parentPath))
            {
                //get the folders (named after the computer name)
                var folders = Directory.EnumerateDirectories(parentPath);
                var newLastDate = new DateTime();

                foreach (var folder in folders)
                {
                    var folderAndFile = new FolderFileList();
                    list.Add(folderAndFile);

                    var di = new DirectoryInfo(folder);
                    folderAndFile.Name = di.Name;

                    DateTime? lastFileDate = null;

                    var lastFolderFileDate = si.FolderFileLastDates.Find(x => x.Name == di.Name);
                    if (lastFolderFileDate == null)
                    {
                        //if the site doesn't have this folder then add it
                        lastFolderFileDate = new FolderFileLastDate { Name = di.Name };
                        si.FolderFileLastDates.Add(lastFolderFileDate);
                    }
                    else
                    {
                        if (lastFolderFileDate.LastFileDate.HasValue)
                        {
                            lastFileDate = lastFolderFileDate.LastFileDate;
                        }
                    }

                    foreach (var file in di.GetFiles())
                    {
                        Console.WriteLine("file name: " + file.FullName);
                        if (!file.Name.ToUpper().StartsWith("PR"))
                        {
                            //skip all files except files that start with pr
                            //maybe archive file
                            continue;
                        }

                        //extract the date from the file name
                        var datePart = file.Name.Substring(2, 6);
                        var sDate = "20" + datePart.Substring(0, 2) + "/" + datePart.Substring(2, 2) + "/" +
                                    datePart.Substring(4, 2);
                        var fileDate = DateTime.Parse(sDate);
                        if (lastFileDate != null && lastFileDate.Value.CompareTo(fileDate) >= 0)
                            continue;

                        folderAndFile.Files.Add(file);

                        if (newLastDate.CompareTo(fileDate) < 0)
                            newLastDate = fileDate;

                    }//foreach (var file in di.GetFiles())

                    if (lastFolderFileDate.LastFileDate == null)
                        lastFolderFileDate.NewLastFileDate = newLastDate;
                    else
                    {
                        if (newLastDate.CompareTo(lastFolderFileDate.LastFileDate.Value) > 0)
                            lastFolderFileDate.NewLastFileDate = newLastDate;
                    }

                }//foreach (var folder in folders)

            }

            return list;
        }
Beispiel #4
0
        private static IEnumerable <FolderFileList> GetFolderAndFiles(SiteInfo si)
        {
            var list = new List <FolderFileList>();

            //get the parent path for this site
            var parentPath = ConfigurationManager.AppSettings["NovaNetUploadPath"];

            parentPath = Path.Combine(parentPath, si.SiteId);

            if (Directory.Exists(parentPath))
            {
                //get the folders (named after the computer name)
                var folders     = Directory.EnumerateDirectories(parentPath);
                var newLastDate = new DateTime();

                foreach (var folder in folders)
                {
                    var folderAndFile = new FolderFileList();
                    list.Add(folderAndFile);

                    var di = new DirectoryInfo(folder);
                    folderAndFile.Name = di.Name;

                    DateTime?lastFileDate = null;

                    var lastFolderFileDate = si.FolderFileLastDates.Find(x => x.Name == di.Name);
                    if (lastFolderFileDate == null)
                    {
                        //if the site doesn't have this folder then add it
                        lastFolderFileDate = new FolderFileLastDate {
                            Name = di.Name
                        };
                        si.FolderFileLastDates.Add(lastFolderFileDate);
                    }
                    else
                    {
                        if (lastFolderFileDate.LastFileDate.HasValue)
                        {
                            lastFileDate = lastFolderFileDate.LastFileDate;
                        }
                    }

                    foreach (var file in di.GetFiles())
                    {
                        Console.WriteLine("file name: " + file.FullName);
                        if (!file.Name.ToUpper().StartsWith("PR"))
                        {
                            //skip all files except files that start with pr
                            //maybe archive file
                            continue;
                        }

                        //extract the date from the file name
                        var datePart = file.Name.Substring(2, 6);
                        var sDate    = "20" + datePart.Substring(0, 2) + "/" + datePart.Substring(2, 2) + "/" +
                                       datePart.Substring(4, 2);
                        var fileDate = DateTime.Parse(sDate);
                        if (lastFileDate != null && lastFileDate.Value.CompareTo(fileDate) >= 0)
                        {
                            continue;
                        }

                        folderAndFile.Files.Add(file);

                        if (newLastDate.CompareTo(fileDate) < 0)
                        {
                            newLastDate = fileDate;
                        }
                    }//foreach (var file in di.GetFiles())

                    if (lastFolderFileDate.LastFileDate == null)
                    {
                        lastFolderFileDate.NewLastFileDate = newLastDate;
                    }
                    else
                    {
                        if (newLastDate.CompareTo(lastFolderFileDate.LastFileDate.Value) > 0)
                        {
                            lastFolderFileDate.NewLastFileDate = newLastDate;
                        }
                    }
                }//foreach (var folder in folders)
            }

            return(list);
        }