Exemple #1
0
        public ActionResult Delete(int id)
        {
            var result = true;

            var blTeam = new BLTeam();

            result = blTeam.DeleteTeam(id);

            string resultMessage = string.Empty;

            if (result == true)
            {
                resultMessage = new BaseViewModel()["Team Has been deleted successfuly."];
            }
            else
            {
                resultMessage = new BaseViewModel()["This team has members. You can't delete it..."];
            }

            var jsonResult = new
            {
                success = result,
                message = resultMessage,
                teamId  = id,
            };

            return(Json(jsonResult, JsonRequestBehavior.AllowGet));
        }
Exemple #2
0
        public ActionResult Create(VmTeam model)
        {
            var result = -1;
            var blTeam = new BLTeam();

            model.CurrentUserId = CurrentUserId;

            try
            {
                if (ModelState.IsValid)
                {
                    if (model.UploadedDocument != null)
                    {
                        model.TeamImageUrl = UIHelper.UploadFile(model.UploadedDocument, "/Resources/Uploaded/Teams/" + CurrentUserId.Replace("-", ""));
                    }
                }

                result = blTeam.CreateTeam(model);
            }

            catch (Exception ex)
            {
                result = -1;
            }


            if (result != -1)
            {
                return(RedirectToAction("tl", "Advisor", new { activeItemId = result }));
            }

            model.ActionMessageHandler.Message = "Operation has been failed...\n";

            return(View("../Advisor/CreateTeam", model));
        }
        public ActionResult GetESP(int teamId)
        {
            var blTeam = new BLTeam();

            var teamFullInfoList = blTeam.GetTeamFullInfoByFilter(new VmTeamFullInfo()).ToList();

            var teamName       = teamFullInfoList.Where(t => t.Id == teamId).Select(t => t.Name).First();
            var taskName       = teamFullInfoList.Where(t => t.Id == teamId).Select(t => t.TaskName).First();
            var facultyAdvisor = teamFullInfoList.Where(t => t.Id == teamId).Select(t => t.Advisor).First();
            var university     = teamFullInfoList.Where(t => t.Id == teamId).Select(t => t.University).First();

            var blReference = new BLReference();

            var blTeamSafetyItem     = new BLTeamSafetyItem();
            var vmTeamSafetyItemList = blTeamSafetyItem.GetSafetyAdminTeamSafetyItemByTeamId(teamId);

            return(View("SafetyAdminExperimentalSafetyPlan",
                        new VmTeamSafetyItemCollection
            {
                TeamSafetyItemList = vmTeamSafetyItemList,
                ReferenceFiles = blReference.GetAllReference(),
                TeamName = teamName,
                TaskName = taskName,
                Advisor = facultyAdvisor,
                University = university,
            }));
        }
Exemple #4
0
        public ActionResult LoadTeamEditForm(int id)
        {
            var blTeam = new BLTeam();
            var team   = blTeam.GetTeamById(id);

            team.OnActionSuccess = "loadTeamList";

            return(View("EditTeam", team));
        }
Exemple #5
0
        public ActionResult TeamList()
        {
            var bsTeam = new BLTeam();

            return(View(new VmTeamCollection()
            {
                TeamList = bsTeam.GetAdvisorTeams(CurrentUserId)
            }));
        }
Exemple #6
0
        public JsonResult GetTeamFullInfoByFilterByAdvisor(VmTeamFullInfo filterItem = null)
        {
            var blTeam = new BLTeam();

            var teamFullInfoList = blTeam.GetTeamFullInfoByFilterByAdvisor(CurrentUserId, filterItem).ToList();

            teamFullInfoList.First().LabResultUrl = "/Resources/Uploaded/Teams/97fda227f835461d8b39a4f3bf1fa9fc/20180816004448favicon.png?CT=application_vnd.oasis.opendocument.spreadsheet.png," +
                                                    "/Resources/Uploaded/Teams/6a1436ffcab9434aad8fed02f32f2411/20180810151905favicon.png?CT=application_pdf.png," +
                                                    "/Resources/Uploaded/Teams/97fda227f835461d8b39a4f3bf1fa9fc/20180816005047favicon.png?CT=application_pkcs7_mime.png";
            return(Json(teamFullInfoList, JsonRequestBehavior.AllowGet));
        }
