//新建作业
        public async Task <Boolean> newAssignments(Assignment temp)
        {
            selectedAssignment = temp;
            ResponseError error   = null;
            string        message = "";

            if (temp == null)
            {
                return(false);
            }
            Action <ResponseError, Assignment, string> cb = delegate(ResponseError e, Assignment t, string msg) {
                error   = e;
                message = msg;
                temp    = t;
                if (error != null)
                {
                    var i = new MessageDialog(message).ShowAsync();
                }
                else
                {
                    allAssignments.Clear();
                    doingAssignments.Clear();
                    doneAssignments.Clear();
                    //从本地中添加新的作业, 需要把数据库全面更新,因为没法从本地直接添加id
                }
            };
            await selectedAssignment.save(cb);

            await getAllAssignments();

            SelectedAssignment = temp;
            return(false);
        }
 //获取所有的作业
 public async Task getAllAssignments()
 {
     ResponseError     error   = null;
     List <Assignment> allAsg  = null;
     string            message = "";
     Action <ResponseError, List <Assignment>, string> cb = delegate(ResponseError e, List <Assignment> all, string msg)
     {
         error   = e;
         allAsg  = all;
         message = msg;
         if (error != null)
         {
             var i = new MessageDialog(message).ShowAsync();
         }
         else
         {
             foreach (Assignment a in allAsg)
             {
                 allAssignments.Add(a);
             }
             getDoingAssignments();
             getDoneAssignments();
         }
         selectedAssignment = null;
     };
     await Assignment.getAll(cb);
 }
        public bool AddTask(string AName, string eTime, string Des, DateTime sDate, Guid project)
        {
            var myAssignment = new Models.Assignment
            {
                AssignmentName = AName,
                ETime          = Convert.ToInt32(eTime),
                Description    = Des,
                ProjectID      = project,
                StartDate      = sDate.Date,
                IsFinished     = false
            };

            using (ApplicationDbContext _db = new ApplicationDbContext())
            {
                // Adding Assignment estimated time project entry in the database
                var myProject = (from c in _db.Projects
                                 where c.ProjectID == project
                                 select c).FirstOrDefault();
                myProject.ETime += Convert.ToInt32(eTime);
                // Add assignments to DB.
                _db.Assignments.Add(myAssignment);
                try
                {
                    _db.SaveChanges();
                }
                catch (DbEntityValidationException e)
                {
                    Console.WriteLine(e);
                }
            }
            // Success.
            return(true);
        }
        //Assignment methods
        public void AddAssignment(Models.ApplicationUser user, int sectionid)
        {
            Models.Assignment assignment = new Models.Assignment();
            assignment.SectionId = sectionid;

            _context.Assignment.Add(assignment);
            _context.SaveChanges();
        }
