From 3f634285ae9cd73fa963800b541409d24d958da0 Mon Sep 17 00:00:00 2001 From: "Valeriano A.R" Date: Wed, 30 Sep 2015 23:58:15 +0200 Subject: [PATCH] FrmBoard: Delete button. --- VAR.Focus.Web/Code/BusinessLogic/Boards.cs | 29 ++++++++++++++++++++-- VAR.Focus.Web/Pages/FrmBoard.cs | 21 ++++++++++++++++ 2 files changed, 48 insertions(+), 2 deletions(-) diff --git a/VAR.Focus.Web/Code/BusinessLogic/Boards.cs b/VAR.Focus.Web/Code/BusinessLogic/Boards.cs index ce55aa3..47f4593 100644 --- a/VAR.Focus.Web/Code/BusinessLogic/Boards.cs +++ b/VAR.Focus.Web/Code/BusinessLogic/Boards.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Linq; using VAR.Focus.Web.Code.Entities; namespace VAR.Focus.Web.Code.BusinessLogic @@ -46,7 +47,7 @@ namespace VAR.Focus.Web.Code.BusinessLogic public List Boards_GetListForUser(string userName) { // FIXME: filter by permissions - return _boards; + return _boards.Where(board => board.Active).ToList(); } public Board Board_GetByIDBoard(int idBoard) @@ -72,7 +73,6 @@ namespace VAR.Focus.Web.Code.BusinessLogic _lastIDBoard++; board = new Board(); board.IDBoard = _lastIDBoard; - board.Active = true; board.CreatedBy = userName; board.CreatedDate = currentDate; _boards.Add(board); @@ -85,6 +85,8 @@ namespace VAR.Focus.Web.Code.BusinessLogic board.Title = title; board.Description = description; + + board.Active = true; board.ModifiedBy = userName; board.ModifiedDate = currentDate; @@ -93,6 +95,29 @@ namespace VAR.Focus.Web.Code.BusinessLogic return board; } + public bool Boards_DelBoard(int idBoard, string userName) + { + DateTime currentDate = DateTime.UtcNow; + Board board; + if (idBoard == 0) + { + return false; + } + else + { + board = Board_GetByIDBoard(idBoard); + } + if (board == null) { return false; } + + board.Active = false; + board.ModifiedBy = userName; + board.ModifiedDate = currentDate; + + SaveData(); + + return true; + } + #endregion #region Private methods diff --git a/VAR.Focus.Web/Pages/FrmBoard.cs b/VAR.Focus.Web/Pages/FrmBoard.cs index 8f27fdc..9688036 100644 --- a/VAR.Focus.Web/Pages/FrmBoard.cs +++ b/VAR.Focus.Web/Pages/FrmBoard.cs @@ -67,6 +67,18 @@ namespace VAR.Focus.Web.Pages typeof(FrmBoard).Name)); } + private void BtnDelete_Click(object sender, EventArgs e) + { + CButton btnEdit = (CButton)sender; + int idBoard = Convert.ToInt32(btnEdit.CommandArgument); + + if (Boards.Current.Boards_DelBoard(idBoard, CurrentUser.Name)) + { + Controls.Clear(); + FrmBoard_InitIndex(); + } + } + #endregion #region Private methods @@ -103,6 +115,15 @@ namespace VAR.Focus.Web.Pages btnEdit.CommandArgument = Convert.ToString(board.IDBoard); btnEdit.Click += BtnEdit_Click; pnlButtons.Controls.Add(btnEdit); + var btnDelete = new CButton + { + ID = string.Format("btnDelete{0}", board.IDBoard), + Text = "Delete", + }; + btnDelete.CommandArgument = Convert.ToString(board.IDBoard); + btnDelete.Click += BtnDelete_Click; + btnDelete.Attributes.Add("onclick", String.Format("return confirm('{0}');", "¿Are you sure to delete?")); + pnlButtons.Controls.Add(btnDelete); pnlBoardSelector.Controls.Add(pnlButtons); return pnlBoardSelector;