internal List <MarketResearch> SurveyByID(int researchID) { { var sql = @"SELECT [ResearchID], [CompanyID] FROM MarketResarch WHERE ResearchID=@Id"; using (SqlConnection connection = new SqlConnection(conString)) using (SqlCommand command = new SqlCommand(sql, connection)) { connection.Open(); command.Parameters.Add(new SqlParameter("Id", researchID)); SqlDataReader reader = command.ExecuteReader(); List <MarketResearch> mrlist = new List <MarketResearch>(); while (reader.Read()) { var mr = new MarketResearch { researchID = reader.GetSqlInt32(0).Value, companyID = reader.GetSqlInt32(1).Value, }; mrlist.Add(mr); } return(mrlist); } } }
public async Task <IActionResult> Edit(Guid id, [Bind("MarketResearchId,Name,Description,Purpose,MinAge,MaxAge,Gender,Area,CreationDate,StartDate,EndDate")] MarketResearch marketResearch) { if (id != marketResearch.MarketResearchId) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(marketResearch); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!MarketResearchExists(marketResearch.MarketResearchId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(marketResearch)); }
public async Task <IActionResult> CreateQuestionsToMarketResearchDirectly([Bind("MarketResearchId,Name,Description,Purpose,MinAge,MaxAge,Gender,Area,CreationDate,StartDate,EndDate,NumberOfResponders, OnGoing")] MarketResearch marketResearch) { if (ModelState.IsValid) { marketResearch.MarketResearchId = Guid.NewGuid(); ApplicationUser applicationUser = await _userManager.GetUserAsync(HttpContext.User); var userId = applicationUser.Id; await _accessQuestions.SetMarketResearchToPersonAndOrganizationAndSave(marketResearch, userId); await _accessQuestions.GetRespondersToMarketResearch(marketResearch); await _context.SaveChangesAsync(); } var questionToMarketResearch = new AddQuestionToMarketResearchVm { CurrentMarketResearchId = marketResearch.MarketResearchId }; return(RedirectToAction("Create", "Questions", questionToMarketResearch)); }
internal async Task SetMarketResearchToPersonAndOrganizationAndSave(MarketResearch marketResearch, Guid userId) { var person = await _questionContext.Persons.Include(x => x.MarketResearches).FirstAsync(x => x.PersonId == userId); var organization = await _questionContext.Organizations.Include(x => x.MarketResearches).FirstAsync(x => x.OrganizationId == person.OrganizationId); //if (marketResearch.StartDate>=DateTime.Now && marketResearch.EndDate <= DateTime.Now) Sätter detta redan i klassen nu //{ // marketResearch.OnGoing = true; //} person.MarketResearches.Add(marketResearch); organization.MarketResearches.Add(marketResearch); _questionContext.Update(person); _questionContext.Update(organization); await _questionContext.SaveChangesAsync(); }
public async Task <IActionResult> Create(MarketResearch marketresearch) { if (ModelState.IsValid) { marketresearch.CreatedBy = Convert.ToInt32(_session.GetInt32("MDnAloggedinuserid")); marketresearch.DateCreated = DateTime.Now; marketresearch.LastModifiedBy = Convert.ToInt32(_session.GetInt32("MDnAloggedinuserid")); marketresearch.DateLastModified = DateTime.Now; TempData["marketresearch"] = "You have successfully added Meck Doramen And Associates's Market Research!!!"; TempData["notificationType"] = NotificationType.Success.ToString(); await _database.MarketResearches.AddAsync(marketresearch); await _database.SaveChangesAsync(); return(Json(new { success = true })); } return(View(marketresearch)); }
public async Task <IActionResult> Create([Bind("MarketResearchId,Name,Description,Purpose,MinAge,MaxAge,Gender,Area,CreationDate,StartDate,EndDate, NumberOfResponders, OnGoing")] MarketResearch marketResearch) { if (ModelState.IsValid) { if (marketResearch.StartDate > marketResearch.EndDate) { ModelState.AddModelError("Kallee", "Slutdatum tidigare än startdatum går inte"); return(View(marketResearch)); } ApplicationUser applicationUser = await _userManager.GetUserAsync(HttpContext.User); var userId = applicationUser.Id; await _accessQuestions.SetMarketResearchToPersonAndOrganizationAndSave(marketResearch, userId); await _accessQuestions.GetRespondersToMarketResearch(marketResearch); return(RedirectToAction(nameof(GetMarketResearchesWithStatusOngoing))); } return(View(marketResearch)); }
public async Task <IActionResult> Edit(int?id, MarketResearch _marketResearch) { if (id != _marketResearch.MarketResearchId) { return(RedirectToAction("Index", "Error")); } if (ModelState.IsValid) { try { _marketResearch.DateLastModified = DateTime.Now; _marketResearch.LastModifiedBy = Convert.ToInt32(_session.GetInt32("MDnAloggedinuserid")); _database.Update(_marketResearch); await _database.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!MarketResearchExists(_marketResearch.MarketResearchId)) { return(RedirectToAction("Index", "Error")); } else { throw; } } TempData["marketresearch"] = "You have successfully modified Meck Doramen And Associates's Market Research !!!"; TempData["notificationType"] = NotificationType.Success.ToString(); return(Json(new { success = true })); } return(View(_marketResearch)); }
internal async Task GetRespondersToMarketResearch(MarketResearch marketResearch) { List <Person> respondersToFill = new List <Person>(); if (_questionContext.Persons.ToList().Count != 0) { var responders = _questionContext.Persons.Where(x => //( marketResearch.Gender == null || marketResearch.Gender == x.Gender) && (marketResearch.MinAge == null || marketResearch.MinAge < x.Age) && (marketResearch.MaxAge == null || marketResearch.MaxAge > x.Age) && (marketResearch.OnGoing == true) && x.OrganizationId == null).ToList(); //&& //(marketResearch.Area == null || marketResearch.Area == x.City)).ToList(); if (responders.Count < marketResearch.NumberOfResponders) { int missingResponders = marketResearch.NumberOfResponders - responders.Count; if (_questionContext.Persons.ToList().Count < missingResponders) { respondersToFill = _questionContext.Persons.ToList(); foreach (var resp in respondersToFill) { if (resp.OrganizationId == null) { responders.Add(resp); } } } else { for (int i = 0; i < missingResponders; i++) { respondersToFill = _questionContext.Persons.Where(x => x.OrganizationId == null).OrderBy(r => Guid.NewGuid()).Take(missingResponders).ToList(); } foreach (var filInResponder in respondersToFill) { responders.Add(filInResponder); } } foreach (var responder in responders) { var resp = new Responders(); resp.Persons = responder; resp.MarketResearchs = marketResearch; resp.MarketResearchCompleted = false; _questionContext.Add(resp); await _questionContext.SaveChangesAsync(); } } else if (responders.Count == marketResearch.NumberOfResponders) { foreach (var responder in responders) { var resp = new Responders(); resp.Persons = responder; resp.MarketResearchs = marketResearch; resp.MarketResearchCompleted = false; _questionContext.Add(resp); await _questionContext.SaveChangesAsync(); } } else { for (int i = 0; i < marketResearch.NumberOfResponders; i++) { var respondersToAdd = responders.OrderBy(r => Guid.NewGuid()).Take(marketResearch.NumberOfResponders).ToList(); foreach (var responder in respondersToAdd) { var resp = new Responders(); resp.Persons = responder; resp.MarketResearchs = marketResearch; resp.MarketResearchCompleted = false; _questionContext.Add(resp); await _questionContext.SaveChangesAsync(); } } } } }
public IActionResult Create() { var _marketResearch = new MarketResearch(); return(PartialView("Create", _marketResearch)); }