Exemplo n.º 1
0
        public IActionResult AddTask([Bind("ID, StartDate, StartTime, EndDate, EndTime, Title, Description, IsEnd, EmployeesList")] TaskWithEmpsList taskEmp)
        {
            taskEmp.IsEnd = false;
            EmpInTask eit;
            Zadanie   task = new Zadanie();
            Employee  empl;

            task.ID          = taskEmp.ID;
            task.StartTime   = taskEmp.StartTime;
            task.StartDate   = taskEmp.StartDate;
            task.EndTime     = taskEmp.EndTime;
            task.EndDate     = taskEmp.EndDate;
            task.Title       = taskEmp.Title;
            task.Description = taskEmp.Description;
            task.IsEnd       = taskEmp.IsEnd;

            if (ModelState.IsValid)
            {
                foreach (var emp in taskEmp.EmployeesList.Where(e => e.checkBoxEmp == true))
                {
                    empl               = new Employee();
                    empl.EmployeeID    = emp.EmployeeID;
                    empl.Name          = emp.Name;
                    empl.Surname       = emp.Surname;
                    empl.DayOfBirthday = emp.DayOfBirthday;
                    empl.EmailAddress  = emp.EmailAddress;
                    empl.PhoneNumber   = emp.PhoneNumber;
                    empl.DeptID        = emp.DeptID;

                    eit         = new EmpInTask();
                    eit.Zadanie = task;
                    // Nie dodawać pracownika do relacji jako obiekt tylko dodawać jako ID :)
                    // Gdy pracownik już istnieje, a nie jest dodawany razem z zadaniem.
                    // Wtedy działa...
                    //eit.Employee = empl;
                    eit.EmployeeID = empl.EmployeeID;
                    _context.ZadaniaInTasks.Add(eit);
                }
                _context.SaveChanges();
                return(RedirectToAction("Main"));
            }
            return(View(taskEmp));
        }
Exemplo n.º 2
0
        public IActionResult EditTask(int id, [Bind("ID, StartDate, StartTime, EndDate, EndTime, Title, Description, IsEnd, EmployeesList")] TaskWithEmpsList taskEmp)
        {
            taskEmp.IsEnd = false;
            EmpInTask eit;
            Zadanie   task = new Zadanie();
            Employee  empl;

            task.ID          = taskEmp.ID;
            task.StartTime   = taskEmp.StartTime;
            task.StartDate   = taskEmp.StartDate;
            task.EndTime     = taskEmp.EndTime;
            task.EndDate     = taskEmp.EndDate;
            task.Title       = taskEmp.Title;
            task.Description = taskEmp.Description;
            task.IsEnd       = taskEmp.IsEnd;

            foreach (var emp in taskEmp.EmployeesList.Where(e => e.checkBoxEmp == true))
            {
                empl               = new Employee();
                empl.EmployeeID    = emp.EmployeeID;
                empl.Name          = emp.Name;
                empl.Surname       = emp.Surname;
                empl.DayOfBirthday = emp.DayOfBirthday;
                empl.EmailAddress  = emp.EmailAddress;
                empl.PhoneNumber   = emp.PhoneNumber;
                empl.DeptID        = emp.DeptID;

                eit           = new EmpInTask();
                eit.ZadanieID = task.ID;
                // Nie dodawać pracownika do relacji jako obiekt tylko dodawać jako ID :)
                // Gdy pracownik już istnieje, a nie jest dodawany razem z zadaniem.
                // Wtedy działa...
                //eit.Employee = empl;
                eit.EmployeeID = empl.EmployeeID;
                if (TaskEmp(eit.EmployeeID, eit.ZadanieID) == false)
                {
                    _context.ZadaniaInTasks.Add(eit);
                    _context.SaveChanges();
                }
            }

            foreach (var emp in taskEmp.EmployeesList.Where(e => e.checkBoxEmp == false))
            {
                eit            = new EmpInTask();
                eit.ZadanieID  = task.ID;
                eit.EmployeeID = emp.EmployeeID;
                if (TaskEmp(eit.EmployeeID, eit.ZadanieID) == true)
                {
                    _context.ZadaniaInTasks.Remove(eit);
                    _context.SaveChanges();
                }
            }

            if (id != task.ID)
            {
                return(Content("ID jest nie prawidłowe."));
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Zadania.Update(task);
                    _context.SaveChanges();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!TaskExist(task.ID))
                    {
                        return(Content("Zadanie nie istnieje"));
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Main)));
            }
            return(View(taskEmp));
        }