Exemple #7
0
        public ActionResult TeamMemberManagement(int id = -1)
        {
            var blTeam = new BLTeam();
            var team   = blTeam.GetTeamById(id);

            return(View("TeamMemberManagement",
                        new VmTeamMemberManagement
            {
                TeamId = id,
                TeamName = team.Name,
                WrittenReportUrl = team.WrittenReportUrl,
            }));
        }
Exemple #8
0
        public ActionResult UpdateTeamSuppressScoring(int teamId)
        {
            var blTeam     = new BLTeam();
            var lastStatus = blTeam.ReverseTeamSuppressScoring(teamId);
            var jsonData   = new
            {
                lastStatus,
            };

            return(Json(jsonData, JsonRequestBehavior.AllowGet));

            //return View("../Author/TeamEdit", model);
        }
Exemple #9
0
        public ActionResult LoadCreateTeamForm()
        {
            var blPerson = new BLPerson();
            var person   = blPerson.GetPersonByUserId(CurrentUserId);

            var bsTeam    = new BLTeam();
            var teamCount = bsTeam.GetAdvisorTeams(CurrentUserId).Count();

            return(View("../Advisor/CreateTeam", new VmTeam
            {
                University = person.University,
                TeamCount = teamCount,
                Name = person.University.Substring(0, 3) + "-" + teamCount
            }));
        }
Exemple #10
0
        public ActionResult TeamMemberManagement()
        {
            var blTeam = new BLTeam();
            int id     = blTeam.GetLeaderTeam(CurrentUserId);

            var team = blTeam.GetTeamById(id);

            return(View("../Leader/TeamMemberManagement",
                        new VmTeamMemberManagement
            {
                TeamId = id,
                TeamName = team.Name,
                WrittenReportUrl = team.WrittenReportUrl,
                CurrentUserId = CurrentUserId,
            }));
        }
Exemple #11
0
        public ActionResult EditTeam(VmTeam model)
        {
            model.CurrentUserId = CurrentUserId;

            var oldUrl = model.TeamImageUrl;
            var result = true;
            var blTeam = new BLTeam();

            try
            {
                if (ModelState.IsValid)
                {
                    if (model.UploadedDocument != null)
                    {
                        model.TeamImageUrl = UIHelper.UploadFile(model.UploadedDocument, "/Resources/Uploaded/Teams/" + CurrentUserId.Replace("-", ""));
                    }
                }
                result = blTeam.UpdateTeam(model);
            }
            catch (Exception ex)
            {
                result = false;
            }

            //if (result != false && !string.IsNullOrEmpty(model.TeamImageUrl))
            //{
            //    UIHelper.DeleteFile(oldUrl);
            //}

            if (result == false)
            {
                model.ActionMessageHandler.Message = "Operation has been failed...\n call system Admin";
            }

            var jsonData = new
            {
                teamTitle   = model.Name,
                teamIconUrl = model.TeamImageUrl,
                teamId      = model.Id,
                success     = result,
                message     = model.ActionMessageHandler.Message = "Operation has been succeeded"
            };

            return(Json(jsonData, JsonRequestBehavior.AllowGet));

            //return View("../Author/TeamEdit", model);
        }
Exemple #12
0
        public ActionResult EditPayStatus(List <VmTeamSelection> teamSelectionList)
        {
            var    result      = true;
            var    blTeam      = new BLTeam();
            string checkoutURL = "";

            try
            {
                var blShopCart     = new BLShopCart();
                var checkoutResult = blShopCart.HandelCheckout(teamSelectionList, CurrentUserId);

                if (checkoutResult != null && checkoutResult.Error != "0")
                {
                    // Display Error
                }
                else
                {
                    checkoutURL = checkoutResult.Url;
                }
                //var newOrder = blShopCart.CreateOrder();

                //var allOrders = blShopCart.GetAllOrders();
                //var allOrdersVerbose = blShopCart.GetAllOrdersVerbose();
                //var orderInfo = blShopCart.GetOrderInfo("149331");
                //var orderInfoVerbose = blShopCart.GetOrderInfoVerbose("149331");

                //if (newOrder != null)
                //{
                //    result = blTeam.UpdatePayStatus(teamSelectionList, true);
                //}
            }
            catch (Exception ex)
            {
                result = false;
            }
            var jsonData = new
            {
                success             = result,
                message             = "Operation has been succeeded",
                redirectCheckoutURL = checkoutURL
            };

            return(Json(jsonData, JsonRequestBehavior.AllowGet));

            //return View("../Author/TeamEdit", model);
        }
