예제 #1
0
 public static Task CreateTask(Backlog backlog)
 {
     return new Task
     {
         BacklogId = backlog.Id,
         CreatedAt = DateTime.Now,
         CreatedById = ConnectedUserId,
         TypeId = GetTaskTypeId()
     };
 }
 public void SetBacklog(Backlog backlog)
 {
     ctrlDashBoardBacklogItemControl.SetBacklog(backlog);
 }
        public ctrlDashBoardBacklogItem(Backlog backlog)
            : this()
        {
            _backlog = backlog;

            ctrlDashBoardBacklogItemControl.Backlog = backlog;

            Columns = new DashBoardColumnsCollectionSize();
        }
 public ctrlDashBoardBacklogItemControl(Backlog backlog)
         :this()
 {
     SetBacklog(backlog);
 }
 public void SetBacklog(Backlog backlog)
 {
     _backlog = backlog;
     SetBacklogData();
 }
예제 #6
0
        private ctrlDashBoardBacklogItem CreateBackLogControl(Backlog backLog)
        {
            var mctrlbtem = new ctrlDashBoardBacklogItem(backLog)
            {
                Size = new Size(lblDone.Right - btnAdd.Left, 56),
                Dock = DockStyle.Top,
                Margin = new Padding(0, 4, 0, 2),
                Padding = new Padding(0, 5, 0, 0),
                Columns = DashBoardColumnsCollectionSize.Create(lblToDo.Width,
                                                                lblInProgress.Width,
                                                                lblDone.Width,
                                                                Width - ctrlDashBoardBacklogItem.DefaultSize.Width),
                OnAddClick = OnBacklogAddClick
            };

            if(UIHelper.OpenedBackLogs.Contains(backLog.Id))
                mctrlbtem.Expand();

            mctrlbtem.OnCollaptionChange += (sender, args) =>
            {
                Logger.Log("UIHelper.OpenedBackLogs updated");
                var mc = sender as ctrlDashBoardBacklogItem;

                if (mc == null)
                    return;

                if (args.Collapsed)
                    UIHelper.OpenedBackLogs.RemoveAll(i => i == mc.Backlog?.Id);
                else if (mc.Backlog != null)
                    UIHelper.OpenedBackLogs.Add(mc.Backlog.Id);
            };

            return mctrlbtem;
        }
예제 #7
0
        public static void ShowBackLogEditor(Backlog backlog, Func<Backlog, Task> onSave = null, Action onClose = null, Form parentForm = null)
        {
            var mc = new ctrlBacklogEditor(backlog);

            mc.OnSave = async mbacklog =>
            {
                if (onSave != null)
                    await onSave(mbacklog);

                mc.ParentForm?.Close();
            };

            mc.OnClose = () =>
            {
                onClose?.Invoke();

                mc.ParentForm?.Close();
            };

            mc.Style = null;
            ShowControlInForm(mc, ShowInFormControlSize.ControlSize, parentForm: parentForm);
        }
예제 #8
0
 public void AddBackLog(Backlog backlog)
 {
     pnlBackLogs.Controls.Add(CreateBackLogControl(backlog));
 }
예제 #9
0
        private static void OnAfterSaveTask(Backlog backlog, WebApiClasses.Classes.Task task, Action afterSave)
        {
            if (task == null)
                return;

            var mltasks = new List<WebApiClasses.Classes.Task>(backlog.Tasks)
            {
                task
            };

            backlog.Tasks = mltasks;

            UIHelper.UpdateStatusBarTexts();

            afterSave?.Invoke();
        }
예제 #10
0
 private static void OnBacklogAddClick(Backlog backlog, Action afterSave)
 {
     UIHelper.ShowTaskEditor(WPSuite.CreateTask(backlog), 
                             async t => await OnSaveTask(t, task => OnAfterSaveTask(backlog, task, afterSave)));
 }
예제 #11
0
 public ctrlBacklogEditor(Backlog backlog)
     : this()
 {
     SetBacklog(backlog);
 }
예제 #12
0
        private async Task<bool> BacklogSave()
        {
            try
            {
                UIHelper.ShowLoader("Save backlog");

                var mvalid = ValidateGui();
                if (!string.IsNullOrEmpty(mvalid))
                {
                    UIHelper.ShowError(mvalid);
                    return false;
                }

                MakeBindingsToEntity();

                var mres = await WebCallFactory.SaveBacklog(Backlog);

                if (mres.Error)
                {
                    Logger.Log(mres.Exception);
                    UIHelper.ShowError(mres.Exception);
                    return false;
                }

                Logger.Log("Task saved");

                _backlog = mres.Backlog;
                SetBacklogData();

                UIHelper.HideLoader();
                return true;
            }
            catch (Exception mex)
            {
                Logger.Log(mex);
                UIHelper.HideLoader();
                UIHelper.ShowError(mex);
                return false;
            }
            finally
            {
                UIHelper.HideLoader();
            }
        }