コード例 #1
0
        public IHttpActionResult PutStudentInClass(int id, StudentInClass studentInClass)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

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

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

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

            return(StatusCode(HttpStatusCode.NoContent));
        }
コード例 #2
0
        public IActionResult addStudent(Students model)
        {
            {
                using (var db = _context)
                {
                    Student student = new Student
                    {
                        s_id      = model.Id,
                        s_name    = model.Name,
                        s_address = model.Address
                    };
                    StudentInClass sincl = new StudentInClass
                    {
                        c_name = model.Class,
                        s_id   = model.Id,
                        roll   = model.Roll
                    };

                    //how to add a record
                    db.StudentInClass.Add(sincl);
                    db.Student.Add(student);
                    db.SaveChanges();
                }
                return(RedirectToAction("List", "Student"));
            }
        }
コード例 #3
0
        public IHttpActionResult PostStudentInClass(StudentInClass studentInClass)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.StudentsInClasses.Add(studentInClass);
            studentInClass.Relevance = true;         //Делаем отметку, что ученик сейчас учится в этом классе
            studentInClass.StartDate = DateTime.Now; //Записываем дату начала обучения
            //+ Автоматически должна ставиться планруемая дата окончания обучения в данном классе
            //(не знаю, сейчас оставляют на второй год или нет)
            //Проставляем теоретическую дату окончания обучения в текущем классе
            studentInClass.EndingDate = new DateTime(studentInClass.StartDate.Year, 5, 31);

            //Учение может одновременно учиться только в одном классе, следовательно должен быть только один true, а остальные false
            foreach (StudentInClass s1 in db.StudentsInClasses.Where(e => e.Relevance == true))
            {
                s1.Relevance = false;
            }

            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = studentInClass.Id }, studentInClass));
        }
コード例 #4
0
        public IHttpActionResult GetStudentInClass(int id)
        {
            StudentInClass studentInClass = db.StudentsInClasses.Find(id);

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

            return(Ok(studentInClass));
        }
コード例 #5
0
        public IHttpActionResult PostStudentInClass(StudentInClass studentInClass)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.StudentsInClasses.Add(studentInClass);
            studentInClass.relevance = true;
            studentInClass.StartDate = DateTime.Now;
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = studentInClass.Id }, studentInClass));
        }
コード例 #6
0
        public IHttpActionResult DeleteStudentInClass(int id)
        {
            StudentInClass studentInClass = db.StudentsInClasses.Find(id);

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

            //db.StudentsInClasses.Remove(studentInClass);
            studentInClass.relevance  = false;
            studentInClass.EndingDate = DateTime.Now;
            db.SaveChanges();

            return(Ok(studentInClass));
        }
コード例 #7
0
        public List <StudentInClass> getStudentByEmail(string email)
        {
            SqlConnection         con  = null;
            List <StudentInClass> list = new List <StudentInClass>();

            try
            {
                con = connect("DBConnectionString"); // create a connection to the database using the connection String defined in the web config file


                String selectSTR = "select * from Student as s inner join [User] as u on u.[Email]=s.StudentEmail where StudentEmail='" + email + "'";

                SqlCommand cmd = new SqlCommand(selectSTR, con);

                // get a reader
                SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection); // CommandBehavior.CloseConnection: the connection will be closed after reading has reached the end

                while (dr.Read())
                {   // Read till the end of the data into a row
                    StudentInClass s = new StudentInClass();

                    list.Add(s);
                }
            }
            catch (Exception ex)
            {
                // write to log
                throw (ex);
            }
            finally
            {
                if (con != null)
                {
                    con.Close();
                }
            }

            return(list);
        }
コード例 #8
0
        public IHttpActionResult DeleteStudentInClass(int id)
        {
            StudentInClass studentInClass = db.StudentsInClasses.Find(id);

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

            //db.StudentsInClasses.Remove(studentInClass);
            studentInClass.Relevance = false;

            /*Скорее всего надо сделать проверку, чтобы хотя бы один из классов был true,
             * то есть ученик должен быть в одном классе. Но с другой стороны, он может окончить школу,
             * все 11 классов, может просто бросить школу, уйти в армию,
             * а потом вновь вернутся - много возможных вариантов*/

            studentInClass.EndingDate = DateTime.Now; //Записываем реальную дату окончания обучения ученика в классе взамен теоретической
            db.SaveChanges();

            return(Ok(studentInClass));
        }
コード例 #9
0
        public int updatePtime([FromBody] Dictionary <string, string> info)
        {
            StudentInClass st = new StudentInClass();

            return(st.updatePtime(info));
        }
コード例 #10
0
        // GET api/<controller>
        //public List<StudentInClass> getStudents()
        //{
        //    StudentInClass s = new StudentInClass();
        //    return s.getStudents();
        //}
        public List <StudentInClass> getStudentByEmail(string email)
        {
            StudentInClass s = new StudentInClass();

            return(s.getStudentByEmail(email));
        }