示例#1
0
        public static Object DeleteDocument(int documentID, int userID)
        {
            try
            {
                using (var db = new DBContextModel())
                {
                    var document = db.TblDocuments.Find(documentID);
                    if (document.UserFK != userID)
                    {
                        return(new { result = false, info = "Não Autorizado, não foi o utilizador a submeter o documento." });
                    }
                    if (!BClass.GetActivity(document.ClassFK ?? 0))
                    {
                        return(new { result = false, info = "A turma enconstra-se inativa, já não é possível eliminar o documento." });
                    }
                    db.TblDocuments.Remove(document);
                    db.SaveChanges();

                    var cla = db.TblClasses.Find(document.ClassFK);
                    BAction.SetActionToUser(String.Format("Eliminou o documento '{0}' da turma '{1}' da escola '{2}'", document.File.Split('.')[1] + document.File.Split('.')[2], cla.Year + cla.ClassDesc, db.TblSchools.Find(cla.SchoolFK).Name), userID);
                    return(new { result = true });
                }
            }
            catch (Exception) { return(new { result = false, info = "Não foi possível eliminar o documento." }); }
        }
示例#2
0
        public static Object CreateDocument(TblDocuments document, int userID)
        {
            try
            {
                using (var db = new DBContextModel())
                {
                    if (!BClass.GetActivity(document.ClassFK ?? 0))
                    {
                        return(new { result = false, info = "A turma enconstra-se inativa, já não é possível adicionar o documento." });
                    }
                    db.TblDocuments.Add(document);
                    db.SaveChanges();

                    var cla = db.TblClasses.Find(document.ClassFK);
                    BAction.SetActionToUser(String.Format("Adicionou documento '{0}' da turma '{1}' da escola '{2}'", document.File.Split('.')[1] + document.File.Split('.')[2], cla.Year + cla.ClassDesc, db.TblSchools.Find(cla.SchoolFK).Name), userID);
                    return(new { result = true });
                }
            }
            catch (Exception) { return(new { result = false, info = "Não foi possível eliminar o documento." }); }
        }
        public static Boolean SendNotificationToClass(NotificationClass notification, int userID)
        {
            try
            {
                using (var db = new DBContextModel())
                {
                    TblNotifications notif = new TblNotifications
                    {
                        Description = notification.Description,
                        Hour        = DateTime.Now,
                        Subject     = notification.Subject,
                        Urgency     = notification.Urgency,
                        Approval    = notification.Approval,
                        UserFK      = notification.SenderFK
                    };
                    db.TblNotifications.Add(notif);
                    db.SaveChanges();

                    var students = BClass.GetStudentsByClass(notification.ClassFK);
                    foreach (var student in students)
                    {
                        TblValidations valid = new TblValidations
                        {
                            ReceiverFK = BParenting.GetGuardians(student).FirstOrDefault(),
                            StudentFK  = student,
                            Accepted   = false,
                            Read       = false
                        };
                        db.TblValidations.Add(valid);
                        db.SaveChanges();
                    }

                    var cla = db.TblClasses.Find(notification.ClassFK);
                    BAction.SetActionToUser(String.Format("enviou uma notificação a turma '{0}'", cla.Year + cla.ClassDesc), userID);
                    return(true);
                }
            }
            catch (Exception) { return(false); }
        }