Beispiel #1
0
 public bool AddNewScheduleProperties(UpdateSchProperty _updateScheuleProperties)
 {
     try
     {
         using (ScheduleContext = new ScheduleContext(database))
         {
             ScheduleContext.UpdateSchProperties.Add(_updateScheuleProperties);
             ScheduleContext.SaveChanges();
             return(true);
         }
     }
     catch { return(false); }
 }
Beispiel #2
0
 public bool UpdateScheuleProperties(UpdateSchProperty _updateSchProperty)
 {
     try
     {
         using (ScheduleContext = new ScheduleContext(database))
         {
             ScheduleContext.Entry(_updateSchProperty).State = EntityState.Modified;
             ScheduleContext.SaveChanges();
             return(true);
         }
     }
     catch { return(false); }
 }
Beispiel #3
0
        public void Update()
        {
            IBuidingQuery  = new BuildingQuery(database);
            IScheduleQuery = new ScheduleQuery(database);
            bool success = false;

            FilePath filePath = IScheduleQuery.GetFilePath("schedule");

            if (filePath == null)
            {
                Console.WriteLine("File Path is null");
            }

            IEnumerable <string> folderList = Directory.EnumerateDirectories(filePath.Path);

            foreach (var scheduleFilePath in folderList)
            {
                Console.WriteLine(scheduleFilePath);

                DateTime lastEditFolder = Directory.GetLastWriteTime(scheduleFilePath);

                DirectoryInfo Directorys = new DirectoryInfo(scheduleFilePath); //Assuming Test is your Folder
                FileInfo[]    Files      = Directorys.GetFiles("*.xlsm");       //Getting Text files

                if (Files.Length == 0)
                {
                    Console.WriteLine("Folder is empty, Continue the next one");
                    continue;
                }

                FileInfo LastFile   = Files[Files.Length - 1];
                string   folderName = GetScheduleClass(scheduleFilePath);
                // checking folder
                var scheduleClass = IScheduleQuery.GetScheduleClass(folderName);//CheckingFolder(folderName);

                if (scheduleClass != null)
                {
                    Console.WriteLine("Schedule Class is not Null");

                    if (!CheckingFolderModified(scheduleClass, lastEditFolder))
                    {
                        Console.WriteLine("Nothing changed, Countinue!");
                        continue;
                    }
                    scheduleClass.LastModified = lastEditFolder;
                    Console.WriteLine($"Last file: modified time:{scheduleClass.LastModified.ToString()}");

                    var updateSchProperties = scheduleClass.UpdateSchProperty;
                    if (updateSchProperties == null)
                    {
                        //update scheduleclass
                        updateSchProperties = new UpdateSchProperty
                        {
                            FileName     = LastFile.Name,
                            CreatedDate  = LastFile.CreationTime,
                            ModifiedDate = LastFile.LastWriteTime,
                        };
                        success = IScheduleQuery.AddNewScheduleProperties(updateSchProperties);

                        if (success)
                        {
                            Console.WriteLine("Add new schedule class property successfull");
                        }
                        else
                        {
                            Console.WriteLine("Add new schedule class property error");
                        }
                    }
                    else
                    {
                        string time1 = updateSchProperties.ModifiedDate.ToString("MM/dd/yyyy, hh:mm:");
                        string time2 = LastFile.LastWriteTime.ToString("MM/dd/yyyy, hh:mm:");
                        if (time1 == time2)
                        {
                            Console.WriteLine("Nothing changed, Continue!");
                            continue;
                        }
                    }

                    Console.WriteLine("Update Excel file:{0}", LastFile);
                    //update file
                    UpdateScheduleFile(LastFile, scheduleClass);

                    scheduleClass.UpdateSchProperties_Id = updateSchProperties.id;
                    success = IScheduleQuery.UpdateScheuleClass(scheduleClass);

                    if (success)
                    {
                        Console.WriteLine("Update schedule class successfully");
                    }
                    else
                    {
                        Console.WriteLine("Update schedule class error");
                    }

                    updateSchProperties.FileName     = LastFile.Name;
                    updateSchProperties.CreatedDate  = LastFile.CreationTime;
                    updateSchProperties.ModifiedDate = LastFile.LastWriteTime;

                    success = IScheduleQuery.UpdateScheuleProperties(updateSchProperties);

                    if (success)
                    {
                        Console.WriteLine("Update schedule class property successfully");
                    }
                    else
                    {
                        Console.WriteLine("Update schedule class property error");
                    }

                    Console.WriteLine("Finished add");
                }
                else
                {
                    Console.WriteLine("Schedule Class is null");
                    // add new folder add new file
                    ScheduleClass schClass = new ScheduleClass
                    {
                        Name         = folderName,
                        LastModified = lastEditFolder
                    };

                    success = IScheduleQuery.AddNewScheuleClass(schClass);
                    if (success)
                    {
                        Console.WriteLine("Add new schedule class successfully");
                    }
                    else
                    {
                        Console.WriteLine("Add new schedule class error");
                    }

                    //update file
                    UpdateScheduleFile(LastFile, schClass);

                    UpdateSchProperty prop = new UpdateSchProperty
                    {
                        FileName     = LastFile.Name,
                        CreatedDate  = LastFile.CreationTime,
                        ModifiedDate = LastFile.LastWriteTime
                    };

                    success = IScheduleQuery.AddNewScheduleProperties(prop);

                    if (success)
                    {
                        Console.WriteLine("Add new schedule class property successfully");
                    }
                    else
                    {
                        Console.WriteLine("Add new schedule class property error");
                    }

                    schClass.UpdateSchProperties_Id = prop.id;

                    success = IScheduleQuery.UpdateScheuleClass(schClass);

                    if (success)
                    {
                        Console.WriteLine("Update schedule class successfully");
                    }
                    else
                    {
                        Console.WriteLine("Update schedule class error");
                    }
                }
            }
        }