Esempio n. 1
0
        public async Task <IActionResult> DoctorRoom(CreatorModel model)
        {
            if (model.IsDoctor)
            {
                var doctorId = _controllerRepository.GetUserId(User);
                ViewBag.DoctorId = doctorId;
                var userResponse = JsonConvert.DeserializeObject <MksResponse>(
                    await RequestExecutor.ExecuteRequestAsync(
                        MicroservicesEnum.User, RequestUrl.GetUserByPatientId, new Parameter[] {
                    new Parameter("patientId", model.UserId, ParameterType.GetOrPost)
                }));
                if (!userResponse.Success)
                {
                    throw new Exception(userResponse.Data);
                }
                var user2 = JsonConvert.DeserializeObject <Users>(userResponse.Data);
                ViewBag.PatientUserId = user2.UserId;
                ViewBag.Role          = "creator";
            }
            else
            {
                ViewBag.DoctorId = model.UserId;
                var patientUserId = _controllerRepository.GetUserId(User);
                ViewBag.PatientUserId = patientUserId;
                ViewBag.Role          = "user";
            }
            var userResponse2 = JsonConvert.DeserializeObject <MksResponse>(
                await RequestExecutor.ExecuteRequestAsync(
                    MicroservicesEnum.User, RequestUrl.GetUserById, new Parameter[] {
                new Parameter("userId", ViewBag.DoctorId, ParameterType.GetOrPost)
            }));

            if (!userResponse2.Success)
            {
                throw new Exception(userResponse2.Data);
            }
            var user          = JsonConvert.DeserializeObject <Users>(userResponse2.Data);
            var userResponse3 = JsonConvert.DeserializeObject <MksResponse>(
                await RequestExecutor.ExecuteRequestAsync(
                    MicroservicesEnum.User, RequestUrl.GetPatientByUserId, new Parameter[] {
                new Parameter("userId", ViewBag.PatientUserId, ParameterType.GetOrPost)
            }));

            if (!userResponse3.Success)
            {
                throw new Exception(userResponse3.Data);
            }
            var patient = JsonConvert.DeserializeObject <PatientModel>(userResponse3.Data);

            ViewBag.PatientName = patient.Fio;
            ViewBag.DoctorName  = user.Fio;
            return(View());
        }
        public void GetDataFromPlaystore(string url)
        {
            if (BeginScrap())
            {
                return;
            }

            Playstore playtoreScrapper = new Playstore(url);

            GameService    gameService    = new GameService();
            CreatorService creatorService = new CreatorService();


            int Position = 1;

            foreach (var data in playtoreScrapper.PlaystoreData)
            {
                CreatorModel creatorModel = new CreatorModel();
                creatorModel.Name = data.Creator;
                var creator = creatorService.Saves(creatorModel);

                GameModel gameModel = new GameModel();
                gameModel.Title    = data.Title;
                gameModel.Subtitle = data.SubTitle;
                gameModel.UrlGame  = data.Link;
                var game = gameService.Saves(gameModel, creator.Id);

                RankingModel rankingModel = new RankingModel();
                rankingModel.Rank         = Position;
                rankingModel.Image        = data.Image;
                rankingModel.TotalInstall = data.Installs;
                rankingModel.Update       = data.Updated;
                Saves(rankingModel, game.Id);
                Position++;
            }
        }
        public async Task <ResponseEntity> getProjectById(int?idProject)
        {
            var pro = await _projectRepository.GetSingleByConditionAsync("id", idProject);

            if (pro == null)
            {
                return(new ResponseEntity(StatusCodeConstants.NOT_FOUND, "Project is not found", MessageConstants.MESSAGE_ERROR_404));
            }


            var lstUser = _projectUserRepository.GetMultiByConditionAsync("projectId", idProject).Result;
            List <Repository.Models.Member> members = new List <Repository.Models.Member>();

            foreach (var item in lstUser)
            {
                var user = _userJira.GetSingleByConditionAsync("id", item.userId).Result;
                Repository.Models.Member mem = new Repository.Models.Member();
                mem.userId = user.id;
                mem.name   = user.name;

                mem.avatar = user.avatar;
                members.Add(mem);
            }

            ProjectCategory projectCategory = await _projectCategoryRepository.GetSingleByConditionAsync("id", pro.categoryId);

            ProjectDetail projectDetail = new ProjectDetail();

            projectDetail.alias           = pro.alias;
            projectDetail.projectName     = pro.projectName;
            projectDetail.projectCategory = new ProjectCategoryDetail()
            {
                id = projectCategory.id, name = projectCategory.projectCategoryName
            };
            projectDetail.description = FuncUtilities.Base64Decode(pro.description);
            projectDetail.id          = pro.id;
            projectDetail.projectName = pro.projectName;
            projectDetail.members     = members;
            CreatorModel creator = new CreatorModel();

            if (pro.id != null)
            {
                creator.id = pro.creator;

                creator.name = _userJira.GetSingleByIdAsync(pro.creator).Result.name;
            }

            projectDetail.creator = creator;

            //List<ProjectDetail> lstResult = new List<ProjectDetail>();
            var lstStatus = await _statusRepository.GetAllAsync();

            //Lấy list priority
            IEnumerable <Priority> lstPriority = await _priorityRepository.GetAllAsync();

            //Lấy list task
            var lstTask = await _taskRepository.GetAllAsync();

            foreach (var status in lstStatus)
            {
                var statusTask = new StatusTask {
                    statusId = status.statusId, statusName = status.statusName, alias = status.alias
                };

                List <TaskDetail> task = lstTask.Where(n => n.projectId == projectDetail.id && n.statusId == status.statusId).Select(n => new TaskDetail {
                    taskId = n.taskId, taskName = n.taskName, alias = n.alias, description = FuncUtilities.Base64Decode(n.description), statusId = n.statusId, priorityTask = getTaskPriority(n.priorityId, lstPriority), originalEstimate = n.originalEstimate, timeTrackingSpent = n.timeTrackingSpent, timeTrackingRemaining = n.timeTrackingRemaining, assigness = getListUserAsign(n.taskId).ToList(), taskTypeDetail = getTaskType(n.typeId), lstComment = getListComment(n.taskId).ToList(), projectId = n.projectId
                }).ToList();

                statusTask.lstTaskDeTail.AddRange(task);

                projectDetail.lstTask.Add(statusTask);
            }


            return(new ResponseEntity(StatusCodeConstants.OK, projectDetail, MessageConstants.MESSAGE_SUCCESS_200));
        }