Пример #1
0
 private void BusinessWndow_Closing(object sender, CancelEventArgs e)
 {
     if (BusinessMessageBox.Show("정말 종료하시겠습니까?", "종료", MessageBoxButton.YesNo) != MessageBoxResult.Yes)
     {
         e.Cancel = true;
     }
 }
Пример #2
0
        public static int GetTotalBusinessProgressAverage(string xml = BasicPath)
        {
            XmlDocument doc = new XmlDocument();

            doc.Load(xml);

            XmlNodeList progresses = doc.GetElementsByTagName("Progress");

            int totalLen = progresses.Count;
            int total    = 0;

            for (int i = 0; i < totalLen; i++)
            {
                int val;
                if (!int.TryParse(progresses[i].InnerText, out val))
                {
                    BusinessMessageBox.Show("진행도를 불러오는 중에 문제가 생겼습니다.", "진행도 결점", MessageBoxButton.OK, Error: true);

                    progresses[i].InnerText = "0";
                    continue;
                }

                total += val;
            }

            doc.Save(xml);

            return(total <= 0 || totalLen <= 0 ? -1 : total / totalLen);
        }
Пример #3
0
 private void CloseBtn_Click(object sender, RoutedEventArgs e)
 {
     if (BusinessMessageBox.Show("정말 종료하시겠습니까?", "종료", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
     {
         this.Close();
     }
 }
Пример #4
0
        private void SaveDeadlineDateBn_Click(object sender, RoutedEventArgs e)
        {
            if (IsDeadlineEditMode)
            {
                if (StartDate_DatePicker.SelectedDate != null && EndDate_DatePicker.SelectedDate != null)
                {
                    var startDate = StartDate_DatePicker.SelectedDate.Value;
                    var endDate   = EndDate_DatePicker.SelectedDate.Value;

                    int leftDays    = (EndDate_DatePicker.SelectedDate.Value - DateTime.Now).Days;
                    var absLeftDays = Math.Abs(leftDays);

                    LeftDatesLabel.Content = leftDays < 0 ? $"{absLeftDays}일 지남" : $"{absLeftDays}일 남음";
                    XmlBusinessManager.SetDeadline(BusinessName, new Deadline(startDate, endDate));

                    BusinessMessageBox.Show($"데드라인을 {startDate.ToShortDateString()}에서 {endDate.ToShortDateString()}까지로 설정했습니다.",
                                            "데드라인 설정", MessageBoxButton.OK);
                }
                else
                {
                    BusinessMessageBox.Show("데드라인 설정이 잘 못 되었습니다 올바른 값을 입력해주세요.", "정보 입력", Error: true);
                }
                SaveDeadlineDateBn.Content    = "데드라인 설정";
                SaveDeadlineDateBn.Background = (Brush)BrushConv.ConvertFrom("#FFF06200");
            }
            else
            {
                SaveDeadlineDateBn.Content    = "변경 확인";
                SaveDeadlineDateBn.Background = (Brush)BrushConv.ConvertFrom("#FF00B439");
            }

            StartDate_DatePicker.IsEnabled = !IsDeadlineEditMode;
            EndDate_DatePicker.IsEnabled   = !IsDeadlineEditMode;
            IsDeadlineEditMode             = !IsDeadlineEditMode;
        }
Пример #5
0
        private void EndDate_DatePicker_SelectedDateChanged(object sender, SelectionChangedEventArgs e)
        {
            var startDate = StartDate_DatePicker.SelectedDate == null ? StartDate_DatePicker.DisplayDate : StartDate_DatePicker.SelectedDate.Value;

            if (DateTime.Compare(startDate, EndDate_DatePicker.SelectedDate.Value) > 0)
            {
                BusinessMessageBox.Show("시작일 보다 이전의 날짜는 설정이 불가능합니다.", "정보 입력", Error: true);
                EndDate_DatePicker.SelectedDate = LastDeadlineEndDate;
            }
        }
Пример #6
0
 private void DiagramSaveBtn_Click(object sender, RoutedEventArgs e)
 {
     if (!SaveDiagramInformations())
     {
         BusinessMessageBox.Show("저장 도중에 문제가 생겼습니다.", "저장 오류", Error: true);
     }
     else
     {
         BusinessMessageBox.Show("저장 완료 / " + DateTime.Now.ToShortTimeString(), "저장 성공");
     }
 }
Пример #7
0
        private void SaveBtn_Click(object sender, RoutedEventArgs e)
        {
            Result.Title           = TitleTextBox.Text;
            Result.Content         = ContentTextBox.Text;
            Result.BackgroundColor = BackgroundGrid.Background;

            XmlBusinessManager.CreateNewMemo(BusinessName, Result);

            BusinessMessageBox.Show("새 메모를 만들었습니다.", "메모 생성");

            this.Close();
        }
Пример #8
0
        private void OpenBusinessBtn_Click(object sender, RoutedEventArgs e)
        {
            if (BusinessTitle.Text == "")
            {
                BusinessMessageBox.Show("선택된 업무가 없습니다.", "업무 선택");
                return;
            }

            BusinessWindow bw = new BusinessWindow(BusinessTitle.Text);

            bw.Show();
        }
Пример #9
0
 private void StartupWindow_Closing(object sender, System.ComponentModel.CancelEventArgs e)
 {
     if (Application.Current.Windows.Count / 2 > 1)
     {
         BusinessMessageBox.Show("현재 열려있는 모든 창을 다 닫아주세요.", "종료", Error: true);
         e.Cancel = true;
     }
     else if (BusinessMessageBox.Show("정말 종료하시겠습니까?", "종료", MessageBoxButton.YesNo) != MessageBoxResult.Yes)
     {
         e.Cancel = true;
     }
 }
Пример #10
0
        private void StartDate_DatePicker_SelectedDateChanged(object sender, SelectionChangedEventArgs e)
        {
            if (EndDate_DatePicker.SelectedDate == null)
            {
                return;
            }

            if (DateTime.Compare(StartDate_DatePicker.SelectedDate.Value, EndDate_DatePicker.SelectedDate.Value) > 0)
            {
                BusinessMessageBox.Show("종료일 보다 앞선 날짜는 설정이 불가능합니다.", "정보 입력", Error: true);
                StartDate_DatePicker.SelectedDate = LastDeadlineStartDate;
            }
        }
Пример #11
0
        private void DiagramLine_MouseRightButtonDown(object sender, MouseButtonEventArgs e) //DELETE LINE
        {
            Line line = sender as Line;

            if (!movingLine)
            {
                if (BusinessMessageBox.Show("정말 이 선을 삭제 하시겠습니까?", "다이어그램 선 삭제", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
                {
                    DiagramLines.RemoveAll(l => l.Line == line);
                    DiagramCanvas.Children.Remove(line);
                }
            }
        }
Пример #12
0
        //Refreshing
        public void RefreshTaskListView()
        {
            List <WorkTask> tasks = XmlBusinessManager.GetAllTasks(BusinessName);

            if (tasks == null)
            {
                BusinessMessageBox.Show("업무 파일에 심각한 오류가 있습니다.", "에러", MessageBoxButton.OK, true);
            }
            BusinessProgressBar.Value = XmlBusinessManager.ReassignBusinessProgress(BusinessName);
            TitleTextbox.Text         = "";
            DescribeTextbox.Text      = "";
            TaskPriorityTextbox.Text  = "";
            SelectedTask             = null;
            TaskListView.ItemsSource = tasks;
        }
Пример #13
0
        private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
        {
            if (BusinessMessageBox.Show("정말 종료하시겠습니까?", "종료", MessageBoxButton.YesNo) != MessageBoxResult.Yes)
            {
                e.Cancel = true;
            }

            if (!SaveDiagramInformations())
            {
                if (BusinessMessageBox.Show("저장 도중에 문제가 생겼습니다.\n종료하시겠습니까??", "종료", MessageBoxButton.YesNo) != MessageBoxResult.Yes)
                {
                    e.Cancel = true;
                }
            }
        }
Пример #14
0
        private void CreateNewTaskBtn_Click(object sender, RoutedEventArgs e)
        {
            if (TitleTextbox.Text != "" && DescribeTextbox.Text != "" && TaskPriorityTextbox.Text != "")
            {
                Result = new WorkTask(0, TitleTextbox.Text, DescribeTextbox.Text, TaskPriorityTextbox.Text);

                XmlBusinessManager.CreateNewTask(business, Result);
                BusinessMessageBox.Show($"새 업무, {Result.Title}를 생성 완료했습니다.", "업무 생성");
                this.Close();
            }
            else
            {
                BusinessMessageBox.Show("빈 칸을 채워주세요.", "정보 입력");
            }
        }
Пример #15
0
        //MouseDown EventHandler ---------
        private void DiagramElement_MouseDown(object sender, MouseButtonEventArgs e)
        {
            if (!(sender is StackPanel))
            {
                return;
            }

            diagramPanel = (StackPanel)sender;

            if (!movingLine && e.RightButton == MouseButtonState.Pressed)
            {
                if (DiagramLines.Any(l => l.CheckConnected(diagramPanel) != 0))
                {
                    BusinessMessageBox.Show("이 객체에 연결된 다이어그램선이 있습니다.", "다이어그램 객체 삭제");
                }
                else if (BusinessMessageBox.Show("정말 이 객체를 삭제하시겠습니까?", "다이어그램 객체 삭제", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
                {
                    DiagramUIElements.Remove(diagramPanel);
                    DiagramCanvas.Children.Remove(diagramPanel);
                }
            }
            else // If not trying to delete it
            {
                Func <List <DiagramLine>, UIElement, List <DiagramLine> > GetConnectedLines
                    = (Lines, BaseElement) =>
                    {
                    List <DiagramLine> lines = new List <DiagramLine>();
                    foreach (var line in Lines)
                    {
                        if (line.CheckConnected(BaseElement) != 0)
                        {
                            lines.Add(line);
                        }
                    }
                    return(lines);
                    };
                connectedLines = GetConnectedLines(DiagramLines, diagramPanel);
                MPoint1        = e.GetPosition(DiagramCanvas);
                MPoint2        = e.GetPosition(diagramPanel);

                MPoint1.X -= diagramPanel.Margin.Left + MPoint2.X;
                MPoint1.Y -= diagramPanel.Margin.Top + MPoint2.Y;

                Mouse.Capture(diagramPanel);

                MMove = true;
            }
        }
Пример #16
0
        private void RefreshBusinessList()
        {
            try
            {
                IEnumerable <Business> businesses = XmlBusinessManager.GetBusinesses();
                var val          = XmlBusinessManager.GetTotalBusinessProgressAverage();
                int progressAver = val > 100 ? 100 : val;

                BusinessListView.ItemsSource    = businesses;
                ProgressAverBar.Value           = progressAver;
                AttainedBusinessPercentage.Text = progressAver == -1 ? "전체 0% 달성" : $"전체 {progressAver}% 달성";
            }
            catch
            {
                BusinessMessageBox.Show("목록을 불러오는데에 실패하였습니다. 프로그램 파일을 건드렸는지 확인 부탁드립니다.", "에러", MessageBoxButton.OK, Error: true);
            }
        }
Пример #17
0
        //</Memo>
        //<According>
        private void AttachAccountingFile_Click(object sender, RoutedEventArgs e)
        {
            if (!Directory.Exists($"./{BusinessName}"))
            {
                IOBusiness.CreateBusinessDirectory(BusinessName);
            }

            OpenFileDialog ofd = new OpenFileDialog();

            if (ofd.ShowDialog() == true)
            {
                IOBusiness.AttachFileToAccountBook(BusinessName, ofd.FileName);

                BusinessMessageBox.Show("회계장부가 등록되었습니다.", "회계장부 파일");

                RefreshAccountingFiles();
            }
        }
Пример #18
0
        private void DeleteTaskBtn_Click(object sender, RoutedEventArgs e)
        {
            if (SelectedTask == null)
            {
                BusinessMessageBox.Show("선택된 업무가 없습니다.", "삭제 실패");
                return;
            }
            else if (BusinessMessageBox.Show($"정말 {SelectedTask.Title}를 삭제하시겠습니까?", "삭제", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
            {
                XmlBusinessManager.DeleteTask(BusinessName, SelectedTask.Index);

                BusinessMessageBox.Show($"{SelectedTask.Title}에 대한 삭제가 완료되었습니다.", "삭제 완료");

                SelectedTask = null;

                RefreshTaskListView();
            }
        }
        private void SubmitBtn_Click(object sender, RoutedEventArgs e)
        {
            if (BusinessTitle.Text == "")
            {
                BusinessMessageBox.Show("비지니스명을 지어주세요", "정보 입력");
                return;
            }
            else if (XmlBusinessManager.ExistBusiness(BusinessTitle.Text))
            {
                BusinessMessageBox.Show("존재하는 비지니스입니다.", "정보 입력", Error: true);
                return;
            }

            b.BusinessTitle = BusinessTitle.Text.Trim();
            b.Degdate       = DateTime.Now.ToShortDateString();
            b.Progress      = 0;

            int bs = 0, ms = 0;

            if (int.TryParse(BusinessScale_Textbox.Text, out bs))
            {
                b.BusinessScale = bs;
            }
            else
            {
                BusinessMessageBox.Show("숫자만 입력해주세요", "정보 입력", Error: true);
                return;
            }

            if (int.TryParse(MonthlySales_Textbox.Text, out ms))
            {
                b.MonthlySales = ms;
            }
            else
            {
                BusinessMessageBox.Show("숫자만 입력해주세요", "정보 입력", Error: true);
                return;
            }

            XmlBusinessManager.CreateNewBusiness(b);

            this.Close();
        }
Пример #20
0
        //Open Task File
        private void FileListbox_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            string selectedTitle = FileListbox.SelectedItem as string;

            if (SelectedTask == null || selectedTitle == null)
            {
                return;
            }

            if (BusinessMessageBox.Show($"{selectedTitle}을(를) 여시겠습니까?", "열기", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
            {
                try
                {
                    Process.Start($@"{AppDomain.CurrentDomain.BaseDirectory}/{BusinessName}/{SelectedTask.Title}/{selectedTitle}");
                }
                catch (Win32Exception)
                {
                    BusinessMessageBox.Show("열려고 시도했지만 연결된 프로그램이 없었습니다.", "열기 실패", Error: true);
                }
            }
        }
Пример #21
0
        private void DeleteBusinessBtn_Click(object sender, RoutedEventArgs e)
        {
            if (BusinessTitle.Text == "")
            {
                BusinessMessageBox.Show("선택된 업무가 없습니다.", "업무 선택");
                return;
            }

            string msg = $"정말로 {BusinessTitle.Text}/{BusinessProcessBar.Value}% 를 삭제하시겠습니까?";

            if (BusinessMessageBox.Show(msg, "삭제", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
            {
                if (XmlBusinessManager.ExistBusiness(BusinessTitle.Text))
                {
                    XmlBusinessManager.DeleteBusiness(BusinessTitle.Text);
                    BusinessTitle.Text = "";

                    RefreshBusinessList();
                }
            }
        }
Пример #22
0
        //Add Task File To taskDirectory ( csv, py any else)
        private void AddFileBtn_Click(object sender, RoutedEventArgs e)
        {
            if (SelectedTask == null)
            {
                return;
            }

            if (!Directory.Exists($"./{BusinessName}/{SelectedTask.Title}"))
            {
                IOBusiness.CreateTaskDirectory(BusinessName, SelectedTask.Title);
            }

            OpenFileDialog ofd = new OpenFileDialog();

            if (ofd.ShowDialog() == true)
            {
                IOBusiness.AttachFileToTask(BusinessName, SelectedTask.Title, ofd.FileName);

                BusinessMessageBox.Show("파일 추가가 완료되었습니다.", "업무 파일");

                RefreshTaskFiles();
            }
        }
Пример #23
0
        private void EditTaskBtn_Click(object sender, RoutedEventArgs e)
        {
            if (SelectedTask == null)
            {
                BusinessMessageBox.Show("선택된 업무가 없습니다.", "업무 선택");
                return;
            }

            if (IsEditMode) //saving
            {
                EditTaskBtn.Content    = "수정";
                EditTaskBtn.Background = Brushes.Gray;

                if (SelectedTask.Title == TitleTextbox.Text &&
                    SelectedTask.Content == DescribeTextbox.Text &&
                    SelectedTask.Priority == TaskPriorityTextbox.Text &&
                    SelectedTask.Accomplished == AccomplishCheckBox.IsChecked)
                {
                    BusinessMessageBox.Show("변경사항이 없습니다.", "정보 변경");
                }
                else
                {
                    if (SelectedTask.Title != TitleTextbox.Text)
                    {
                        var nowPath = AppDomain.CurrentDomain.BaseDirectory;

                        if (Directory.Exists($@".\{BusinessName}\{SelectedTask.Title}"))
                        {
                            Directory.Move($@"{nowPath}{BusinessName}\{SelectedTask.Title}", $@"{nowPath}{BusinessName}\{TitleTextbox.Text}");
                        }

                        XmlBusinessManager.SetTaskTitle(BusinessName, SelectedTask.Index, TitleTextbox.Text);
                    }
                    if (SelectedTask.Content != DescribeTextbox.Text)
                    {
                        XmlBusinessManager.SetTaskDescribeText(BusinessName, SelectedTask.Index, DescribeTextbox.Text);
                    }
                    if (SelectedTask.Priority != TaskPriorityTextbox.Text)
                    {
                        XmlBusinessManager.SetTaskPriority(BusinessName, SelectedTask.Index, TaskPriorityTextbox.Text);
                    }
                    if (SelectedTask.Accomplished != AccomplishCheckBox.IsChecked)
                    {
                        XmlBusinessManager.SetTaskAccomplished(BusinessName, SelectedTask.Index, bool.Parse(AccomplishCheckBox.IsChecked.ToString()));
                    }

                    BusinessMessageBox.Show("변경 완료되었습니다.", "정보 변경");
                    RefreshTaskListView();
                }
            }
            else
            {
                EditTaskBtn.Background = Brushes.Green;
                EditTaskBtn.Content    = "변경 확인";
            }

            TitleTextbox.IsEnabled        = !TitleTextbox.IsEnabled;
            DescribeTextbox.IsEnabled     = !DescribeTextbox.IsEnabled;
            TaskPriorityTextbox.IsEnabled = !TaskPriorityTextbox.IsEnabled;
            AccomplishCheckBox.IsEnabled  = !AccomplishCheckBox.IsEnabled;
            AddFileBtn.IsEnabled          = !AddFileBtn.IsEnabled;
            IsEditMode = !IsEditMode;
        }