コード例 #1
0
ファイル: EditForm.cs プロジェクト: MarkHXB/Calendar
        private void GenerateFollowLine(DataModel.Task task)
        {
            DateTime   now  = DateTime.Now;
            PictureBox line = null;

            //Still waiting
            if (task.IsComplete == 0 && now.Day < MainFormModel.Day)
            {
                line = FollowLine("waiting");
            }
            //Unfinished
            else if (task.IsComplete == 0 && now.Day > MainFormModel.Day)
            {
                line = FollowLine("unfinished");
            }
            else if (task.IsComplete == 0 && now.Day == MainFormModel.Day)
            {
                line = FollowLine("waiting");
            }
            //Still waiting
            else if (task.IsComplete == 1)
            {
                line = FollowLine("complete");
            }

            showPnTaskPn.Controls.Add(line);

            lastFollowLinePosY += 109;
        }
コード例 #2
0
 public Tuple <bool, string, long> Save()
 {
     try
     {
         long id = 0;
         using (Easycase.DataModel.EasyCaseDBEntities DB = new DataModel.EasyCaseDBEntities())
         {
             var task = new DataModel.Task
             {
                 Notes       = this.Notes,
                 CreatedBy   = this.CreatedBy,
                 CreatedOn   = DateTime.Now,
                 Deleted     = false,
                 DueDate     = this.DueDate,
                 Name        = this.Name,
                 Priority    = this.Priority,
                 RelatedCase = this.RelatedCase,
                 Status      = this.Status,
                 TimeDue     = this.TimeDue,
                 Archived    = false
             };
             DB.Tasks.Add(task);
             DB.SaveChanges();
             id = task.ID;
             //Save Mentions and Assigned
             if (this.Mentions.Length > 0)
             {
                 foreach (var item in this.Mentions)
                 {
                     var mention = new DataModel.Mention
                     {
                         TaskId   = id,
                         ClientId = item
                     };
                     DB.Mentions.Add(mention);
                 }
             }
             if (this.Assigned.Length > 0)
             {
                 foreach (var item in this.Assigned)
                 {
                     var assign = new DataModel.Assigned
                     {
                         TaskId   = id,
                         ClientId = item
                     };
                     DB.Assigneds.Add(assign);
                 }
             }
             //
             DB.SaveChanges();
         }
         return(new Tuple <bool, string, long>(true, Messages.SUCCESS, id));
     }
     catch (Exception ex)
     {
         Logs.SaveLog(ex.Message);
         return(new Tuple <bool, string, long>(false, ex.Message, 0));
     }
 }
コード例 #3
0
ファイル: EditForm.cs プロジェクト: MarkHXB/Calendar
        private void taskPanel_Click(object sender, EventArgs e)
        {
            Panel panel = (Panel)sender;

            if (Clicked_TaskPanel[InputModel.Int(panel.Name)])
            {
                panel.Invalidate();

                Clicked_TaskPanel[InputModel.Int(panel.Name)] = false;
            }
            else
            {
                panel.CreateGraphics().DrawRectangle(new Pen(new SolidBrush(Color.Blue), 5), panel.ClientRectangle);

                Clicked_TaskPanel[InputModel.Int(panel.Name)] = true;
            }

            Label   Date    = panel.Controls.OfType <Label>().ToList().Where(x => x.Name.Contains("taskPanelTitle")).First();
            TextBox Content = panel.Controls.OfType <TextBox>().ToList().Where(x => x.Name.Contains("taskPanelContent")).First();

            foreach (var item in Loaded_Data_Tasks)
            {
                if (item.Content == Content.Text)
                {
                    SelectedRow_Task = item;
                }
            }

            foreach (var item in TaskModel.Date_Table)
            {
                foreach (var date in Loaded_Data_Tasks)
                {
                    if (date.Id == item.Task_ID)
                    {
                        SelectedRow_Date = item;
                    }
                }
            }

            try
            {
                Panel root = this.Controls.OfType <Panel>().ToList().Where(x => x.Name.Contains("statusPanel")).First();

                Panel modifyPanel = root.Controls.OfType <Panel>().ToList().Where(x => x.Name.Contains("modifyPanel")).First();

                TextBox alarmBox   = modifyPanel.Controls.OfType <TextBox>().ToList().Where(x => x.Name.Contains("modifyAlarmDate")).First();
                TextBox contentBox = modifyPanel.Controls.OfType <TextBox>().ToList().Where(x => x.Name.Contains("modifyContentBox")).First();


                alarmBox.Text   = MainFormModel.Year + "." + SelectedRow_Date.Month_ID.ToString() + "." + SelectedRow_Date.Date_ID.ToString();
                contentBox.Text = Content.Text;

                updatePanel = modifyPanel;
            }
            catch (Exception x)
            {
                Console.WriteLine(x.Message);
            }
        }
