Пример #1
0
        public IHttpActionResult PutDeparments(int id, Deparments deparments)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != deparments.Id)
            {
                return(BadRequest());
            }

            db.Entry(deparments).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!DeparmentsExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Пример #2
0
        public IHttpActionResult PostDeparments(int id, Deparments deparments)
        {
            Deparments curDep = db.Deparments.Find(id);

            if (curDep == null)
            {
                return(NotFound());
            }
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }


            try
            {
                curDep.DepName = deparments.DepName;
                db.SaveChanges();
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
            return(Created("Employees DB", Mapper.Map <Deparments, Deparments>(curDep)));
        }
Пример #3
0
        public IHttpActionResult GetDeparments(int id)
        {
            Deparments deparments = db.Deparments.Find(id);

            if (deparments == null)
            {
                return(NotFound());
            }

            return(Ok(Mapper.Map <Deparments, Deparments> (deparments)));
        }
Пример #4
0
        public ActionResult AddNewDepartment(string deptName, int facultyID)
        {
            SISEntities db        = new SISEntities();
            Deparments  deparment = new Deparments
            {
                d_Name = deptName,
                d_Faculties_TableID = facultyID,
            };

            db.Deparments.Add(deparment);
            db.SaveChanges();

            return(View());
        }
Пример #5
0
        public IHttpActionResult DeleteDeparments(int id)
        {
            Deparments deparments = db.Deparments.Find(id);

            if (deparments == null)
            {
                return(NotFound());
            }

            db.Deparments.Remove(deparments);
            db.SaveChanges();

            return(Ok(Mapper.Map <Deparments, Deparments>(deparments)));
        }
