Beispiel #1
0
        /// <summary>
        /// Обновление списка задач в БД
        /// </summary>
        /// <param name="list">Список задач BL</param>
        public static void UpdateTaskList(TListBL list)
        {
            TList original = DBManager.TaskLists.Read(list.Id);

            original.ListId = list.ListId;
            original.Name   = list.Name;
            DBManager.TaskLists.Update(original);
        }
Beispiel #2
0
        /// <summary>
        /// Создание задачи в БД с записью ее в лист и возвратом id задачи
        /// </summary>
        /// <param name="text">Текст задачи</param>
        /// <param name="idOfList">Id листа</param>
        /// <returns>Id задачи</returns>
        public static (int, string) CreateTaskInList(string text, int idOfList)
        {
            var time = DateTime.Now;
            int id   = CreateTask(new TaskBL()
            {
                Text = text, isDone = false, Time = $"{time.ToShortTimeString()} {time.ToShortDateString()}"
            });
            TListBL list = ReadTList(idOfList);

            UpdateTaskList(new TListBL()
            {
                Id = list.Id, Name = list.Name, ListId = list.ListId + ',' + id.ToString()
            });
            return(id, $"{time.ToShortTimeString()} {time.ToShortDateString()}");
        }
Beispiel #3
0
        /// <summary>
        /// Возвращает последовательность задач, принадлежищих списку задач, и имя списка задач
        /// </summary>
        /// <param name="id">Номер списка задач</param>
        /// <returns></returns>
        public static KeyValuePair <string, IEnumerable <TaskBL> > GetTasksNameOfList(int id)
        {
            TListBL          list  = Automapper.Automapper.GetTList(id);
            HashSet <TaskBL> tasks = new HashSet <TaskBL>();

            if (list != null && list.ListId.Length != 0)
            {
                foreach (int i in list.ListId.Split(',').Where(x => x != string.Empty).Select(x => int.Parse(x)))
                {
                    TaskBL x = Automapper.Automapper.GetTask(i);
                    if (x != null)
                    {
                        tasks.Add(x);
                    }
                }
                return(new KeyValuePair <string, IEnumerable <TaskBL> >(list.Name, tasks));
            }
            return(new KeyValuePair <string, IEnumerable <TaskBL> >(list.Name, null));
        }
Beispiel #4
0
        /// <summary>
        /// Возвращает последовательность задач, принадлежищих списку задач
        /// </summary>
        /// <param name="id">Номер списка задач</param>
        /// <returns></returns>
        public static HashSet <TaskBL> GetTasksOfList(int id)
        {
            HashSet <TaskBL> res  = new HashSet <TaskBL>();
            TListBL          list = Automapper.Automapper.GetTList(id);

            if (list != null)
            {
                IEnumerable <int> ids = list.ListId.Split(',').Where(x => char.IsDigit(x[0])).Select(x => int.Parse(x));
                foreach (int i in ids)
                {
                    TaskBL x = Automapper.Automapper.GetTask(i);
                    if (x != null)
                    {
                        res.Add(x);
                    }
                }
            }
            return(res);
        }
Beispiel #5
0
        /// <summary>
        /// Удаление задачи из БД
        /// </summary>
        /// <param name="id">Id задачи</param>
        public static bool DeleteTask(int id, int idOfList)
        {
            TListBL curList             = ReadTList(idOfList);
            IEnumerable <string> newIds = curList.ListId.Split(',').Where(x => x != string.Empty).Select(x => int.Parse(x))
                                          .Where(x => x != id).Select(x => x.ToString());

            StringBuilder sb = new StringBuilder();

            foreach (string newId in newIds)
            {
                sb.Append(newId + ',');
            }
            if (sb.Length > 0)
            {
                sb.Remove(sb.Length - 1, 1);
            }

            UpdateTaskList(new TListBL()
            {
                Id = curList.Id, Name = curList.Name, ListId = sb.ToString()
            });

            bool belongsOtherList = false;

            foreach (var list in ReadLists())
            {
                if (list.Id != idOfList && list.ListId.Split(',').Select(x => int.Parse(x)).Contains(id))
                {
                    belongsOtherList = true;
                    break;
                }
            }

            if (!belongsOtherList)
            {
                return(DBManager.Tasks.Delete(id));
            }
            return(true);
        }
Beispiel #6
0
 /// <summary>
 /// Преобразование TListBL -> TList
 /// </summary>
 public static TList ReverseTListBL(TListBL task) => Mapper.Map <TList>(task);
Beispiel #7
0
 /// <summary>
 /// Создание списка задач в БД
 /// </summary>
 /// <param name="task">Список задач не должен иметь инициализированного Id !</param>
 public static void CreateTList(TListBL list) => DBManager.TaskLists.Create(Automapper.Automapper.ReverseTListBL(list));