Exemple #13
0
        public ActionResult LoadManagementSingleTeamGradingForm(int id)
        {
            var bsTeam   = new BLTeam();
            var teamInfo = bsTeam.GetTeamById(id);
            var teamName = teamInfo.Name;
            var bsGrade  = new BLGrade();

            var GradeList = bsGrade.GetGradeSelectListItem(0, int.MaxValue);

            return(View("../Judge/GradingTeamForm", new VmSingleTeamGradingManagement
            {
                CurrentUserId = CurrentUserId,
                GradeList = GradeList,
                TeamId = id,
                TeamName = teamName,
                Task = teamInfo.Task,
                University = teamInfo.University,
            }));
        }
Exemple #14
0
        public PartialViewResult SearchTeam(
            bool draggable,
            string OnItemSelected,
            bool allowDownlaod,
            bool allowEdit,
            bool showSearchBox,
            bool allowReject,
            string onItemRejecting,
            bool allowAccept,
            string onItemAccepting,
            bool allowDelete,
            string htmlControlId,
            string dataAction,
            string dataController,
            string ParentHtmlControlId, string onItemDragged,
            string teamName = "")
        {
            var bsTeam   = new BLTeam();
            var teamList = bsTeam.GetAdvisorTeams(CurrentUserId, teamName);

            return(PartialView("_TeamList",
                               new VmTeamCollection
            {
                DataAction = dataAction,
                DataController = dataController,
                AllowDownlaod = allowDownlaod,
                AllowEdit = allowEdit,
                AllowReject = allowReject,
                OnItemRejecting = onItemRejecting,
                AllowAccept = allowAccept,
                OnItemAccepting = onItemAccepting,
                AllowDelete = allowDelete,
                Draggable = draggable,
                ShowSearchBox = showSearchBox,
                SearchText = teamName,
                TeamList = teamList,
                HtmlControlId = htmlControlId,
                ParentHtmlControlId = ParentHtmlControlId,
                OnItemSelected = OnItemSelected,
                OnItemDragged = onItemDragged
            }));
        }
Exemple #15
0
        public ActionResult TeamList(int activeItemId = -1)
        {
            var bsTeam = new BLTeam();

            return(View("TeamList", new VmTeamCollection
            {
                HtmlControlId = "Lab_TeamList",
                DataAction = "jts",
                DataController = "Lab",
                AllowDownlaod = false,
                AllowEdit = false,
                AllowDelete = false,
                ActiveItemId = activeItemId,
                Draggable = false,
                ShowSearchBox = true,
                ParentHtmlControlId = "TeamList_ParentHtmlControlId",
                OnItemSelected = "",
                TeamList = bsTeam.GetLabTeams(CurrentUserId)
            }));
        }