Exemple #5
0
        public ActionResult Assign(Models.Assignment assignment)
        {
            bool update_data = AccountController.apiRequestController.EditAssignmentRequest(assignment);

            if (update_data)
            {
                return(RedirectToAction("Index"));
            }
            else
            {
                return(View("Error"));
            }
        }
        async public void RemoveAssignment(Models.Assignment assignment)
        {
            List <StudentAssignment> studentAssignments = _context.StudentAssignment.Where(x => x.AssignmentId == assignment.Id).ToList();

            foreach (StudentAssignment x in studentAssignments)
            {
                _context.StudentAssignment.Remove(x);
                _context.SaveChanges();
            }



            _context.Assignment.Remove(assignment);
            await _context.SaveChangesAsync();
        }
        // PUT to edit assignment, we check resulting assignment from server against parameter
        public bool EditAssignmentRequest(Models.Assignment assignment)
        {
            HttpWebRequest webRequest = (HttpWebRequest)WebRequest
                                        .Create(serverUrl + "tasks/" + assignment._id);

            webRequest.Method      = "PUT";
            webRequest.Accept      = "application/json";
            webRequest.ContentType = "application/json; charset=UTF-8";
            webRequest.Headers.Add("x-access-token", userToken);
            using (var streamWriter = new StreamWriter(webRequest.GetRequestStream()))
            {
                assignment._id = null;
                JsonSerializerSettings serializerSettings = new JsonSerializerSettings();
                serializerSettings.NullValueHandling = NullValueHandling.Ignore;
                string requestBody = JsonConvert.SerializeObject(assignment, serializerSettings);
                streamWriter.Write(requestBody);
                streamWriter.Close();
            }

            string jsonResponse = "";

            try
            {
                using (Stream s = webRequest.GetResponse().GetResponseStream())
                {
                    using (StreamReader sr = new StreamReader(s))
                    {
                        jsonResponse = sr.ReadToEnd();
                    }
                }
                Models.Assignment api_assignment = JsonConvert.DeserializeObject <Models.Assignment>(jsonResponse);
                if (assignment.assigned_to_worker == "")
                {
                    api_assignment.assigned_to_worker = "";
                }
                if (assignment.assigned_to_worker == null)
                {
                    api_assignment.assigned_to_worker = null;
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.ToString());
                return(false);
            }
            return(true);
        }
        async public void AddAssignment(Models.Assignment assignment)
        {
            _context.Assignment.Add(assignment);
            List <Enrollment> enrollments = _context.Enrollment.Where(x => x.SectionId == assignment.SectionId).ToList();
            await _context.SaveChangesAsync();

            foreach (Enrollment x in enrollments)
            {
                StudentAssignment studentAssignment = new StudentAssignment();
                studentAssignment.StudentId    = x.StudentId;
                studentAssignment.Grade        = null;
                studentAssignment.AssignmentId = assignment.Id;
                _context.Add(studentAssignment);
                _context.SaveChanges();
            }
            ;
        }
        //修改当前作业
        public async Task <Boolean> updateAssignments()
        {
            Assignment    temp    = selectedAssignment;
            ResponseError error   = null;
            string        message = "";

            if (temp == null)
            {
                return(false);
            }
            Action <ResponseError, Assignment, string> cb = delegate(ResponseError e, Assignment t, string msg)
            {
                error   = e;
                message = msg;
                temp    = t;
                if (error != null)
                {
                    var i = new MessageDialog(message).ShowAsync();
                }
                else
                {
                    //从本地中修改当前作业
                    allAssignments.Remove(selectedAssignment);
                    allAssignments.Add(temp);
                    if (doingAssignments.IndexOf(selectedAssignment) != -1)
                    {
                        doingAssignments.Remove(selectedAssignment);
                        doingAssignments.Add(temp);
                    }
                    if (doneAssignments.IndexOf(selectedAssignment) != -1)
                    {
                        doneAssignments.Remove(selectedAssignment);
                        doneAssignments.Add(temp);
                    }
                    selectedAssignment = temp;
                }
            };
            await temp.update(cb);

            return(false);
        }
        //删除当前作业
        public async Task <Boolean> deleteAssignments()
        {
            ResponseError error   = null;
            Assignment    asg     = selectedAssignment;
            string        message = "";
            string        aid     = "";

            if (asg == null)
            {
                return(false);
            }
            aid = asg.getAssignmentId();
            Action <ResponseError, Assignment, string> cb = delegate(ResponseError e, Assignment a, string msg)
            {
                error   = e;
                asg     = a;
                message = msg;
                if (error != null)
                {
                    var i = new MessageDialog(message).ShowAsync();
                }
                else
                {
                    //从本地中删除当前作业
                    allAssignments.Remove(selectedAssignment);
                    if (doingAssignments.IndexOf(selectedAssignment) != -1)
                    {
                        doingAssignments.Remove(selectedAssignment);
                    }
                    if (doneAssignments.IndexOf(selectedAssignment) != -1)
                    {
                        doneAssignments.Remove(selectedAssignment);
                    }
                    selectedAssignment = null;
                }
            };
            await Assignment.delete(aid, cb);

            return(false);
        }
Exemple #11
0
        public ActionResult Evaluate(Models.Assignment assignment, IEnumerable <HttpPostedFileBase> files)
        {
            if (files != null)
            {
                foreach (var file in files)
                {
                    if (file != null)
                    {
                        if (file.ContentLength > 0)
                        {
                            var fileName = Path.GetFileName(file.FileName);
                            var path     = Path.Combine(Server.MapPath("~/"), fileName);
                            file.SaveAs(path);
                            WebClient myWebClient = new WebClient();
                            //myWebClient.Headers.Add("x-access-token",APIController.userToken);
                            // myWebClient.Headers.Add("User-Agent: Other");
                            // myWebClient.UseDefaultCredentials = true;

                            byte[] responseArray = myWebClient.UploadFile("http://13.80.47.169:3000/tasks/" + assignment._id + "/files", "POST", path);
                        }
                    }
                }
            }


            if (assignment.filename != null)
            {
                Document d = new Document();
                d.originalname = assignment.filename;
                d.filename     = assignment.filename;
                d.path         = d.filename;

                string mimeType = MimeMapping.GetMimeMapping(assignment.filename);
                d.mimetype = mimeType;
                if (assignment.documents == null)
                {
                    assignment.documents = new List <Document>();
                }
                // assignment.documents.Add(d);


                WebClient myWebClient = new WebClient();



                // Console.WriteLine("Uploading {0} to {1} ...", d.originalname, uriString);
                // Upload the file to the URL using the HTTP 1.0 POST.

                //   byte[] responseArray = myWebClient.UploadFile("/tasks/" + assignment._id + "/files", "POST", d.originalname);
            }
            bool update_data = AccountController.apiRequestController.EditAssignmentRequest(assignment);

            if (update_data)
            {
                return(RedirectToAction("Index"));
            }
            else
            {
                return(View("Error"));
            }
        }
        async public void UpdateAssignment(Models.Assignment assignment)
        {
            _context.Attach(assignment).State = EntityState.Modified;

            await _context.SaveChangesAsync();
        }