コード例 #4
0
ファイル: TaskService.cs プロジェクト: hegyiadam/TimeDotTrack
        private long getTime(DataModel.Task task)
        {
            long time = 0;

            foreach (var timelog in task.TimeLog)
            {
                time += timelog.Time;
            }
            return(time);
        }
コード例 #5
0
ファイル: TaskService.cs プロジェクト: hegyiadam/TimeDotTrack
        private Task toTaskDTO(DataModel.Task task)
        {
            var users = new List <string>();

            foreach (var u in task.User)
            {
                users.Add(u.Name);
            }
            DateTime time = DateTime.MinValue + TimeSpan.FromSeconds(getTime(task));

            return(new Task {
                Id = task.Id, Name = task.Name, Time = time, IsDone = task.isDone, Users = users
            });
        }
コード例 #6
0
ファイル: EditForm.cs プロジェクト: MarkHXB/Calendar
 private Color DecideCurrentTaskColor(DataModel.Task task)
 {
     if (task.Level == 1)
     {
         return(Color.FromArgb(70, Color.Blue));
     }
     else if (task.Level == 2)
     {
         return(Color.FromArgb(70, Color.Green));
     }
     else
     {
         return(Color.FromArgb(70, Color.Red));
     }
 }
コード例 #7
0
ファイル: TaskService.cs プロジェクト: hegyiadam/TimeDotTrack
        private DataModel.Task addTaskDetails(TaskDetails task)
        {
            var dbtask = new DataModel.Task()
            {
                Name        = task.Name,
                Description = task.Description,
                isDone      = task.IsDone
            };

            foreach (var user in ctx.UserSet.Where(r => task.Users.Contains(r.Name)))
            {
                dbtask.User.Add(user);
            }
            return(dbtask);
        }
コード例 #8
0
ファイル: AddTaskManually.cs プロジェクト: MarkHXB/Calendar
        private void button1_Click(object sender, EventArgs e)
        {
            Button btn = (Button)sender;

            Panel insertPanel = (Panel)btn.Parent;

            //Define insertPanel content
            int      Level = 0;
            DateTime Alarm;
            string   Content = "";

            int _level = GetherLevelInfo(insertPanel);

            if (_level != 0)
            {
                Level = _level;


                Alarm = GetherAlarmInfo(insertPanel);

                bool _content = InputModel.checkSqlInjection(GetherContentInfo(insertPanel));
                if (_content)
                {
                    MessageBox.Show("Jelentve lett az adminisztrátórnak"); return;
                }
                else
                {
                    Content = GetherContentInfo(insertPanel);
                }

                DataModel.Task insertModel = new DataModel.Task();
                insertModel.Alarm_Date = Alarm;
                insertModel.Level      = Level;
                insertModel.Content    = Content;

                TaskModel.Insert(null, insertModel);

                this.Close();
            }
            else
            {
                MessageBox.Show("Jelölj be legalább egy szintet!");
            }
        }
コード例 #9
0
ファイル: TaskService.cs プロジェクト: hegyiadam/TimeDotTrack
        private TaskDetails toTaskDetails(DataModel.Task task)
        {
            var users = new List <string>();

            foreach (var u in task.User)
            {
                users.Add(u.Name);
            }
            var      timelogs = new List <TimeLog>();
            DateTime time     = DateTime.MinValue + TimeSpan.FromSeconds(getTime(task));

            foreach (var tl in task.TimeLog)
            {
                timelogs.Add(new TimeLog {
                    Id = tl.Id, Time = DateTime.MinValue + TimeSpan.FromSeconds(tl.Time)
                });
            }
            return(new TaskDetails {
                Id = task.Id, Name = task.Name, Description = task.Description, IsDone = task.isDone, TimeLog = timelogs, Users = users, Time = time
            });
        }
コード例 #10
0
ファイル: EditForm.cs プロジェクト: MarkHXB/Calendar
        private void InsertTaskBtn_Click(object sender, EventArgs e)
        {
            Panel insertPanel = statusPanel.Controls.OfType <Panel>().ToList().Where(x => x.Name.Contains("insertPanel")).FirstOrDefault();

            //Define insertPanel content
            int      Level = 0;
            DateTime Alarm;
            string   Content = "";

            int _level = GetherLevelInfo(insertPanel);

            if (_level != 0)
            {
                Level = _level;
            }

            Alarm = GetherAlarmInfo(insertPanel);

            bool _content = InputModel.checkSqlInjection(GetherContentInfo(insertPanel));

            if (_content)
            {
                MessageBox.Show("Jelentve lett az adminisztrátórnak"); return;
            }
            else
            {
                Content = GetherContentInfo(insertPanel);
            }

            DataModel.Task insertModel = new DataModel.Task();
            insertModel.Alarm_Date = Alarm;
            insertModel.Level      = Level;
            insertModel.Content    = Content;

            TaskModel.Insert(null, insertModel);

            RefreshForm_Old();
        }