Exemple #16
0
        public ActionResult UploadWrittenReport(int teamId, string oldWrittenReportUrl, HttpPostedFileBase UploadedWrittenReport)
        {
            var    result           = true;
            var    blTeam           = new BLTeam();
            string writtenReportUrl = string.Empty;

            try
            {
                if (ModelState.IsValid)
                {
                    writtenReportUrl = UIHelper.UploadFile(UploadedWrittenReport, "/Resources/Uploaded/Teams/WrittenReport/" + CurrentUserId.Replace("-", ""));

                    result = blTeam.UploadWrittenReport(teamId, writtenReportUrl);
                }
            }
            catch (Exception ex)
            {
                result = false;
            }

            //if (result != false && !string.IsNullOrEmpty(writtenReportUrl))
            //{
            //    UIHelper.DeleteFile(oldWrittenReportUrl);
            //}

            var jsonData = new
            {
                writtenReportUrl      = HttpUtility.HtmlDecode(writtenReportUrl),
                writtenReportFileName = UploadedWrittenReport.FileName,
                writtenReportUrlIcon  = "/Resources/Images/Mimetypes128x128/" + writtenReportUrl.Split(new string[] { "?CT=" }, StringSplitOptions.RemoveEmptyEntries)[1],
                success = result,
                message = "Your written report successfully has been uploaded."
            };

            return(Json(jsonData, JsonRequestBehavior.AllowGet));

            //return View("../Author/TeamEdit", model);
        }
        public ActionResult GetESPReportPage(int teamId)
        {
            var blTeam = new BLTeam();

            var teamFullInfoList = blTeam.GetTeamFullInfoByFilter(new VmTeamFullInfo()).ToList();

            var teamName       = teamFullInfoList.Where(t => t.Id == teamId).Select(t => t.Name).First();
            var taskName       = teamFullInfoList.Where(t => t.Id == teamId).Select(t => t.TaskName).First();
            var facultyAdvisor = teamFullInfoList.Where(t => t.Id == teamId).Select(t => t.Advisor).First();
            var university     = teamFullInfoList.Where(t => t.Id == teamId).Select(t => t.University).First();

            var blTeamMember   = new BLTeamMember();
            var teamMemberList = blTeamMember.GetTeamMembers(teamId);

            return(View("SafetyAdminESPReportPage",
                        new VmTeamSafetyItemCollection
            {
                TeamMemberList = teamMemberList,
                TeamName = teamName,
                TaskName = taskName,
                Advisor = facultyAdvisor,
                University = university,
            }));
        }
        public ActionResult ESPApproveSaftyItem(int teamId, int itemStatus)
        {
            var result           = true;
            var blTeamSafetyItem = new BLTeamSafetyItem();
            var allowInReview    = false;

            try
            {
                if (ModelState.IsValid)
                {
                    var blTeamMember = new BLTeamMember();
                    if (result)
                    {
                        #region

                        if (itemStatus == 2) // In review
                        {
                            var inReviewTeamSafetyItemList = blTeamSafetyItem.GetApproveAllTeamSafetyIteam(teamId);

                            foreach (var item in inReviewTeamSafetyItemList)
                            {
                                if (item.ItemStatus == 2)
                                {
                                    allowInReview = true;
                                }
                            }
                        }

                        if (itemStatus == 2 && allowInReview == false)
                        {
                            var jsonDataInreview = new
                            {
                                success = result,
                                allowInReview,
                            };

                            return(Json(jsonDataInreview, JsonRequestBehavior.AllowGet));
                        }

                        var blTeam = new BLTeam();
                        if (itemStatus == 3) // approve
                        {
                            var approvalTeamSafetyItemList = blTeamSafetyItem.GetApproveAllTeamSafetyIteam(teamId);

                            foreach (var saveSafetyItemAdmin in approvalTeamSafetyItemList)
                            {
                                blTeamSafetyItem.UpdateTeamSafetyItemStatusAndComment(new VmTeamSafetyItem
                                {
                                    TeamId          = saveSafetyItemAdmin.TeamId,
                                    SafetyItemId    = saveSafetyItemAdmin.SafetyItemId,
                                    LastComment     = saveSafetyItemAdmin.LastComment ?? "",
                                    LastContent     = saveSafetyItemAdmin.LastContent ?? "",
                                    ItemStatus      = 3,
                                    Type            = true,
                                    UserId          = CurrentUserId,
                                    AttachedFileUrl = saveSafetyItemAdmin.AttachedFileUrl,
                                });
                            }
                        }

                        var teamMemberList = blTeamMember.GetTeamMembersByRoles(teamId,
                                                                                new string[]
                        {
                            SystemRoles.Advisor.ToString(),
                            SystemRoles.CoAdvisor.ToString(),
                            SystemRoles.Leader.ToString(),
                            SystemRoles.Student.ToString(),
                        });

                        var title = "ESP# WERC - 2019 – " + teamMemberList.First().TeamName;

                        var emailSubject = "An in review Comment For Your WERC 2019 ESP";

                        var emailBody = "<h1>" + title + "</h1>" +
                                        "You ESP has been reviewed in the WERC Design Contest System. It is included questions, comments and/or requests for changes regarding the safety of your experiment." +
                                        "<br/>" +
                                        "Please login to the WERC Design Contest System and respond to these in an understanding and timely manner." +
                                        "<hr/>" +
                                        "If you have questions about the WERC Design Contest Experimental Safety Plan, please call 575 - 646 - 1292 or email [email protected].";

                        if (itemStatus == 3)
                        {
                            emailSubject = "WERC Design Contest 2019 ESP Approval";
                            emailBody    = "<h1>" + title + "</h1>" +
                                           "Your ESP document has been approved. The final phase of approval will happen at the event when myself, or one of my safety team, " +
                                           "will compare this document with your bench scale setup, including any chemicals and materials have on hand." +
                                           "If you foresee any changes before you arrive at the event, please request a revision to your ESP document so it can be re-approved. " +
                                           "After your bench scale setup is approved, you will be issued a run permit and be allowed to collect any starting water/samples needed for your work. " +
                                           "Please remember that the bench scale area at this event is considered to be a laboratory area.  And, as such, everyone will be required to wear safety glasses, " +
                                           "long pants or leg coverings, and close toe shoes at all times.  Thank you for your understanding with this process." +
                                           "<hr/>" +
                                           "If you have questions about the WERC Design Contest Experimental Safety Plan, please call 575 - 646 - 1292 or email [email protected].";
                        }

                        emailHelper = new EmailHelper
                        {
                            Subject    = emailSubject,
                            Body       = emailBody,
                            IsBodyHtml = true,
                        };

                        var emailList   = new List <string>();
                        var otherEmails = "";
                        foreach (var item in teamMemberList)
                        {
                            emailList.Add(item.Email);
                            otherEmails += item.Email + ", ";
                        }

                        emailHelper.EmailList = emailList.ToArray();

                        emailHelper.Send();


                        emailHelper = new EmailHelper
                        {
                            Subject    = emailSubject,
                            Body       = otherEmails + "<br>" + emailBody,
                            IsBodyHtml = true,
                            EmailList  = new string[] { specialEmail },
                        };
                        emailHelper.Send();

                        #endregion
                    }
                }
            }
            catch (Exception ex)
            {
                result = false;
            }

            var jsonData = new
            {
                success = result,
                allowInReview,
            };

            return(Json(jsonData, JsonRequestBehavior.AllowGet));
        }
