public async Task <IActionResult> Create(AssignmentsViewModel assignments)
        {
            try
            {
                if (_context.Assignments.Where(d => d.EmpId == assignments.Assignee.EmpId && d.TaskId == assignments.Assignee.TaskId).ToListAsync().Result.Count > 0)
                {
                    ModelState.AddModelError(string.Empty, "Error, Duplicate assignment.");
                }
            }
            catch (Exception)
            {
//Log error
            }

            if (ModelState.IsValid)
            {
                _context.Add(AssignmentsViewModel.ConvertViewModel(assignments));
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            else
            {
                return(View(new AssignmentsViewModel(_context)));
            }
        }
Пример #2
0
        public IEnumerable <AssignmentsViewModel> Get(int CourseId)
        {
            DigitalBoardMarkerContext   db  = new DigitalBoardMarkerContext();
            List <AssignmentsViewModel> lst = new List <AssignmentsViewModel>();

            foreach (Assignments s in db.Assignments)
            {
                if (s.CourseId == CourseId)
                {
                    AssignmentsViewModel a = new AssignmentsViewModel();
                    a.Id        = s.Id;
                    a.Title     = s.Title;
                    a.CreatedBy = db.Users.Where(b => b.Id == s.CreatedBy).FirstOrDefault().FirstName + " " + db.Users.Where(b => b.Id == s.CreatedBy).FirstOrDefault().LastName;
                    a.UpdatedBy = db.Users.Where(b => b.Id == s.UpdatedBy).FirstOrDefault().FirstName + " " + db.Users.Where(b => b.Id == s.UpdatedBy).FirstOrDefault().LastName;
                    var d = s.SubmissionDateTime.ToString("yyyy-M-dd hh:mm");
                    //DateTime d1 = new DateTime(d);
                    a.SubmissionDate         = s.SubmissionDateTime;
                    a.FilePath               = s.FilePath;
                    a.StartDateTime          = s.StartDateTime;
                    a.PostSubmissionDateTime = s.PostSubmissionDateTime;
                    a.Status = s.Status;
                    lst.Add(a);
                }
            }

            return(lst.ToList());
            //return new string[] { "value1", "value2" };
        }
Пример #3
0
        public IActionResult Put(int id, [FromBody] AssignmentsViewModel val)
        {
            DigitalBoardMarkerContext db = new DigitalBoardMarkerContext();

            if (db.Assignments.Any(b => b.Title == val.Title && b.FilePath == val.FilePath))
            {
                ModelState.AddModelError("UniqueAssignment", "This assignment already exists");
                return(BadRequest(ModelState));
            }
            //else if (val.SubmissionDateTime < DateTime.Now)
            //{
            //    ModelState.AddModelError("", "Enter valid Submission Date");
            //    return BadRequest(ModelState);
            //}
            else if (val.StartDateTime < DateTime.Now)
            {
                ModelState.AddModelError("", "Enter valid Submission Date");
                return(BadRequest(ModelState));
            }
            db.Assignments.Where(b => b.Id == id).FirstOrDefault().Title    = val.Title;
            db.Assignments.Where(b => b.Id == id).FirstOrDefault().FilePath = val.FilePath;
            db.Assignments.Where(b => b.Id == id).FirstOrDefault().PostSubmissionDateTime = val.PostSubmissionDateTime;
            //db.Assignments.Where(b => b.Id == id).FirstOrDefault().SubmissionDateTime = val.SubmissionDateTime;
            db.Assignments.Where(b => b.Id == id).FirstOrDefault().UpdatedOn = DateTime.Now;
            db.Assignments.Where(b => b.Id == id).FirstOrDefault().UpdatedBy = 1;
            // cd.UpdatedBy = db.Users.Where(b => b.Email == GetCurrentUserAsync().ToString()).FirstOrDefault().Id;
            db.SaveChanges();
            return(Ok());
        }
Пример #4
0
        public IActionResult Post([FromBody] AssignmentsViewModel val, int CourseId)
        {
            string tempFilePath = val.FilePath;

            val.FilePath = "Resources/Images/";
            val.FilePath = val.FilePath + tempFilePath;

            DigitalBoardMarkerContext db = new DigitalBoardMarkerContext();
            Assignments ass = new Assignments();

            ass.Title                  = val.Title;
            ass.FilePath               = val.FilePath;
            ass.SubmissionDateTime     = val.SubmissionDate;
            ass.StartDateTime          = val.StartDateTime;
            ass.Status                 = "Available";
            ass.PostSubmissionDateTime = val.SubmissionDate;
            ass.CreatedBy              = db.Users.Where(u => u.Email.Equals(val.Email)).FirstOrDefault().Id;
            ass.UpdatedBy              = db.Users.Where(u => u.Email.Equals(val.Email)).FirstOrDefault().Id;;
            ass.CreatedOn              = DateTime.Now;
            ass.UpdatedOn              = DateTime.Now;
            ass.CourseId               = db.Courses.Where(c => c.Id == CourseId).FirstOrDefault().Id;
            db.Assignments.Add(ass);

            db.SaveChanges();
            return(Ok());
        }
 // GET: Assignments/Create
 public IActionResult Create(int EmpId)
 {
     try
     {
         var items = _context.Assignments.Count();
         var item  = new AssignmentsViewModel(_context);
         return(View(item));
     }
     catch (Exception)
     {
         var item = new AssignmentsViewModel();
         ModelState.AddModelError(string.Empty, "Server Error. Please contact administrator."); return(View(item = null));
     }
 }
Пример #6
0
        /* GET: Assignments
         * This function renders the Assignments Index page that
         * shows a user all assignments he has due in a specific course
         */
        public ActionResult Index(int?id)
        {
            int courseId = Convert.ToInt32(id);
            //Getting the current user so that we can display his name and profile image in the corer
            account currUser = accountHelper.getCurrentUser(Session.SessionID);

            ViewBag.userName  = currUser.name;
            ViewBag.imagePath = currUser.imagePath;
            AssignmentsViewModel assign = new AssignmentsViewModel {
                assignments = assignmentService.GetAssignmentsOfCourse(id), user = currUser, courseId = courseId, gradingService = new Services.GradingService()
            };

            //rendering the Assignment indexpage
            return(View(assign));
        }
Пример #7
0
        // GET: Assignments/CreateAjax
        public ActionResult CreateAjax(UserEntity userEntity)
        {
            var userId       = userEntity.UserId;
            var alreadyExist = db.Assignments.Where(r => r.ApplicationUserId.Contains(userId));

            if (alreadyExist.Count() > 0)
            {
                return(RedirectToAction(userEntity.returnMethod, userEntity.returnController, new { id = userEntity.returnId, redirect = userEntity.returnTarget }));
            }

            var viewModel = new AssignmentsViewModel()
            {
                assignedPropety = userEntity
            };

            return(View(viewModel));
        }
Пример #8
0
        public ActionResult Index(int assignmentId = -1)
        {
            Assignment currentAssignment = Db.Assignments.Where(a => a.Id == assignmentId).FirstOrDefault();

            if (currentAssignment == null)
            {
                return(RedirectToAction("Index", "Feed"));
            }
            List <Assignment> allAssignments = Db.Assignments.Where(a => a.CourseId == currentAssignment.CourseId).ToList();

            //build the view model and return
            AssignmentsViewModel vm = new AssignmentsViewModel();

            vm.Assignments       = allAssignments;
            vm.CurrentAssignment = currentAssignment;
            vm.Submissions       = GetMostRecentSubmissions(assignmentId);

            return(View(vm));
        }
        // GET: Assignments
        public IActionResult Index()
        {
            IEnumerable <AssignmentsViewModel> list = null;

            try
            {
                list = AssignmentsViewModel.ConvertModelToVM(_context, _context.Assignments.ToList());
                if (list == null)
                {
                    return(NotFound());
                }
            }
            catch (Exception)
            {
                list = Enumerable.Empty <AssignmentsViewModel>();

                ModelState.AddModelError(string.Empty, "Server Error. Please contact administrator.");
            }
            return(View(list));
        }
Пример #10
0
        public void Post([FromBody] AssignmentsViewModel obj, int AssignmentId)
        {
            string tempFilePath = obj.FilePath;

            obj.FilePath = "Resources/SubmittedAssignments/";
            obj.FilePath = obj.FilePath + tempFilePath;
            var tempReg1 = obj.GroupRegNo[0];

            DigitalBoardMarkerContext db = new DigitalBoardMarkerContext();
            int GroupMembersCount        = obj.GroupRegNo.Count();


            StudentGroupNumber s = new StudentGroupNumber();

            db.StudentGroupNumber.Add(s);
            db.SaveChanges();
            int?groupId = db.StudentGroupNumber.Max(s1 => (int?)s1.Id);

            for (int i = 0; i < GroupMembersCount; i++)
            {
                StudentGroup sg = new StudentGroup();
                sg.Groupid = groupId;
                string tempReg = obj.GroupRegNo[i].ToString();
                sg.Userid = db.Users.Where(u => u.RegNo == tempReg).FirstOrDefault().Id;
                db.Add(sg);
            }

            AssignmentSubmission ass = new AssignmentSubmission();

            ass.SubmissionDateTime = obj.SubmissionDate;
            ass.StudentGroupid     = GroupMembersCount;
            ass.AssignmentFilePath = obj.FilePath;
            ass.AssignmentId       = AssignmentId;
            db.Add(ass);

            db.SaveChanges();
        }
Пример #11
0
 public AssignmentsPage()
 {
     InitializeComponent();
     BindingContext = new AssignmentsViewModel();
 }