Example #1
0
        //завантаження файлу при запуску
        private void MainForm_Load(object sender, EventArgs e)
        {
            TimeSpendJournal temp = new TimeSpendJournal();

            try
            {
                //відкриття потоку і десеріалізація бінарного файлу
                FileStream      fs = new FileStream(Environment.CurrentDirectory + @"\UserData\" + login + ".data", FileMode.Open);
                BinaryFormatter bf = new BinaryFormatter();
                temp = (TimeSpendJournal)bf.Deserialize(fs);

                foreach (TimeSpending TimeSpending in temp.journal)
                {
                    if (TimeSpending.StartDate > look)
                    {
                        TimeSpending.ShowNotification();
                    }
                }

                fs.Close();
            }
            catch (SerializationException)
            {
                MessageBox.Show("Неправильний формат", "Помилка", MessageBoxButtons.OK);
            }
            //створення файлу в разі відсутності такого
            catch (FileNotFoundException)
            {
                using (StreamWriter sw = new StreamWriter(Environment.CurrentDirectory + @"\UserData\" + login + ".data", false)) { }
            }
            //заповнення даними форми
            currentData = temp;
            FillData();
        }
        public async Task <IActionResult> Edit(int id, [Bind("Id,Name,ProjectId,TaskId,Worker,TimeSpent,Status")] TimeSpending timeSpending)
        {
            if (id != timeSpending.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(timeSpending);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!TimeSpendingExists(timeSpending.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["ProjectId"] = new SelectList(_context.Project, "Id", "Name", timeSpending.ProjectId);
            ViewData["TaskId"]    = new SelectList(_context.Task, "Id", "Name", timeSpending.TaskId);
            ViewBag.Users         = new SelectList(userManager.Users.ToList(), "Id", "FullName", timeSpending.Worker);
            return(View(timeSpending));
        }
        public async Task <IActionResult> Create([Bind("Id,Name,ProjectId,TaskId,Worker,TimeSpent,Status")] TimeSpending timeSpending)
        {
            if (ModelState.IsValid)
            {
                _context.Add(timeSpending);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["ProjectId"] = new SelectList(_context.Project, "Id", "Name", timeSpending.ProjectId);
            ViewData["TaskId"]    = new SelectList(_context.Task, "Id", "Name", timeSpending.TaskId);
            ViewBag.Users         = new SelectList(userManager.Users.ToList(), "Id", "FullName", timeSpending.Worker);
            return(View(timeSpending));
        }
Example #4
0
        private void buttonOk_Click(object sender, EventArgs e)
        {
            try
            {
                DateTime startDate = dateCalendar.Value;
                DateTime endDate   = dateCalendar.Value;

                //якщо id == -1 відбувається додавання нової події
                if (id == -1)
                {
                    startDate = startDate.AddHours(Convert.ToDouble(hourLabel.Value) - startDate.Hour);
                    startDate = startDate.AddMinutes(Convert.ToDouble(minuteLabel.Value) - startDate.Minute);

                    endDate = endDate.AddHours(Convert.ToDouble(durationHour.Value) + startDate.Hour - endDate.Hour);
                    endDate = endDate.AddMinutes(Convert.ToDouble(durationMin.Value) + startDate.Minute - endDate.Minute);

                    TimeSpending TimeSpending = new TimeSpending(startDate, endDate, adress.Text, Convert.ToInt32(freq.Text), ActionField.Text);
                    TimeSpending.ShowNotification();
                    main.currentData.Add(TimeSpending);

                    //виведення нагадування
                    //WaitSomeTime(ActionField.Text);
                }
                //інакше редагуються дані
                else
                {
                    startDate = startDate.AddHours(Convert.ToDouble(hourLabel.Value) - startDate.Hour);
                    startDate = startDate.AddMinutes(Convert.ToDouble(minuteLabel.Value) - startDate.Minute);

                    endDate = endDate.AddHours(Convert.ToDouble(durationHour.Value) + startDate.Hour - endDate.Hour);
                    endDate = endDate.AddMinutes(Convert.ToDouble(durationMin.Value) + startDate.Minute - endDate.Minute);

                    main.currentData.journal[id].Change(startDate, endDate, adress.Text, Convert.ToInt32(freq.Text), ActionField.Text);

                    main.currentData.Sort();
                }

                main.FillData();
                Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Неправильні дані, спробуйте знову", "Помилка", MessageBoxButtons.OK);
            }
        }
 public void Update(TimeSpending timeSpending)
 {
     timeSpendingRepository.Update(timeSpending);
     unitOfWork.SaveChanges();
 }
 public void Insert(TimeSpending timeSpending)
 {
     timeSpendingRepository.Insert(timeSpending);
     unitOfWork.SaveChanges();
 }