Ejemplo n.º 1
0
        /// <summary>
        /// Renders public event timetable component
        /// </summary>
        /// <param name="db">Database context</param>
        /// <param name="weeks">Weeks</param>
        /// <returns>Html component</returns>
        public HtmlString RenderEvents(SscisContext db, int userID, int weeks = 0)
        {
            DateTime now = DateTime.Now;

            now.AddDays(7 * weeks);
            DateTime start   = _startOfWeek(now, DayOfWeek.Monday);
            DateTime end     = start.AddDays(7);
            DateTime endTime = now.AddDays(7);

            List <Event> myEvents                  = db.Event.Where(e => e.IdTutor == userID && e.IsAccepted == true).ToList();
            List <Event> myExtraEvents             = db.Event.Where(e => e.IdApplicant == userID).ToList();
            List <Event> myEventsWithoutAttendance = db.Event.Where(e => (e.IdTutor == userID && e.IsAccepted == true && e.Attendance == null && e.IsCancelled == false && e.TimeTo <= DateTime.Now)).ToList();

            return(Render(myEvents, myExtraEvents, myEventsWithoutAttendance, userID));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Converts list of feedbacks to CSV string
        /// </summary>
        /// <param name="feedbacks">List of feedbacks</param>
        /// <param name="db">Database context</param>
        /// <returns>String with CSV content</returns>
        public string Convert(List <Feedback> feedbacks, SscisContext db)
        {
            StringBuilder builder = new StringBuilder();

            builder.Append(CSV_HEADER);
            builder.Append("\n");
            foreach (Feedback feedback in feedbacks)
            {
                Participation participation = db.Participation.Find(feedback.IdParticipation);
                Event         @event        = db.Event.Find(participation.IdEvent);
                builder.Append(FeedbackToString(feedback, @event));
                builder.Append("\n");
            }
            return(builder.ToString());
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Resolves list of subjects of application
        /// </summary>
        /// <param name="data">String with subjects ids and degrees</param>
        /// <param name="db">Db context</param>
        /// <returns>List of subjects</returns>
        public List <TutorApplicationSubject> ResolveSubjects(string data, SscisContext db)
        {
            List <TutorApplicationSubject> result = new List <TutorApplicationSubject>();
            string subjectsStr = data.Split(';')[0];
            string degreesStr  = data.Split(';')[1];

            string[] subjectsArr = subjectsStr.Split(' ');
            string[] degreesArr  = degreesStr.Split(' ');

            for (int i = 0; i < degreesArr.Length; i++)
            {
                if (subjectsArr[i].Length > 0 && degreesArr[i].Length > 0)
                {
                    result.Add(new TutorApplicationSubject()
                    {
                        IdSubjectNavigation = db.EnumSubject.Find(int.Parse(subjectsArr[i])), Degree = byte.Parse(degreesArr[i])
                    });
                }
            }

            return(result);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Renders public event timetable component
        /// </summary>
        /// <param name="db">Database context</param>
        /// <param name="weeks">Weeks</param>
        /// <returns>Html component</returns>
        public HtmlString RenderPublic(SscisContext db, int weeks = 0)
        {
            DateTime now = DateTime.Now;

            now.AddDays(7 * weeks);
            DateTime start = _startOfWeek(now, DayOfWeek.Monday);
            DateTime end   = start.AddDays(7);

            int month   = 1;
            int dbMonth = Convert.ToInt32(db.SscisParam.Where(p => p.ParamKey.Equals(SSCISParameters.TIMETABLEMONTHRANGE)).Single().ParamValue);

            if (dbMonth > month)
            {
                month = dbMonth;
            }

            DateTime endTime = now.AddMonths(month);

            List <Event> events = db.Event.Where(e => e.TimeFrom >= now && e.TimeFrom <= endTime && e.IsAccepted != null && e.IsAccepted.Value).OrderBy(e => e.TimeFrom).ToList();

            return(Render(events, "public-timetable"));
        }
Ejemplo n.º 5
0
 public EmailService(SscisContext context, IEmailConfiguration emailConfiguration)
 {
     Db = context;
     _emailConfiguration = emailConfiguration;
 }
Ejemplo n.º 6
0
 public SSCISSessionManager(SscisContext dbContext = null)
 {
     this.db = dbContext ?? new SscisContext();
 }
Ejemplo n.º 7
0
 public HomeController(SscisContext context, IEmailService emailService, IConfiguration configuration)
 {
     Db             = context;
     _emailService  = emailService;
     _configuration = configuration;
 }
Ejemplo n.º 8
0
        /// <summary>
        /// Renders attendance component
        /// </summary>
        /// <param name="db">Database context</param>
        /// <param name="userID">Logged user ID</param>
        /// <param name="weeks">Number of weeks</param>
        /// <returns>Html component</returns>
        public HtmlString RenderAttendance(SscisContext db, int userID, int weeks = 0)
        {
            List <Event> myEventsWithoutAttendance = db.Event.Where(e => (e.IdTutor == userID && e.IsAccepted == true && e.Attendance == null && e.IsCancelled == false && e.TimeTo <= DateTime.Now)).ToList();

            return(RenderAttendance(myEventsWithoutAttendance));
        }