Esempio n. 1
0
        public HttpResponseMessage AddSubject([FromBody] TtLesson newSubject, [FromUri] string schoolYear)
        {
            try
            {
                using (var ctx = new TeachersBookEntities2())
                {
                    var identity = (ClaimsIdentity)User.Identity;
                    var id       = ((ClaimsIdentity)User.Identity).FindFirst("id");

                    var returnObj = new List <TtLesson>();

                    var userQuery =
                        from u in ctx.UserData
                        where u.id.ToString() == id.Value.ToString()
                        select u;

                    var user = userQuery.FirstOrDefault <UserData>();

                    var schoolYearsQuery =
                        from sy in user.SchoolYears
                        where sy.schoolYear.ToString() == schoolYear
                        select sy;

                    var _schoolYear = schoolYearsQuery.FirstOrDefault <SchoolYears>();

                    var currentSchoolClass =
                        from sy in ctx.Classes
                        where sy.SchoolYears.schoolYear == schoolYear && sy.id.ToString() == newSubject.TtClass.id
                        select sy;

                    var newSubjectItem = new Subjects();
                    newSubjectItem.color       = newSubject.color;
                    newSubjectItem.description = newSubject.name;
                    newSubjectItem.id          = Guid.NewGuid();
                    newSubjectItem.@class      = currentSchoolClass.FirstOrDefault <Classes>().id;
                    _schoolYear.Subjects.Add(newSubjectItem);

                    ctx.SaveChanges();

                    return(Request.CreateResponse(HttpStatusCode.OK, "success! New item id: " + newSubjectItem.id.ToString()));
                }
            }
            catch (Exception ex)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "error: " + ex.Message.ToString()));
            }
        }
Esempio n. 2
0
        public HttpResponseMessage RemoveSubject([FromUri] string subjectToRemoveId, [FromUri] string schoolYear)
        {
            try
            {
                using (var ctx = new TeachersBookEntities2())
                {
                    var identity = (ClaimsIdentity)User.Identity;
                    var id       = ((ClaimsIdentity)User.Identity).FindFirst("id");

                    var returnObj = new List <TtLesson>();

                    var userQuery =
                        from u in ctx.UserData
                        where u.id.ToString() == id.Value.ToString()
                        select u;

                    var user = userQuery.FirstOrDefault <UserData>();

                    var schoolYearsQuery =
                        from sy in user.SchoolYears
                        where sy.schoolYear.ToString() == schoolYear
                        select sy;

                    var _schoolYear = schoolYearsQuery.FirstOrDefault <SchoolYears>();

                    var subjectToRemoveQuery =
                        from su in _schoolYear.Subjects
                        where su.id.ToString() == subjectToRemoveId
                        select su;

                    var subjectItemToRemove = subjectToRemoveQuery.FirstOrDefault <Subjects>();

                    ctx.Subjects.Remove(subjectItemToRemove);

                    ctx.SaveChanges();

                    return(Request.CreateResponse(HttpStatusCode.OK, "success"));
                }
            }
            catch (Exception ex)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "error: " + ex.Message.ToString()));
            }
        }
Esempio n. 3
0
        public HttpResponseMessage SetAllSubjects([FromBody] Timetable timetable, [FromUri] string schoolYear)
        {
            int rowCounter    = 0;
            int columnCounter = 0;

            try
            {
                using (var ctx = new TeachersBookEntities2())
                {
                    var identity = (ClaimsIdentity)User.Identity;
                    var id       = ((ClaimsIdentity)User.Identity).FindFirst("id");

                    var userQuery =
                        from u in ctx.UserData
                        where u.id.ToString() == id.Value.ToString()
                        select u;

                    var user = userQuery.FirstOrDefault <UserData>();

                    var schoolYearsQuery =
                        from sy in user.SchoolYears
                        where sy.schoolYear.ToString() == schoolYear
                        select sy;

                    var _schoolYear = schoolYearsQuery.FirstOrDefault <SchoolYears>();

                    var timetabelDb     = _schoolYear.TimeTables.FirstOrDefault <TimeTables>();
                    var timetableRowsDb = timetabelDb.TimeTableRows.OrderBy(x => x.rowNo).ToList();

                    foreach (var timetablerow in timetable.rows)
                    {
                        if (rowCounter > timetableRowsDb.Count - 1)
                        {
                            //last row is new
                            AddNewRowToTimetable(ctx, rowCounter, timetabelDb, timetablerow);
                        }
                        else
                        {
                            if (timetableRowsDb[rowCounter].id.ToString() != timetablerow.id)
                            {
                                //rowNo chnaged
                            }

                            if (timetablerow.isNew)
                            {
                                //row is new
                                AddNewRowToTimetable(ctx, rowCounter, timetabelDb, timetablerow);
                            }
                        }

                        //TtSubjectsRowItem TeachersBookDescriptionItem = new TtSubjectsRowItem();
                        //TeachersBookDescriptionItem.day = 0;
                        //TeachersBookDescriptionItem.hour = currentRowNo;
                        //TeachersBookDescriptionItem.description = timetablerowDb.start + " - " + timetablerowDb.end;

                        //timetableRow.subjects.Add(TeachersBookDescriptionItem);

                        //var items = timetablerowDb.TimeTableIItems.ToList<TimeTableIItems>();

                        //foreach (TimeTableIItems item in items)
                        //{
                        //    if (item.type == "subject")
                        //    {
                        //        timetableRow.rowType = "subject";
                        //        TtSubjectsRowItem newRowItem = new TtSubjectsRowItem();
                        //        newRowItem.day = item.day ?? default(int);
                        //        newRowItem.hour = currentRowNo;
                        //        newRowItem.description = item.description;
                        //        newRowItem.id = item.id.ToString();

                        //        TtLesson newLesson = new TtLesson();
                        //        newLesson.id = item.SubjectToTimeTableHours.Subjects.id.ToString();
                        //        newLesson.name = item.SubjectToTimeTableHours.Subjects.description;
                        //        newLesson.color = item.SubjectToTimeTableHours.Subjects.color;

                        //        TtClass newClass = new TtClass();
                        //        newClass.id = item.SubjectToTimeTableHours.Subjects.Classes.id.ToString();
                        //        newClass.name = item.SubjectToTimeTableHours.Subjects.Classes.name;

                        //        newLesson.TtClass = newClass;
                        //        newRowItem.lesson = newLesson;

                        //        timetableRow.subjects.Add(newRowItem);
                        //    }
                        //    else
                        //    {
                        //        timetableRow.rowType = "break";
                        //        TtSubjectsRowItem newRowItem = new TtSubjectsRowItem();
                        //        newRowItem.id = item.id.ToString();
                        //        newRowItem.day = item.day ?? default(int);
                        //        newRowItem.hour = currentRowNo;
                        //        newRowItem.description = item.description;

                        //        timetableRow.subjects.Add(newRowItem);
                        //    }
                        //}

                        rowCounter++;
                    }

                    ctx.SaveChanges();
                }

                return(Request.CreateResponse(HttpStatusCode.OK, "success"));
            }
            catch (Exception ex)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, string.Format("Error while saving timetable! Error occured at row {0}. Message: '{1}'", rowCounter.ToString(), ex.Message)));
            }
        }