public string CreateNewUser(SignUpModel model)
        {
            if (IsNewUserValid(model))
            {
                var salt = GenerateSequenceOfChars(20);
                // TODO: check facility name length
                var password = GeneratePassword(model.FacilityName);

                var user = new UserPurchase
                {
                    Email                = model.Email,
                    PasswordSalt         = salt,
                    Password             = HashPassword(password, salt),
                    FacilityName         = model.FacilityName,
                    UserRegistrationDate = DateTime.Now,
                    UserExpirationDate   = DateTime.Now.AddMonths(6)
                };

                _context.UserPurchases.Add(user);
                _context.SaveChanges();

                return(password);
            }

            return(null);
        }
Beispiel #2
0
        public ActionResult Create(AppSetting appsetting)
        {
            if (ModelState.IsValid)
            {
                _db.AppSettings.Add(appsetting);
                _db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(appsetting));
        }
Beispiel #3
0
        public ActionResult Create(QCategory qcategory)
        {
            if (ModelState.IsValid)
            {
                _db.QCategories.Add(qcategory);
                _db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(qcategory));
        }
        public ActionResult Create(Vendor vendor)
        {
            if (ModelState.IsValid)
            {
                _context.Vendors.Add(vendor);
                _context.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(vendor));
        }
Beispiel #5
0
        public ActionResult Create(QuestionnaireQCategory questionnaireqcategory)
        {
            if (ModelState.IsValid)
            {
                _db.QuestionnaireQCategories.Add(questionnaireqcategory);
                _db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.QuestionnaireId = new SelectList(_db.Questionnaires, "QuestionnaireId", "QuestionnaireName", questionnaireqcategory.QuestionnaireId);
            ViewBag.QCategoryId     = new SelectList(_db.QCategories, "QCategoryId", "QCategoryName", questionnaireqcategory.QCategoryId);
            return(View(questionnaireqcategory));
        }
        public ActionResult Create(Question question, string selectedQType, string qTitle)
        {
            if (ModelState.IsValid)
            {
                question.QTypeName = selectedQType;
                question.QTitle    = qTitle;

                _db.Questions.Add(question);
                _db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(question));
        }
Beispiel #7
0
        public ActionResult Create(Questionnaire questionnaire)
        {
            if (ModelState.IsValid)
            {
                _db.Questionnaires.Add(questionnaire);
                _db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(questionnaire));
        }
Beispiel #8
0
        private readonly QuestionnaireContext _db = new Questionnaire2.DAL.QuestionnaireContext();// QuestionnaireContext();

        public ActionResult Index()
        {
            var appSettings = _db.AppSettings.ToList();

            if (appSettings.All(x => x.AppSettingName != "Useful Links"))
            {
                _db.AppSettings.Add(new Models.AppSetting {
                    AppSettingName = "Useful Links", AppSettingValue = "Useful Links"
                });
            }
            if (appSettings.All(x => x.AppSettingName != "Useful Documents"))
            {
                _db.AppSettings.Add(new Models.AppSetting {
                    AppSettingName = "Useful Documents", AppSettingValue = "Useful Documents"
                });
            }
            if (appSettings.All(x => x.AppSettingName != "Notices"))
            {
                _db.AppSettings.Add(new Models.AppSetting {
                    AppSettingName = "Notices", AppSettingValue = "Notices"
                });
            }
            _db.SaveChanges();
            return(View(appSettings));
        }
        //
        // GET: /VendorClicksCounter/

        public ActionResult Index(int vendorId, int categoryId)
        {
            VendorStatisticsEntry entry = new VendorStatisticsEntry();

            entry.CategoryId = categoryId;
            entry.VendorId   = vendorId;
            entry.Type       = VendorStatisticsEntry.CLICK_TYPE;
            entry.OccurredAt = DateTime.Now;
            entry.UserId     = _userRepository.GetUserByEmail(User.Identity.Name,
                                                              (string)HttpContext.Session["facilityDateHash"]).Id;

            _context.VendorStatisticsEntries.Add(entry);
            _context.SaveChanges();

            //TODO: generate link using something like URLConstructor(LinkToWebsite);
            return(Redirect("http://" + _context.Vendors.Find(vendorId).LinkToWebsite));
        }
Beispiel #10
0
 public String AddQuestion(string question)
 {
     db.Questions.Add(new Question {
         QuestionText = question + "?"
     });
     db.SaveChanges();
     return("Вопрос добавлен");
 }
        public ActionResult Edit(IList <Response> model, FormCollection formCollection)
        {
            var qqcIds = model.Select(x => x.QuestionnaireQCategoryId).Distinct().ToList();


            var scope = new TransactionScope(
                // a new transaction will always be created
                TransactionScopeOption.RequiresNew,
                // we will allow volatile data to be read during transaction
                new TransactionOptions()
            {
                IsolationLevel = System.Transactions.IsolationLevel.ReadUncommitted
            }
                );

            if (ModelState.IsValid)
            {
                using (scope)
                {
                    try
                    {
                        foreach (var record in _db.Responses)
                        {
                            if (record.UserId == model[0].UserId && qqcIds.Contains(record.QuestionnaireQCategoryId))
                            {
                                _db.Responses.Remove(record);
                            }
                        }
                        _db.SaveChanges();

                        foreach (var r in model)
                        {
                            Response response = r;
                            _db.Responses.Add(response);
                            _db.SaveChanges();
                            var check = _db.Responses.Single(x => x.ResponseId == response.ResponseId);
                        }
                        scope.Complete();
                        return(RedirectToAction("Edit", "Response", new { area = "", id = 1 }));
                    }
                    catch { }
                }
                //db.Entry(Response).State = EntityState.Modified;
            }
            return(View());
        }
Beispiel #12
0
        private readonly QuestionnaireContext _db = new Questionnaire2.DAL.QuestionnaireContext();// QuestionnaireContext();

        public ActionResult Index()
        {
            var appSettings = _db.AppSettings.ToList();

            if (appSettings.All(x => x.AppSettingName != "Title Message"))
            {
                _db.AppSettings.Add(new Models.AppSetting {
                    AppSettingName = "Title Message", AppSettingValue = "Title Message"
                });
            }
            if (appSettings.All(x => x.AppSettingName != "Application Description"))
            {
                _db.AppSettings.Add(new Models.AppSetting {
                    AppSettingName = "Application Description", AppSettingValue = "Application Description"
                });
            }
            _db.SaveChanges();
            return(View(appSettings));
        }
Beispiel #13
0
        public static void Seed(QuestionnaireContext dbContext)
        {
            var questionnaire = ReadQuestionnaireData();

            AddQuestionnaire(dbContext, questionnaire);
            AddSubjects(questionnaire, dbContext);
            AddQuestions(questionnaire, dbContext);
            AddAnswers(questionnaire, dbContext);

            dbContext.SaveChanges();
        }
Beispiel #14
0
 public void CreateAdmin(string password)
 {
     if (dbContext.Admins.Any())
     {
         throw new InvalidOperationException("Admin already exists");
     }
     dbContext.Admins.Add(new Admin {
         Password = password
     });
     dbContext.SaveChanges();
 }
Beispiel #15
0
        public ActionResult Create(Category category)
        {
            if (ModelState.IsValid)
            {
                category.ImageDisplayFlag = true;

                category.RiskRanges = new List <RiskRange>();
                category.RiskRanges.Add(new RiskRange(1));
                category.RiskRanges.Add(new RiskRange(2));
                category.RiskRanges.Add(new RiskRange(3));
                db.Categories.Add(category);

                Category entry = db.Entry(category).Entity;
                System.Data.Entity.DbSet <Category> dbset = db.Categories;

                db.SaveChanges();
                return(RedirectToAction("Edit/" + category.Id));
            }

            return(View(category));
        }
        public ActionResult Edit(Question question)
        {
            if (ModelState.IsValid)
            {
                _context.Entry(question).State = EntityState.Modified;
                _context.SaveChanges();
                //return RedirectToAction("Index");

                // Question entry = _context.Entry(question).Entity;
                // System.Data.Entity.DbSet<Question> dbset = _context.Questions;

                //If we changed index, we need to shift other elements
                // int oldIndex = dbset.First(x => x.Id == entry.Id).Index;

                // shiftIndexes(entry, oldIndex, dbset);

                //Ugly workaround
                //Question dbQ = dbset.First(x => x.Id == entry.Id);
                //dbQ.Index = entry.Index;
                //dbQ.CategoryId = question.CategoryId;
                //dbQ.PostAnnotation = entry.PostAnnotation;
                //dbQ.Summary = entry.Summary;
                //dbQ.Title = entry.Title;
                //_context.SaveChanges();

                return(RedirectToAction("Index"));
            }
            return(View(question));
        }
        public ActionResult Upload(File2DB model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var uploadedFile = new byte[model.File.InputStream.Length];

            model.File.InputStream.Read(uploadedFile, 0, uploadedFile.Length);
            _db.Files.Add(new File()
            {
                UserId                   = model.UserId,
                QuestionnaireId          = model.QuestionnaireId,
                QuestionnaireQCategoryId = model.QuestionnaireQCategoryId,
                QCategoryName            = model.QCategoryName,
                FileName                 = model.File.FileName,
                Description              = model.Description,
                FileBytes                = uploadedFile
            });
            _db.SaveChanges();
            TempData["activePanel"] = Request.Form["activePanel"];
            return(RedirectToAction("Upload", new { QuestionnaireId = model.QuestionnaireId, QuestionnaireQCategoryId = model.QuestionnaireQCategoryId, QCategoryName = model.QCategoryName }));
        }
        public ActionResult BindVendorToCategory(int vendorId, int categoryId)
        {
            if (categoryId == OverallCategoryWithBindedVendors.OVERALL_CATEGORY_ID)
            {
                _context.OverallCategoryVendorEntries.Add(new OverallCategoryVendorEntry {
                    VendorId = vendorId
                });
            }
            else
            {
                CategoryToVendorMap newMapping = new CategoryToVendorMap
                {
                    VendorId   = vendorId,
                    CategoryId = categoryId,
                    Index      = 101
                };

                _context.CategoryToVendorMaps.Add(newMapping);
            }

            _context.SaveChanges();

            return(RedirectToAction("Index"));
        }
        public ActionResult AddUser(UserPurchase userPurchase)
        {
            UserRepository userRepository = new UserRepository();

            if (ModelState.IsValid)
            {
                var salt = "ururu";

                userPurchase.Password     = UserRepository.HashPassword(userPurchase.Password.Trim(), salt);
                userPurchase.PasswordSalt = salt;
                userPurchase.Email        = userPurchase.Email.ToLower().Trim();
                if (userPurchase.ActivatorsEmail != null)
                {
                    userPurchase.ActivatorsEmail = userPurchase.ActivatorsEmail.ToLower().Trim();
                }

                userPurchase.DateOfPurchase       = DateTime.Now;
                userPurchase.UserRegistrationDate = DateTime.Now;

                //Check to make sure the combination of Email, Password, and Facilty is unique
                int existingUserCheck = _context.UserPurchases.Where(x => x.Email == userPurchase.Email && x.Password == userPurchase.Password && x.FacilityName == userPurchase.FacilityName).Count();

                if (existingUserCheck == 0)
                {
                    _context.UserPurchases.Add(userPurchase);
                    _context.SaveChanges();
                    return(RedirectToAction("Index"));
                }
                else
                {
                    ModelState.AddModelError("Email", "The combination of Email, Password, and Facility Name must be unique. ");
                }
            }

            return(View(userPurchase));
        }
Beispiel #20
0
 public string Questions(string Name, List <String> Answer, List <Int32> QId)
 {
     db.Persons.Add(new Person {
         PersonName = Name
     });
     for (int i = 0; i < Answer.Count; i++)
     {
         db.Answers.Add(new Answer
         {
             AnswerText = Answer[i],
             PersonId   = db.Persons.Count() + 1,
             QuestionId = QId[i]
         });
     }
     db.SaveChanges();
     return("Спасибо за ваш ответ, " + Name + "!");
 }
Beispiel #21
0
        private static void Main(string[] args)
        {
            CreateAdminAndCheckLogin();
            AddQuestionsToDb();
            return;

            SubjectRepository subjectRepo = new SubjectRepository();
            Subject           subject     = new Subject()
            {
                Nickname         = "Zoli",
                Age              = 22,
                Gender           = Gender.Female,
                QuestionAnswers  = new List <QuestionAnswer>(),
                SessionStartDate = DateTime.Now
            };

            subjectRepo.Create(subject);

            using QuestionManager questionManager = new QuestionManager();
            Question[] questions = questionManager.GetQuestionsForSubject(subject).ToArray();

            var answers = questions.Select(q => new QuestionAnswer()
            {
                Answer   = true,
                Question = q
            });

            subject.QuestionAnswers.AddRange(answers);
            subjectRepo.SaveChanges();

            Console.WriteLine("FINISHED");
            Console.ReadKey();

            using var context = new QuestionnaireContext();
            context.Questions.RemoveRange(context.Questions);
            context.QuestionAnswers.RemoveRange(context.QuestionAnswers);
            context.Subjects.RemoveRange(context.Subjects);
            context.SaveChanges();
        }
 public bool Save(UserAnswers userAnswers)
 {
     foreach (KeyValuePair <string, int[]> entry in userAnswers.Answers)
     {
         foreach (int optionId in entry.Value)
         {
             _questionnaireContext.Answers
             .Add(
                 new Answer()
             {
                 QuestionId = int.Parse(entry.Key),
                 OptionId   = optionId,
                 UserName   = userAnswers.User,
                 Stamp      = DateTime.Now,
                 IsCorrect  = _questionnaireContext.QuestionsOptions
                              .Where(o => o.QuestionId == int.Parse(entry.Key))
                              .Any(o => o.isCorrect && o.Id == optionId)
             });
             _questionnaireContext.SaveChanges();
         }
     }
     return(true);
 }
Beispiel #23
0
 public void Save()
 {
     context.SaveChanges();
 }
Beispiel #24
0
        public static void Seed(QuestionnaireContext context)
        {
            context.Database.EnsureCreated();

            if (context.Results.Any())
            {
                return;
            }

            var resultList = new List <Result>
            {
                new Result {
                    Text = "Возрастное ограничение данной игры: +18"
                },
                new Result {
                    Text = "Возрастное ограничение данной игры: +16"
                },
                new Result {
                    Text = "Возрастное ограничение данной игры: +12"
                },
                new Result {
                    Text = "Возрастное ограничение данной игры: +6"
                },
                new Result {
                    Text = "Возрастное ограничение данной игры: +0"
                },
            };

            context.Results.AddRange(resultList);

            context.SaveChanges();

            context.BinaryQuestions.AddRange(new List <BinaryQuestion>
            {
                new BinaryQuestion
                {
                    Text = "Присутствует ли в сюжете игры натуралистические сцены половых отношений или сексуального насилия?",
                    DeterminateAnswer = true,
                    Result            = resultList.FirstOrDefault(r => r.Id == 1),
                    Order             = 1
                },
                new BinaryQuestion
                {
                    Text = "Встречаются ли в игре отдельные бранные слова и (или) выражения, относящиеся к нецензурной брани?",
                    DeterminateAnswer = true,
                    Result            = resultList.FirstOrDefault(r => r.Id == 1),
                    Order             = 2
                },
                new BinaryQuestion
                {
                    Text = "Игра содержит изображение или описание, побуждающие к совершению антиобщественных действий (в том числе к потреблению алкогольной и спиртосодержащей продукции, участию в азартных играх, занятию бродяжничеством или попрошайничеством)?",
                    DeterminateAnswer = true,
                    Result            = resultList.FirstOrDefault(r => r.Id == 2),
                    Order             = 3
                },
                new BinaryQuestion
                {
                    Text = "Содержит ли игра натуралистические изображение или описание несчастного случая, аварии, катастрофы либо ненасильственной смерти без демонстрации их последствий, которые могут вызывать у детей страх, ужас или панику?",
                    DeterminateAnswer = true,
                    Result            = resultList.FirstOrDefault(r => r.Id == 3),
                    Order             = 4
                },
                new BinaryQuestion
                {
                    Text = "Игра содержит информацию, причиняющую вреда здоровью и (или) развитию детей (в том числе информационная продукция, содержащая оправданные ее жанром и (или) сюжетом эпизодические ненатуралистические изображение или описание физического и (или) психического насилия (за исключением сексуального насилия) при условии торжества добра над злом и выражения сострадания к жертве насилия и (или) осуждения насилия)?",
                    DeterminateAnswer = true,
                    Result            = resultList.FirstOrDefault(r => r.Id == 4),
                    Order             = 5
                }
            });

            context.SaveChanges();
        }
        public ActionResult SendToVerification(int id)
        {
            var userId = WebSecurity.GetUserId(User.Identity.Name);

            // Delete existing verification items for this user
            //var userItems = _db.Verifications.Where(x => x.UserId == userId);
            //var removeRange = _db.Verifications.RemoveRange(userItems);
            //var saveChanges = _db.SaveChanges();

            var lockedSections =
                _db.Verifications.Where(x => x.UserId == userId && x.Editable == false).Select(x => x.QQCategoryId).ToList();

            var applicationDataToVerify = _db.Responses.Where(x => x.UserId == userId && x.QuestionnaireId == 1 && !lockedSections.Contains(x.QuestionnaireQCategoryId)).ToList();

            var distinctQCategoryIds = applicationDataToVerify.Select(x => x.QCategoryId).Distinct();

            foreach (var qCategoryId in distinctQCategoryIds)
            {
                var distinctSubOrdinals = applicationDataToVerify.Where(x => x.QCategoryId == qCategoryId).Select(x => x.SubOrdinal).Distinct().ToList();
                for (var i = 0; i < distinctSubOrdinals.Count(); i++)
                {
                    var subOrdinal      = distinctSubOrdinals[i];
                    var questionnaireId = applicationDataToVerify[i].QuestionnaireId;

                    var categoryId   = qCategoryId;
                    var categoryName = _db.QCategories.Single(x => x.QCategoryId == categoryId).QCategoryName;
                    var qqCategoryId =
                        applicationDataToVerify.First(x => x.QCategoryId == qCategoryId && x.SubOrdinal == subOrdinal)
                        .QuestionnaireQCategoryId;

                    var subOrdinalQuestions = applicationDataToVerify.Where(x => x.QCategoryId == categoryId && x.SubOrdinal == subOrdinal).Select(x => new { x.QuestionText, x.ResponseItem });
                    var itemInfo            = "<b>" + categoryName.ToUpper() + "</b><br />";
                    itemInfo += subOrdinalQuestions.Aggregate("", (current, item) => current + ("<i>" + item.QuestionText + ":</i> " + item.ResponseItem + "<br />"));

                    if (_db.Verifications.Any(x => x.QQCategoryId == qqCategoryId))
                    {
                        //update
                        var verification = _db.Verifications.Single(x => x.QQCategoryId == qqCategoryId);
                        verification.ItemInfo         = itemInfo;
                        verification.Editable         = false;
                        _db.Entry(verification).State = (EntityState)System.Data.Entity.EntityState.Modified;
                    }
                    else
                    {
                        // make new
                        var verifyQCategory = new Verification
                        {
                            QuestionnaireId = questionnaireId,
                            UserId          = userId,
                            QCategoryId     = qCategoryId,
                            QQCategoryId    = qqCategoryId,
                            SubOrdinal      = subOrdinal,
                            ItemInfo        = itemInfo,
                            ItemVerified    = false,
                            ItemStepLevel   = "",
                            Editable        = false
                        };
                        _db.Verifications.Add(verifyQCategory);
                    }
                }
            }
            _db.SaveChanges();
            return(View());
        }