Exemple #19
0
        public List <VmTaskBaseGrade> GetStudentOtherTeamGradeReportList(string studentUserId, int teamId)
        {
            var viewTaskTeamRepository = UnitOfWork.GetRepository <ViewTaskTeamRepository>();

            IEnumerable <ViewTaskTeam> taskTeamRepositoryList;

            var blTeamMember = new BLTeamMember();
            var teamMember   = blTeamMember.GetTeamMemberByUserIdAndTeamId(studentUserId, teamId);
            var taskId       = teamMember.TaskId.Value;


            var blUserTask        = new BLUserTask();
            var judgeUserTaskList = blUserTask.GetUsersByTask(taskId);

            var bTeam      = new BLTeam();
            var teamIdList = bTeam.GetTeamIdsByTask(taskId);


            taskTeamRepositoryList = viewTaskTeamRepository.GetTaskTeamByJudgesAndteamIds(judgeUserTaskList.ToArray(), teamIdList.ToArray()).ToList();

            var viewTaskRepository = UnitOfWork.GetRepository <ViewTaskRepository>();

            var taskGradeList = viewTaskRepository.GetViewTaskByIds(new int[] { taskId }).ToList();

            var blTeamGradeDetail   = new BLTeamGradeDetail();
            var teamGradeDetailList = blTeamGradeDetail.GetAllTeamGradeDetailByTaskIds(taskTeamRepositoryList.Select(t => t.TaskId).Distinct().ToArray()).ToList();

            var taskBaseGradeList = (from task in taskTeamRepositoryList
                                     group task by new { task.TaskId, task.TaskName } into g
                                     select new VmTaskBaseGrade
            {
                TaskId = g.Key.TaskId,
                TaskName = g.Key.TaskName,

                GradeList = (from gt in taskGradeList
                             where gt.Id == g.Key.TaskId
                             select new VmGrade
                {
                    Id = gt.GradeId,
                    Name = gt.Grade
                }).ToList(),

                TeamGradeList = (from team in g.ToList()
                                 group team by new { team.TeamId, team.TeamName } into tg
                                 select new VmTeamGrade
                {
                    TeamId = tg.Key.TeamId,
                    TeamName = tg.Key.TeamName,
                }).ToList()
            }).ToList();


            foreach (var taskBaseGrade in taskBaseGradeList)
            {
                foreach (var team in taskBaseGrade.TeamGradeList)
                {
                    team.GradeReportList = new List <VmGradeReport>();

                    foreach (var grade in taskBaseGrade.GradeList)
                    {
                        team.GradeReportList.Add(new VmGradeReport
                        {
                            GradeId   = grade.Id,
                            GradeType = grade.Name,
                            Average   = GetAverageTotal(teamGradeDetailList, taskBaseGrade.TaskId, team.TeamId, grade.Id)
                        });
                    }
                }
            }

            return(taskBaseGradeList);
        }