Пример #1
0
        public bool Save(UserSurveyModel userServeyDetails)
        {
            bool status = false;

            try
            {
                using (SurveyShrikeEntities context = new SurveyShrikeEntities())
                {
                    UserSurvey userSurvey = new UserSurvey();
                    userSurvey.SurveyId    = userServeyDetails.SurveyId;
                    userSurvey.SubmittedBy = userServeyDetails.SubmittedBy;
                    userSurvey.SubmittedOn = DateTime.UtcNow;
                    context.UserSurveys.Add(userSurvey);
                    context.SaveChanges();
                    if (userSurvey.SurveyId > 0)
                    {
                        foreach (var currentUserSurvey in userServeyDetails.UserValues)
                        {
                            UserSurveyDetail userSurveyDetail = new UserSurveyDetail();
                            userSurveyDetail.QuestionId  = currentUserSurvey.QuestionId;
                            userSurveyDetail.SystemValue = currentUserSurvey.SystemValue;
                            userSurveyDetail.CustomValue = currentUserSurvey.CustomValue;
                            context.UserSurveyDetails.Add(userSurveyDetail);
                            context.SaveChanges();
                        }
                    }
                }
                return(status);
            }
            catch (Exception ex)
            {
                return(status);
            }
        }
 private Result <bool> SurveyIsFinished(UserSurvey userSurvey)
 => Result <bool> .Try(() =>
 {
     var totalAnswers   = userSurvey.UserAnswer.Max(ua => ua.Answer.Question.Number);
     var totalQuestions = userSurvey.Survey.Question.Max(q => q.Number);
     return(Result <bool> .Successful(totalAnswers == totalQuestions));
 });
Пример #3
0
        public QuestionsSurvey StartSurvey(int userId, int surveyId, JoiningPlatform platform)
        {
            // Get the user survey record if exists.
            var userSurvey = _surveyRepository.GetUserSurvey(userId, surveyId);

            if (userSurvey == null)
            {
                userSurvey = new UserSurvey
                {
                    UserId          = userId,
                    SurveyId        = surveyId,
                    StartedOn       = DateTime.UtcNow,
                    PageCompleted   = 0,
                    JoiningPlatform = (int)platform
                };

                _surveyRepository.AddUserSurvey(userSurvey);
                _unitOfWork.Commit();
            }

            var data = new QuestionsSurvey();

            data.PageNum   = userSurvey.PageCompleted + 1;
            data.Questions = _surveyQuestionRepository.GetSurveyQuestions(surveyId, userId);

            return(data);
        }
Пример #4
0
        public Task <Result> AddForSurvey(CreateTaxModel model, UserSurvey userSurvey)
        => Result.TryAsync(async() =>
        {
            var userIds = new List <Guid>()
            {
                model.UserId
            };
            if (userSurvey.UserDependentSurvey.Any())
            {
                userIds.AddRange(userSurvey.UserDependentSurvey.Select(u => u.UserId));
            }

            for (int i = 0; i < userIds.Count; i++)
            {
                var tax = new Tax
                {
                    Id           = Guid.NewGuid(),
                    Description  = model.Description,
                    CreationDate = DateTime.Now,
                    UserId       = userIds[i],
                    TaxFile      = null,
                    Amount       = model.Amount,
                    Status       = (byte)model.Status,
                    Title        = model.Title,
                    Enabled      = model.Enabled,
                    UserSurvey   = userSurvey
                };

                _repository.Add(tax);
            }

            await _repository.CommitAsync();
            return(Result.Successful());
        });
        public Task <Result <Guid> > Add(CreateInvoiceModel model, UserSurvey userSurvey = null)
        => Result <Guid> .TryAsync(async() =>
        {
            var user = (await _membershipServiceApi.SystemUserApiService.Get(
                            new MembershipService.ApiClient.Models.BaseModel {
                Id = model.UserId
            })).Data;
            if (user == null)
            {
                return(Result <Guid> .Failed(Error.WithCode(ErrorCodes.NotFound)));
            }

            var invoice = new Invoice
            {
                Id          = Guid.NewGuid(), Amount = model.Amount + model.Amount * 5 / 100,
                TaxAmount   = model.Amount * 5 / 100, CreationDate = DateTime.Now,
                UserId      = model.UserId, Enabled = model.Enabled,
                Description = model.Description, Title = model.Title, Status = (byte)model.Status
            };

            if (userSurvey != null)
            {
                invoice.UserSurvey.Add(userSurvey);
            }

            _repository.Add(invoice);
            await _repository.CommitAsync();

            if (userSurvey == null)
            {
                _coreSmtpClient.SendInvoiceReady(user.Email, user.Firstname + " " + user.Lastname);
            }
            return(Result <Guid> .Successful(invoice.Id));
        });