コード例 #11
0
ファイル: TaskService.cs プロジェクト: hegyiadam/TimeDotTrack
        private DataModel.Task addTask(TaskDetails task, long project_id)
        {
            var dbtask = new DataModel.Task {
                Name = task.Name, isDone = task.IsDone, Description = task.Description
            };
            var userlist = ctx.UserSet.Where(r => task.Users.Contains(r.Name));
            var usermap  = new Dictionary <string, DataModel.User>();

            foreach (var user in userlist)
            {
                dbtask.User.Add(user);
                usermap.Add(user.Name, user);
            }
            foreach (TimeLog timelog in task.TimeLog)
            {
                var user = usermap[timelog.Username];
                var tl   = ctx.TimeLogSet.Add(new DataModel.TimeLog {
                    Time = 0, User = user
                });
                dbtask.TimeLog.Add(tl);
            }
            ctx.ProjectSet.Find(project_id).Task.Add(dbtask);
            return(dbtask);
        }
コード例 #12
0
ファイル: EditForm.cs プロジェクト: MarkHXB/Calendar
        private Panel SetTaskPanelSettings(DataModel.Task task, int index)
        {
            Panel panel = new Panel()
            {
                Size      = new Size(430, 97),
                Name      = "taskPanel" + index.ToString(),
                BackColor = DecideCurrentTaskColor(task),
                Location  = new Point(64, lastTaskPanelPosY)
            };
            Button completeBtn = new Button()
            {
                Name                  = "completeBtn" + index.ToString(),
                Location              = new Point(0, 0),
                BackgroundImage       = Image.FromFile(@"C:\Users\bakon\OneDrive\Asztali gép\Infó\C#\Calendar\Assets\complete.png"),
                BackgroundImageLayout = ImageLayout.Zoom,
                Size                  = new Size(25, 25),
                FlatStyle             = FlatStyle.Flat,
                BackColor             = Color.FromArgb(70, Color.White)
            };

            completeBtn.FlatAppearance.BorderSize = 0;
            completeBtn.Click += taskCompleteBtn_Click;

            Label dayTitle = new Label()
            {
                Name      = "taskPanelTitle" + index.ToString(),
                Text      = task.Alarm_Date.ToString("MMM-dd"),
                Font      = new Font(new FontFamily(this.Font.Name), 14f),
                Location  = new Point(166, 1),
                BackColor = Color.Transparent
            };

            Button deleteBtn = new Button()
            {
                Name                  = "deleteBtn" + index.ToString(),
                BackgroundImage       = Image.FromFile(@"C:\Users\bakon\OneDrive\Asztali gép\Infó\C#\Calendar\Assets\delete.png"),
                BackgroundImageLayout = ImageLayout.Zoom,
                Size                  = new Size(25, 25),
                FlatStyle             = FlatStyle.Flat,
                BackColor             = Color.FromArgb(70, Color.White)
            };

            deleteBtn.Location = new Point(panel.Width - deleteBtn.Width, 0);
            deleteBtn.FlatAppearance.BorderSize = 0;
            deleteBtn.Click += taskDeleteBtn_Click;

            deleteBtn.FlatAppearance.BorderSize = 0;
            TextBox taskContent = new TextBox()
            {
                Name       = "taskPanelContent" + index.ToString(),
                Text       = task.Content,
                Font       = new Font(new FontFamily(this.Font.Name), 12f),
                Location   = new Point(14, 37),
                Size       = new Size(398, 31),
                Multiline  = true,
                ScrollBars = ScrollBars.Vertical
            };
            Label taskTime = new Label()
            {
                Name      = "taskPanelTimeWarn" + index.ToString(),
                Text      = task.Alarm_Date.ToString("HH:mm"),
                Font      = new Font(new FontFamily(this.Font.Name), 11f),
                Location  = new Point(5, panel.Height - 25),
                BackColor = Color.Transparent
            };

            Control[] panelContent =
            {
                dayTitle, taskContent, completeBtn, deleteBtn, taskTime
            };

            panel.Click += taskPanel_Click;

            panel.Controls.AddRange(panelContent);

            lastTaskPanelPosY += 119;

            return(panel);
        }