コード例 #1
0
ファイル: SurveyManager.cs プロジェクト: RezaHoque/compro
        public bool CreateSurvey(PollViewModel model, string[] Questions)
        {
            try
            {
                Array.Reverse(Questions);

                var start = model.StartDate.Date.ToString();
                var end   = model.EndDate.Date.ToString();

                PollingAndSyrvayModel Data = new PollingAndSyrvayModel
                {
                    Name        = "Survey",
                    Title       = model.Title,
                    Description = model.Description,
                    StartDate   = DateTime.ParseExact(start, "dd-MM-yyyy hh:mm:ss", CultureInfo.InvariantCulture), // String to datetime
                    EndDate     = DateTime.ParseExact(end, "dd-MM-yyyy hh:mm:ss", CultureInfo.InvariantCulture),   // String to datetime
                    Creation    = DateTime.Now.Date,
                    CreatorId   = Current_User_id,

                    Status       = true,
                    IsApproved   = true,
                    ApprovalDate = DateTime.Now.Date,
                    IsPublic     = true,
                };


                _data.PollingAndSyrvays.Add(Data);
                _data.SaveChanges();

                List <QuestionModel> QuestionList = new List <QuestionModel>();
                foreach (var i in Questions)
                {
                    if (i != "")
                    {
                        if (Char.IsDigit(i[0]) && i[i.Length - 1] == '?')
                        {
                            QuestionModel qus = new QuestionModel
                            {
                                ActivityName = "Survey",
                                ActivityId   = Data.Id,
                                Question     = i.Remove(i.Length - 1),
                            };

                            QuestionList.Add(qus);
                        }
                    }
                }



                _data.Questions.AddRange(QuestionList);
                _data.SaveChanges();


                List <AnswerModel> AnswerList = new List <AnswerModel>();
                int j = 0;
                foreach (var z in QuestionList)
                {
                    for (int i = j; i < Questions.Length;)
                    {
                        if (Questions[i] != "" && Questions[i].Remove(Questions[i].Length - 1) == z.Question)
                        {
                            i++;
                            if (Questions[i] != "")
                            {
                                var  x  = Questions[i][0];
                                bool x1 = Char.IsDigit(Questions[i][0]);

                                var  y1  = Questions[i][Questions[i].Length - 1];
                                bool y11 = Questions[i][Questions[i].Length - 1] == '?';


                                while ((Questions[i] != "") && ((!Char.IsDigit(Questions[i][0])) || !(Questions[i][Questions[i].Length - 1] == '?')))
                                {
                                    AnswerModel answer = new AnswerModel
                                    {
                                        QuestionId = z.Id,
                                        Answer     = Questions[i]
                                    };
                                    AnswerList.Add(answer);
                                    i++;
                                    if (i >= Questions.Length)
                                    {
                                        break;
                                    }
                                }
                                j = i;
                                break;
                            }
                            else
                            {
                                i++;
                                if (i >= Questions.Length)
                                {
                                    break;
                                }
                            }
                        }
                        else
                        {
                            i++;
                            if (i >= Questions.Length)
                            {
                                break;
                            }
                        }
                    }
                }


                _data.Answers.AddRange(AnswerList);
                _data.SaveChanges();



                return(true);
            }

            catch (Exception ex)
            {
                Email_Service_Model email = new Email_Service_Model
                {
                    ToEmail      = System.Configuration.ConfigurationManager.AppSettings["BccEmail"],
                    EmailSubject = "Failed to create notice.",
                    EMailBody    = $"Description: {model.Description}. Title: {model.Title}. Exception: {ex.ToString()}"
                };

                var emailmanager = new UtilityManager();
                emailmanager.SendEmail(email);
                return(false);
            }
        }
コード例 #2
0
ファイル: SurveyManager.cs プロジェクト: RezaHoque/compro
        public bool CreatePoll(PollViewModel model, List <string> inviteesIds)
        {
            try
            {
                var start = model.StartDate.Date.ToString();
                var end   = model.EndDate.Date.ToString();

                PollingAndSyrvayModel Data = new PollingAndSyrvayModel
                {
                    Name        = "Poll",
                    Title       = model.Title,
                    Description = model.Description,
                    StartDate   = DateTime.ParseExact(start, "dd-MM-yyyy hh:mm:ss", CultureInfo.InvariantCulture), // String to datetime
                    EndDate     = DateTime.ParseExact(end, "dd-MM-yyyy hh:mm:ss", CultureInfo.InvariantCulture),   // String to datetime
                    Creation    = DateTime.Now.Date,
                    CreatorId   = Current_User_id,

                    Status       = true,
                    IsApproved   = true,
                    ApprovalDate = DateTime.Now.Date,
                    IsPublic     = inviteesIds.Any() ? false : true
                };


                _data.PollingAndSyrvays.Add(Data);
                _data.SaveChanges();


                QuestionModel qus = new QuestionModel
                {
                    ActivityName = "Poll",
                    ActivityId   = Data.Id,
                    Question     = model.Question
                };

                _data.Questions.Add(qus);
                _data.SaveChanges();


                List <AnswerModel> AnswerList = new List <AnswerModel>();
                AnswerModel        answer     = new AnswerModel
                {
                    QuestionId = qus.Id,
                    Answer     = "Yes"
                };


                AnswerList.Add(answer);

                AnswerModel answer2 = new AnswerModel
                {
                    QuestionId = qus.Id,
                    Answer     = "No"
                };

                AnswerList.Add(answer2);
                _data.Answers.AddRange(AnswerList);
                _data.SaveChanges();


                if (Data.IsPublic == false)
                {
                    model.Id = Data.Id;
                    Perticipents(model, inviteesIds);
                }

                return(true);
            }

            catch (Exception ex)
            {
                Email_Service_Model email = new Email_Service_Model
                {
                    ToEmail      = System.Configuration.ConfigurationManager.AppSettings["BccEmail"],
                    EmailSubject = "Failed to create notice.",
                    EMailBody    = $"Description: {model.Description}. Title: {model.Title}. Exception: {ex.ToString()}"
                };

                var emailmanager = new UtilityManager();
                emailmanager.SendEmail(email);
                return(false);
            }
        }