Пример #6
0
        public ActionResult DeleteConfirmed(int id)
        {
            UserSurvey userSurvey = db.UserSurveys.Find(id);

            db.UserSurveys.Remove(userSurvey);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Пример #7
0
        public JsonResult ApproveUserSurvey(int userSurveyId, int approveFlag, string reason)
        {
            UserSurvey model = _userSurveyManager.GetUserSurvey(userSurveyId);


            model.ApproveReason = reason;
            model.ApproveFlag   = approveFlag;
            model.ApproveTime   = DateTime.Now;
            model.ApproveUser   = CurrentUser.UserId;
            _userSurveyManager.UpdateUserSurvey(model);
            SurveyInfo surveyInfo = _surveyManager.GetCdeSurveyInfoById(model.SurveyId);

            try
            {
                string title = string.Format(LanguageResources.SendMessage.CdeSurveyUserApproveResult_Title,
                                             surveyInfo.SurveyTitle,
                                             (approveFlag == 2 ? KnowledgeLanguage.ApprovalPass : CdeSurvey.NoPassPending));
                string content = string.Format(LanguageResources.SendMessage.CdeSurveyUserApproveResult_Content,
                                               surveyInfo.SurveyTitle,
                                               (approveFlag == 2
                        ? KnowledgeLanguage.ApprovalPass
                        : CdeSurvey.NoPassPending + LanguageResources.Common.Comma + webUILang.Reason + reason));
                SendMessage(title, content, new[] { model.UserId }, 11);

                if (approveFlag == 2)
                {
                    List <Cde_SurveySendUsers> sendus = _userSendSurveyManager.GetSurveySendUsers(userSurveyId);
                    var msglist = new List <SysIinstationMessage>();
                    foreach (Cde_SurveySendUsers sendu in sendus)
                    {
                        //if (sendu.UserId == model.UserId) continue;
                        var msg = new SysIinstationMessage();
                        msg.title = string.Format(LanguageResources.SendMessage.CdeSurveyYouHaveWrite_Title,
                                                  model.Realname, surveyInfo.SurveyTitle);
                        msg.tenantId   = CurrentUser.TenantId;
                        msg.sendUserId = 0;
                        msg.recUserId  = new[] { sendu.UserId };
                        string relship = sendu.Relationship == 3
                            ? ""
                            : LanguageResources.Common.Comma + CdeQuestion.YouForUser + sendu.RelationshipStr;
                        msg.content = string.Format(LanguageResources.SendMessage.CdeSurveyYouHaveWrite_Content
                                                    , model.Realname, surveyInfo.SurveyTitle, relship,
                                                    surveyInfo.StartTime.ToString("yyyy-MM-dd HH:mm:ss")
                                                    , surveyInfo.EndTime.ToString("yyyy-MM-dd HH:mm:ss"),
                                                    Url.RetechAction("WriteSurvey", "CdeUserSurvey") + "?id=" + model.UserSurveyId + "&sid=" +
                                                    sendu.SendUserId);
                        msglist.Add(msg);
                    }
                    SendMessage(msglist, 11);
                }
            }
            catch (Exception ex)
            {
                LogHelper.WriteLog("反馈360°参评人员审批结果失败", ex);
            }

            return(Json(new { result = 1, msg = CdeQuestion.ApprovalSuccess }, JsonRequestBehavior.DenyGet));
        }
        public void AddUserSurvey(User user, Survey survey)
        {
            UserSurvey userSurvey = new UserSurvey();

            userSurvey.SurveyId = survey.Id;
            userSurvey.UserId   = user.Id;
            dbContext.UserSurveys.Add(userSurvey);
            dbContext.SaveChanges();
        }
Пример #9
0
 public ActionResult Edit([Bind(Include = "Id,Surnames,Names,Date,ContactNumber,Age,isPizzaLover,isPastaLover,isPapNWorsLover,isChickenStirFryLover,isBeefStirFryLover,isOtherFoodLover,LikeEatingOut,LikeWatchingMovies,LikeWatchingTV,LikeListeningToRadio")] UserSurvey userSurvey)
 {
     if (ModelState.IsValid)
     {
         db.Entry(userSurvey).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(userSurvey));
 }
        private QuestionCoreModel CalculateNextQuestion(Answer lastAnswer, UserSurvey userSurvey, bool isNext = false)
        {
            var questionNumber = lastAnswer.Question.Number;
            var nextQuestion   =
                lastAnswer.Question.Survey.Question.FirstOrDefault(q => q.Number == questionNumber + 1);

            if (nextQuestion == null)
            {
                return(null);
            }

            var answerIds = userSurvey.UserAnswer.Select(ua => ua.Answer.Id).ToList();

            if (isNext)
            {
                var Questions = userSurvey.Survey.Question.Where(q => q.Number > questionNumber)
                                .OrderBy(q => q.Number).ToList();
                nextQuestion = Questions.FirstOrDefault(q =>
                                                        !q.MustAnswered.Any() || q.MustAnswered.All(a => answerIds.Contains(a.Answer.Id)));

                return(new QuestionCoreModel
                {
                    Id = nextQuestion.Id, Text = nextQuestion.Text, Number = nextQuestion.Number,
                    Answers = nextQuestion.Answer.OrderBy(a => a.Number).Select(answer => new AnswerCoreModel
                    {
                        Id = answer.Id, Text = answer.Text, Type = (AnswerType)answer.Type,
                        Actions = answer.Action?.Select(a => new ActionCoreModel
                        {
                            Id = a.Id, Type = (ActionType)a.Type, Value = a.Value
                        }).ToList()
                    }).ToList()
                });
            }

            var notAnsweredQuestions = userSurvey.Survey.Question
                                       .Where(q => !q.Answer.Any(a => answerIds.Contains(a.Id))).Where(q => q.Number > questionNumber)
                                       .OrderBy(q => q.Number).ToList();

            nextQuestion = notAnsweredQuestions.FirstOrDefault(q =>
                                                               !q.MustAnswered.Any() || q.MustAnswered.All(a => answerIds.Contains(a.Answer.Id)));

            return(new QuestionCoreModel
            {
                Id = nextQuestion.Id, Text = nextQuestion.Text, Number = nextQuestion.Number,
                Answers = nextQuestion.Answer.OrderBy(a => a.Number).Select(answer => new AnswerCoreModel
                {
                    Id = answer.Id, Text = answer.Text, Type = (AnswerType)answer.Type,
                    Actions = answer.Action?.Select(a => new ActionCoreModel
                    {
                        Id = a.Id, Type = (ActionType)a.Type, Value = a.Value
                    }).ToList()
                }).ToList()
            });
        }
Пример #11
0
        public static SurveyPersonCampaign CreatePersonCampaign(UserSurvey survey, string name)
        {
            var campaign = Entity.Create <SurveyPersonCampaign>();

            campaign.Name = name;
            campaign.SurveyForCampaign = survey;

            survey.SurveyCampaigns.Add(campaign.Cast <SurveyCampaign>());

            return(campaign);
        }
Пример #12
0
 public ActionResult Edit([Bind(Include = "UserSurveyId,UserId,SurveyId,DateCompleted")] UserSurvey userSurvey)
 {
     if (ModelState.IsValid)
     {
         db.Entry(userSurvey).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.SurveyId = new SelectList(db.Surveys, "SurveyId", "SurveyTitle", userSurvey.SurveyId);
     return(View(userSurvey));
 }
Пример #13
0
        public ActionResult PreviewWritedSurvey(int id, int userid = 0)
        {
            ViewBag.surveyConfig = _configManager.GetConfig(CurrentTenant.TenantId);
            UserSurvey usersurvey = _userSurveyManager.GetUserSurvey(id);

            ViewBag.userInfo = SystemUsers.First(p => p.UserId == usersurvey.UserId);
            SurveyInfo surveyInfo = _exampaperManager.GetUserParticipateSurveyInfo(id,
                                                                                   userid == 0 ? CurrentUser.UserId : userid);

            ViewBag.userid = userid;
            return(View(surveyInfo));
        }
        /// <summary>
        /// Create a task used to review someone elses answers.
        /// </summary>
        /// <param name="survey"></param>
        /// <param name="reviewer"></param>
        /// <param name="result"></param>
        UserSurveyTask CreateReviewTask(UserSurvey survey, Person reviewer, SurveyResponse result)
        {
            var task = Entity.Create <UserSurveyTask>();

            task.UserSurveyTaskForReview      = true;
            task.AssignedToUser               = reviewer;
            task.UserSurveyTaskSurveyResponse = result;
            task.UserTaskDueOn = null;                      // The review can be completed after the campaign finshes
            task.Name          = string.Format(reviewTaskName, result.SurveyTaker.Name ?? "[Unnamed]", survey.Name ?? "[Unnamed]");

            return(task);
        }
Пример #15
0
        public ActionResult Create([Bind(Include = "UserSurveyId,UserId,SurveyId,DateCompleted")] UserSurvey userSurvey)
        {
            if (ModelState.IsValid)
            {
                db.UserSurveys.Add(userSurvey);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.SurveyId = new SelectList(db.Surveys, "SurveyId", "SurveyTitle", userSurvey.SurveyId);
            return(View(userSurvey));
        }
Пример #16
0
 public ActionResult Create([Bind(Include = "Id,Surnames,Names,Date,ContactNumber,Age,isPizzaLover,isPastaLover,isPapNWorsLover,isChickenStirFryLover,isBeefStirFryLover,isOtherFoodLover,LikeEatingOut,LikeWatchingMovies,LikeWatchingTV,LikeListeningToRadio")] UserSurvey userSurvey)
 {
     if (ModelState.IsValid)
     {
         userSurvey.Date = DateTime.Now;
         db.UserSurveys.Add(userSurvey);
         db.SaveChanges();
         return(RedirectToAction("Results"));
     }
     ViewBag.RatingValues = GetRatingOptions();
     return(View(userSurvey));
 }
Пример #17
0
        // GET: UserSurveys/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            UserSurvey userSurvey = db.UserSurveys.Find(id);

            if (userSurvey == null)
            {
                return(HttpNotFound());
            }
            return(View(userSurvey));
        }
Пример #18
0
        public ActionResult SurveyReport(int userSurveyId)
        {
            Cde_Report report     = _reportManager.GetReport(userSurveyId);
            UserSurvey userSurvey = _surveyManager.GetSurveyInfoByUserSurveyId(userSurveyId);

            report.Survey           = userSurvey.Survey;
            report.User             = _userManager.GetUserById(userSurvey.UserId);
            report.Survey.Exampaper = _exampaperManager.GetFullExampaper(userSurvey.Survey.ExampaperId);
            report.SendUsers.AddRange(_userSendSurveyManager.GetSurveySendUsers(userSurveyId));
            _surveyManager.LoadSendUsers(report.Survey);

            Cde_Configuration config = _configManager.GetConfig(CurrentTenant.TenantId);

            ViewBag.surveyConfig = config;
            List <Cde_SurveyReplyAnswer> userAnswers = _userSendSurveyManager.GetUsersReplyAnswers(userSurveyId);

            foreach (Cde_SurveyReplyAnswer answer in userAnswers)
            {
                Cde_SurveySendUsers anuser = report.SendUsers.Find(p => p.UserId == answer.UserID);
                if (anuser != null)
                {
                    answer.Relationship = anuser.Relationship;
                }
            }
            foreach (Cde_IndexQuestion question in report.Survey.Exampaper.Questions)
            {
                IEnumerable <Cde_SurveyReplyAnswer> qans = userAnswers.Where(p => p.QuestionId == question.QuestionId);
                question.ReplyAnswers.AddRange(qans);
                IEnumerable <Cde_SurveyReplyAnswer> lans    = qans.Where(p => p.Relationship == 0);
                IEnumerable <Cde_SurveyReplyAnswer> colans  = qans.Where(p => p.Relationship == 1);
                IEnumerable <Cde_SurveyReplyAnswer> subans  = qans.Where(p => p.Relationship == 2);
                IEnumerable <Cde_SurveyReplyAnswer> selfans = qans.Where(p => p.Relationship == 3);
                double ls  = lans.Any() ? lans.Average(p => p.Score) : 0d;
                double cs  = colans.Any() ? colans.Average(p => p.Score) : 0d;
                double sus = subans.Any() ? subans.Average(p => p.Score) : 0d;
                double ss  = selfans.Any() ? selfans.Average(p => p.Score) : 0d;
                question.AverageScore = (ls * config.LeaderWeight / 100d + cs * config.ColleagueWeight / 100d
                                         + sus * config.SubordinateWeight / 100d + ss * config.SelfWeight / 100d);
                question.OtherScore = (ls * config.LeaderWeight / 100d + cs * config.ColleagueWeight / 100d
                                       + sus * config.SubordinateWeight / 100d) * (1 - config.SelfWeight / 100d);
                question.SelfScore = ss;
            }
            foreach (Cde_ReportIndex index in report.IndexList)
            {
                index.OtherScore = (index.LeaderScore * config.LeaderWeight / 100m +
                                    index.ColleagueScore * config.ColleagueWeight / 100m +
                                    index.SubordinateScore * config.SubordinateWeight / 100m) / (1M - config.SelfWeight / 100m);
            }
            return(View(report));
        }
Пример #19
0
        public async Task AddUserToSurveyAsync(string userId, string surveyId)
        {
            var user = await this.usersRepository.All().FirstOrDefaultAsync(x => x.Id == userId);

            var userSurvey = new UserSurvey
            {
                User     = user,
                UserId   = user.Id,
                SurveyId = surveyId,
            };

            await this.userSurveysRepository.AddAsync(userSurvey);

            await this.userSurveysRepository.SaveChangesAsync();
        }
Пример #20
0
        // GET: User/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            UserSurvey userSurvey = db.UserSurveys.Find(id);

            if (userSurvey == null)
            {
                return(HttpNotFound());
            }
            ViewBag.SurveyId = new SelectList(db.Surveys, "SurveyId", "SurveyTitle", userSurvey.SurveyId);
            return(View(userSurvey));
        }
Пример #21
0
        public bool CreateUserSurvey(UserSurveyCreate model)
        {
            var entity =
                new UserSurvey()
            {
                SurveyId = model.SurveyId,
                UserId   = model.UserId
            };

            using (var ctx = new ApplicationDbContext())
            {
                ctx.UserSurveys.Add(entity);
                ctx.SaveChanges();
            }
            return(true);
        }
Пример #22
0
        // GET: TakeSurvey
        public ActionResult TakeSurvey(int userSurveyId)
        {
            QuestionService _questionService = new QuestionService();
            SurveyService   _surveyService   = new SurveyService();

            if (userSurveyId == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            UserSurvey            userSurvey      = _surveyService.GetUserSurveyById(userSurveyId);
            Survey                survey          = _surveyService.GetSurveyById(userSurvey.SurveyId);
            List <Question>       questions       = _questionService.GetQuestionsBySurveyId(survey.SurveyId);
            List <QuestionDetail> questionDetails = questions.Select(x => new QuestionDetail()
            {
                QuestionText       = x.QuestionText,
                QuestionId         = x.QuestionId,
                QuestionType       = Enum.GetName(typeof(QuestionType), x.QuestionType),
                QuestionChoiceText = _questionService.GetQuestionChoicesByQuestionId(x.QuestionId)
                                     .Select(y => new QuestionChoiceDetails()
                {
                    QuestionChoiceText  = y.QuestionChoiceText,
                    QuestionChoiceValue = y.QuestionChoiceValue,
                    QuestionChoiceId    = y.QuestionChoiceId
                }).ToList()
            }).ToList();

            SurveyDetail surveyDetail = new SurveyDetail()
            {
                SurveyTitle       = survey.SurveyTitle,
                SurveyDescription = survey.SurveyDescription,
                StartDate         = survey.StartDate,
                EndDate           = survey.EndDate,
                SurveyQuestions   = questionDetails,
                SurveyId          = survey.SurveyId,
                UserSurveyId      = userSurvey.UserSurveyId
            };

            if (survey == null)
            {
                return(HttpNotFound());
            }
            return(View(surveyDetail));
            //return View();
        }
Пример #23
0
        public JsonResult GenerateResult(int userSurveyId)
        {
            string errorMsg;

            UserSurvey usy = _userSurveyManager.GetUserSurvey(userSurveyId);

            usy.Survey = _cdeSurveyManager.GetCdeSurveyInfoById(usy.SurveyId);
            if (usy.Survey.EndTime > DateTime.Now)
            {
                return(Json(new { result = 0, msg = CdeQuestion.Prompt14 }, JsonRequestBehavior.AllowGet));
            }
            bool result = _cdeSurveyManager.GenerateSurveyResult(userSurveyId, CurrentUser.UserId, out errorMsg);

            if (result)
            {
                return(Json(new { result = 1, msg = CdeQuestion.BuildSuccess }, JsonRequestBehavior.AllowGet));
            }
            return(Json(new { result = 0, msg = errorMsg }, JsonRequestBehavior.AllowGet));
        }
Пример #24
0
        string IUserAnswerService.AddAnswers(List <UserAnswer> userAnswers, int surveyId, string encriptedUserId)
        {
            var s = surveyRepository.GetManyWithInclude(survey => survey.Id == surveyId, survey => survey.Users, survey => survey.Questions, survey => survey.Groups).FirstOrDefault();

            //validation
            var validation = this.Validation(s.Questions.ToList(), userAnswers, s, true);

            if (validation != null)
            {
                return(validation);
            }
            var userId = userAnswers.First().UserId;
            var user   = userRepository.GetById(userAnswers.First().UserId);

            repository.AddAnswers(userAnswers);

            //add user and survey in table UserSurvey
            UserSurvey us = new UserSurvey();

            us.UserId       = userId;
            us.SurveyId     = surveyId;
            us.EncrptUserId = encriptedUserId;

            userSurveyRepository.Add(us);
            var userNameAndLastName = "Korisnik ";

            if (!s.Anonymous)
            {
                userNameAndLastName += user.FirstName + " " + user.LastName;
            }

            //notification for author
            Notification notification = new Notification(userNameAndLastName + " je popunio/la Vašu  anketu", DateTime.Now, Operation.FILLED, NotificationType.PERSONAL);

            notification.SurveyId = us.SurveyId;
            notification.UserId   = us.UserId;
            UserNotification un = new UserNotification(s.UserId, notification, false);

            userNotificationRepository.Add(un);

            return(null);
        }
Пример #25
0
        public JsonResult GetSurveyWrited(int userSurveyId)
        {
            UserSurvey surveyInfo = _cdeSurveyManager.GetSurveyInfoByUserSurveyId(userSurveyId);
            SysUser    userInfo   = _userManager.GetUserById(surveyInfo.UserId);
            List <Cde_SurveySendUsers> writedlist;

            if (surveyInfo.ApproveFlag != 2)
            {
                writedlist = new List <Cde_SurveySendUsers>();
            }
            else
            {
                writedlist = _sendUserManager.GetSurveySendUsers(userSurveyId);
            }

            return(Json(new
            {
                userSurveyId,
                surveyInfo.Realname,
                CurrentTenant.TenantName,
                userInfo.PostName,
                userInfo.DeptLevelPath,
                surveyInfo.Survey.ExampaperName,
                surveyInfo.Survey.ExampaperId,
                StartTime = surveyInfo.Survey.StartTime.ToString("yyyy-MM-dd HH:mm:ss"),
                EndTime = surveyInfo.Survey.EndTime.ToString("yyyy-MM-dd HH:mm:ss"),
                WriteList = writedlist.Select(p => new
                {
                    p.UserId,
                    p.Realname,
                    p.RelationshipStr,
                    IsWrited = p.Status == 3 ? "1" : "0",
                    IsWritedStr = p.Status == 3 ? ExamTest.submitted : LanguageResources.Common.NoSubmit,
                    SubmitTime =
                        (p.Status == 3 && p.SubmitTime.HasValue)
                            ? p.SubmitTime.Value.ToString("yyyy-MM-dd HH:mm:ss")
                            : "/",
                    p.SendUserId
                })
            }, JsonRequestBehavior.AllowGet));
        }
Пример #26
0
        public string GetTheBestSurveyOfUser(int userId)
        {
            if (userId == 0)
            {
                throw new ArgumentException();
            }
            try
            {
                using (var db = new SurveyContext(_app.Conn))
                {
                    List <UserSurvey> surveys = db.UserSurveys.Include(w => w.Survey)
                                                .Where(s => s.UserId == userId &&
                                                       s.IsPass == true)
                                                .ToList();
                    if (surveys != null && surveys.Count > 0)
                    {
                        UserSurvey last_survey = new UserSurvey();

                        foreach (var survey in surveys)
                        {
                            if (last_survey.Result <= survey.Result)
                            {
                                last_survey = survey;
                            }
                        }

                        return(string.Format("{0} {1} %", last_survey.Survey.Name, last_survey.Result));
                    }
                    else
                    {
                        return(string.Empty);
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
Пример #27
0
 public void SetMark(int surveyId, int userId, double result)
 {
     try
     {
         using (var db = new SurveyContext(_app.Conn))
         {
             UserSurvey userSurvey = db.UserSurveys.FirstOrDefault(m => m.UserId == userId &&
                                                                   m.SurveyId == surveyId);
             if (!(userSurvey is null))
             {
                 userSurvey.IsPass          = true;
                 userSurvey.Result          = result;
                 db.Entry(userSurvey).State = EntityState.Modified;
                 db.SaveChanges();
             }
         }
     }
     catch (Exception)
     {
         throw;
     }
 }
Пример #28
0
 public JsonResult RemindWrite(int userSurveyId, string userIds)
 {
     try
     {
         int[] uids = userIds.GetArray();
         IEnumerable <Cde_SurveySendUsers> sendus =
             _sendUserManager.GetSurveySendUsers(userSurveyId).Where(p => uids.Contains(p.UserId));
         UserSurvey model      = _userSurveyManager.GetUserSurvey(userSurveyId);
         SurveyInfo surveyInfo = _cdeSurveyManager.GetCdeSurveyInfoById(model.SurveyId);
         var        msglist    = new List <SysIinstationMessage>();
         foreach (Cde_SurveySendUsers sendu in sendus)
         {
             //if (sendu.UserId == model.UserId) continue;
             var msg = new SysIinstationMessage();
             msg.title = string.Format(LanguageResources.SendMessage.CdeSurveyWrite_Title, model.Realname,
                                       surveyInfo.SurveyTitle);
             msg.tenantId   = CurrentUser.TenantId;
             msg.sendUserId = 0;
             msg.recUserId  = new[] { sendu.UserId };
             msg.content    = string.Format(LanguageResources.SendMessage.CdeSurveyWrite_Content
                                            , model.Realname, surveyInfo.SurveyTitle,
                                            sendu.Relationship == 3
                     ? ""
                     : LanguageResources.Common.Comma + CdeQuestion.YouForUser + sendu.RelationshipStr,
                                            surveyInfo.StartTime.ToString("yyyy-MM-dd HH:mm:ss")
                                            , surveyInfo.EndTime.ToString("yyyy-MM-dd HH:mm:ss"),
                                            Url.RetechAction("WriteSurvey", "CdeUserSurvey") + "?id=" + model.UserSurveyId + "&sid=" + sendu.SendUserId);
             msglist.Add(msg);
         }
         SendMessage(msglist, 11);
     }
     catch (Exception ex)
     {
         LogHelper.WriteLog("360°评估提醒参评人员消息发送失败", ex);
         return(Json(new { result = 1, msg = CdeQuestion.Prompt12 + ex.Message }, JsonRequestBehavior.AllowGet));
     }
     return(Json(new { result = 1, msg = CdeQuestion.Prompt13 }, JsonRequestBehavior.AllowGet));
 }
        public Task <Result <Guid> > Add(CreateTicketModel model, UserSurvey userSurvey = null, bool sendEmail = true)
        => Result <Guid> .TryAsync(async() =>
        {
            var isAdmin = generalDataService.User.Permissions.Any(p => p == (int)PermissionType.Admin);

            if (model.UserId == Guid.Empty)
            {
                model.UserId = generalDataService.User.Id;
            }

            var user = (await _membershipServiceApi.SystemUserApiService.Get(new BaseModel {
                Id = model.UserId
            }))
                       .Data;
            var ticket = new Ticket
            {
                Id               = Guid.NewGuid(),
                CreationDate     = DateTime.Now,
                UserId           = !isAdmin ? generalDataService.User.Id : user.Id,
                RepresentativeId = isAdmin ? generalDataService.User.Id : Guid.Empty,
                BlobId           = model.BlobId,
                Text             = model.Text,
                Title            = model.Title,
                Active           = true,
                Priority         = (byte)model.Priority
            };

            if (userSurvey != null)
            {
                ticket.UserSurvey.Add(userSurvey);
            }

            _repository.Add(ticket);
            await _repository.CommitAsync();


            return(Result <Guid> .Successful(ticket.Id));
        });
Пример #30
0
        public Task <Result <Guid> > Add(CreateTaxModel model, UserSurvey userSurvey = null)
        => Result <Guid> .TryAsync(async() =>
        {
//                var user = (await _membershipServiceApi.SystemUserApiService.Get(
//                    new MembershipService.ApiClient.Models.BaseModel {Id = model.UserId})).Data;

            var tax = new Tax
            {
                Id           = Guid.NewGuid(),
                Description  = model.Description,
                CreationDate = DateTime.Now,
                UserId       = model.UserId,
                TaxFile      = null,
                Amount       = model.Amount,
                Status       = model.Status != null ? (byte)model.Status : (byte)TaxStatus.SetConsultation,
                Title        = model.Title,
                Enabled      = model.Enabled
            };

            if (userSurvey != null)
            {
                tax.UserSurvey = (userSurvey);
            }

            _repository.Add(tax);
            await _repository.CommitAsync();

//                _coreSmtpClient.Send(user.Email,
//                    $"Dear  {user.Firstname}  {user.Lastname} ,\n Your Tax Report is Assigned to you in the system , please check it as soon as possible . \n Best Regards",
//                    "Your Tax Report");

//                await _smsHttpClient.Send(user.Mobile,
//                    $"Dear  {user.Firstname} {user.Lastname} ,\n Your Tax Report is Assigned to you in the system , please check it as soon as possible . \n Best Regards");

            return(Result <Guid> .Successful(tax.Id));
        });