Пример #6
0
        public IHttpActionResult PostDeparments(Deparments deparments)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }


            try
            {
                db.Deparments.Add(deparments);
                db.SaveChanges();
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
            return(Created("Employees DB", Mapper.Map <Deparments, Deparments>(deparments)));
        }
        public async Task <IActionResult> Create([Bind("Id,Name")] Deparments deparments)
        {
            var dep_name = from d in _context.Deparments
                           select d.Name;

            if (dep_name.Contains(deparments.Name))
            {
                ModelState.AddModelError("Name", "This name is already exist");
                return(View(deparments));
            }
            if (ModelState.IsValid && !dep_name.Contains(deparments.Name))
            {
                _context.Add(deparments);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }

            return(RedirectToAction("Index", new { error = "Не створено" }));
        }
        public async Task <IActionResult> Edit(long id, [Bind("Id,Name")] Deparments deparments)
        {
            var dep_name = from d in _context.Deparments
                           select d.Name;

            if (dep_name.Contains(deparments.Name))
            {
                ModelState.AddModelError("Name", "This name is already exist");
                return(View(deparments));
            }
            if (id != deparments.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid && !dep_name.Contains(deparments.Name))
            {
                try
                {
                    _context.Update(deparments);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!DeparmentsExists(deparments.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(RedirectToAction("Index", new { error = "Не редаговано" }));
        }
Пример #9
0
        public async Task <IActionResult> Import(IFormFile fileExcel)
        {
            if (ModelState.IsValid)
            {
                if (fileExcel != null)
                {
                    using (var stream = new FileStream(fileExcel.FileName, FileMode.Create))
                    {
                        await fileExcel.CopyToAsync(stream);

                        using (XLWorkbook workBook = new XLWorkbook(stream, XLEventTracking.Disabled))
                        {
                            //перегляд усіх листів (в даному випадку категорій)
                            foreach (IXLWorksheet worksheet in workBook.Worksheets)
                            {
                                if (worksheet.Name == "Departments")
                                {
                                    foreach (IXLRow row in worksheet.RowsUsed().Skip(1))
                                    {
                                        try
                                        {
                                            if (row.Cell(1) != null && row.Cell(2) != null)
                                            {
                                                Deparments dep   = new Deparments();
                                                Groups     group = new Groups();
                                                dep.Name = row.Cell(1).Value.ToString();
                                                group    = _context.Groups.Where(g => g.Name == row.Cell(2).Value.ToString()).FirstOrDefault();
                                                if (group == null)
                                                {
                                                    group      = new Groups();
                                                    group.Name = row.Cell(2).Value.ToString();
                                                }
                                                var names_d = (from d in _context.Deparments
                                                               select d.Name).ToList();
                                                if (!names_d.Contains(row.Cell(1).Value.ToString()))
                                                {
                                                    _context.Deparments.Add(dep);
                                                    await _context.SaveChangesAsync();
                                                }
                                                group.DepartmentId = _context.Deparments.Where(d => d.Name == dep.Name).FirstOrDefault().Id;

                                                var names_g = (from g in _context.Groups
                                                               select g.Name).ToList();
                                                if (!names_g.Contains(row.Cell(2).Value.ToString()))
                                                {
                                                    _context.Groups.Add(group);
                                                    await _context.SaveChangesAsync();

                                                    for (int i = 1; i < 8; i++)
                                                    {
                                                        Shedule shedule = new Shedule();
                                                        shedule.GroupId = group.Id;
                                                        shedule.DayId   = i;
                                                        _context.Shedule.Add(shedule);
                                                    }
                                                }
                                                else
                                                {
                                                    _context.Groups.Update(group);
                                                }
                                                await _context.SaveChangesAsync();
                                            }
                                        }
                                        catch (Exception)
                                        {
                                        }
                                    }
                                }
                                else if (worksheet.Name == "Schedules")
                                {
                                    foreach (IXLRow row in worksheet.RowsUsed().Skip(1))
                                    {
                                        try
                                        {
                                            Groups group   = _context.Groups.Where(g => g.Name == row.Cell(1).Value.ToString()).FirstOrDefault();
                                            var    names_g = (from g in _context.Groups
                                                              select g.Name).ToList();
                                            if (names_g.Contains(group.Name))
                                            {
                                                var names_l = (from l in _context.Lessons
                                                               select l.Name).ToList();
                                                Shedule shedule = _context.Shedule.Where(s => s.GroupId == group.Id && s.Day.Name == row.Cell(2).Value.ToString()).FirstOrDefault();
                                                for (int i = 3; i < 8; i++)
                                                {
                                                    LessonToschedule lts  = new LessonToschedule();
                                                    LessonToschedule lts1 = _context.LessonToschedule.Where(l => l.ScheduleId == shedule.Id && l.Num == i - 2).FirstOrDefault();
                                                    if (lts1 != null)
                                                    {
                                                        if (row.Cell(i).Value.ToString() != null && names_l.Contains(row.Cell(i).Value.ToString()))
                                                        {
                                                            lts1.ScheduleId = shedule.Id;
                                                            lts1.LessonId   = _context.Lessons.Where(l => l.Name == row.Cell(i).Value.ToString()).FirstOrDefault().Id;
                                                            _context.LessonToschedule.Update(lts1);
                                                        }
                                                        else
                                                        {
                                                            _context.LessonToschedule.Remove(lts1);
                                                        }
                                                    }
                                                    else
                                                    {
                                                        lts1 = new LessonToschedule();
                                                        if (row.Cell(i).Value.ToString() != null && names_l.Contains(row.Cell(i).Value.ToString()))
                                                        {
                                                            lts1.ScheduleId = shedule.Id;
                                                            lts1.Num        = i - 2;
                                                            lts1.LessonId   = _context.Lessons.Where(l => l.Name == row.Cell(i).Value.ToString()).FirstOrDefault().Id;
                                                            _context.LessonToschedule.Add(lts1);
                                                        }
                                                    }
                                                    await _context.SaveChangesAsync();
                                                }
                                            }
                                        }
                                        catch (Exception)
                                        {
                                            //logging самостійно :)
                                        }
                                    }
                                }
                                else
                                {
                                    //worksheet.Name - назва категорії. Пробуємо знайти в БД, якщо відсутня, то створюємо нову
                                    Groups newcat;
                                    var    c = (from cat in _context.Groups
                                                where cat.Name.Contains(worksheet.Name)
                                                select cat).ToList();
                                    if (c.Count > 0)
                                    {
                                        newcat = c[0];
                                        foreach (IXLRow row in worksheet.RowsUsed().Skip(1))
                                        {
                                            try
                                            {
                                                Students student = new Students();
                                                student = _context.Students.Where(s => s.Name == row.Cell(1).Value.ToString() && s.Surname == row.Cell(2).Value.ToString() && s.Gender == row.Cell(3).Value.ToString() && s.Birthday == Convert.ToDateTime(row.Cell(4).Value.ToString())).FirstOrDefault();
                                                if (student == null)
                                                {
                                                    student          = new Students();
                                                    student.Name     = row.Cell(1).Value.ToString();
                                                    student.Surname  = row.Cell(2).Value.ToString();
                                                    student.Gender   = row.Cell(3).Value.ToString();
                                                    student.Birthday = Convert.ToDateTime(row.Cell(4).Value.ToString());
                                                    student.GroupId  = newcat.Id;
                                                    _context.Students.Add(student);
                                                }
                                                else
                                                {
                                                    student.Name     = row.Cell(1).Value.ToString();
                                                    student.Surname  = row.Cell(2).Value.ToString();
                                                    student.Gender   = row.Cell(3).Value.ToString();
                                                    student.Birthday = Convert.ToDateTime(row.Cell(4).Value.ToString());
                                                    student.GroupId  = newcat.Id;
                                                    _context.Students.Update(student);
                                                }
                                                await _context.SaveChangesAsync();
                                            }
                                            catch (Exception)
                                            {
                                                //logging самостійно :)
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }

                await _context.SaveChangesAsync();
            }
            return(RedirectToAction("Index", "Home"));
        }