public OperationDetails TestPassing(QuestionViewModel question) { TimerModule currentTimer = (TimerModule)HttpContext.Current.Application["Timer" + HttpContext.Current.User.Identity.Name]; TempResult tempResult = Database.TempResults.GetAll(). Where(x => x.UserName == HttpContext.Current.User.Identity.Name). SingleOrDefault(); bool isPass = PassedQuestion(question, ref tempResult); if (currentTimer.StopWatch.IsRunning && !String.IsNullOrWhiteSpace(tempResult.QuestionPassing)) { if (isPass) { QuestionViewModel nextQuestion = MapperFromDB.Map <Question, QuestionViewModel> (Database.Questions.Get(tempResult.QuestionPassing.StringStirrer().FirstOrDefault())); HttpContext.Current.Application["Test" + HttpContext.Current.User.Identity.Name] = nextQuestion.IdQuestion; return(new OperationDetails(true, nextQuestion)); } return(new OperationDetails(true, question)); } else { EndTestPassing(tempResult); return(new OperationDetails(false, null)); } }
public void OneConformitySportEventsSaving() { ResultDTO r1 = new ResultDTO { TeamName = "Динамо Киев", IsHome = true, Score = 3 }; ResultDTO r2 = new ResultDTO { TeamName = "Ст. Этьен", IsHome = false, Score = 1 }; SportEventDTO ev = new SportEventDTO { Date = DateTime.Now.Ticks, SportType = "Football", Results = new List <ResultDTO> { r1, r2 } }; List <SportEventDTO> events = new List <SportEventDTO>(); events.Add(ev); IUnitOfWork unit = new EFUnitOfWork(this.databaseSportsContext); this.eventService.SaveSportEvents(events); Team team1 = unit.GetRepository <TeamName>() .Get(tn => tn.Name == "Динамо Киев") .Select(tn => tn.Team) .FirstOrDefault(); Assert.IsNotNull(team1); Team team2 = unit.GetRepository <TeamName>().Get(tn => tn.Name == "Ст. Этьен").Select(tn => tn.Team).FirstOrDefault(); Assert.IsNull(team2); IEnumerable <SportEvent> emptyEvents = unit.GetRepository <SportEvent>().Get(e => e.Results.Count() == 0); Assert.IsTrue(emptyEvents.Count() == 0); IEnumerable <SportEvent> oneResultEvents = unit.GetRepository <SportEvent>().Get(e => e.Results.Count() == 1); Assert.IsTrue(oneResultEvents.Count() == 0); Conformity conf2 = unit.GetRepository <Conformity>().Get(c => c.InputName == "Ст. Этьен").FirstOrDefault(); Assert.IsTrue(conf2.TempResult != null); Assert.IsTrue(conf2.TempResult.Team == null); IEnumerable <TempResult> tempResults = unit.GetRepository <TempResult>().Get(); Assert.IsTrue(tempResults.Count() == 2); TempResult tempResult1 = unit.GetRepository <TempResult>().Get(r => r.Team != null).FirstOrDefault(); Assert.IsTrue(tempResult1.Team.Name == "Динамо Киев"); Assert.IsTrue(conf2.TempResult.TempSportEvent.Id == tempResult1.TempSportEvent.Id); }
public OperationDetails GetCurrentTestState(int IdQuestion) { TempResult tempResult = Database.TempResults. Find(x => x.UserName == HttpContext.Current.User.Identity.Name). SingleOrDefault(); int currentId = Int32.Parse( HttpContext.Current.Application["Test" + HttpContext.Current.User.Identity.Name].ToString()); TimerModule timer = (TimerModule) HttpContext.Current.Application["Timer" + HttpContext.Current.User.Identity.Name]; if (tempResult != null) { if (String.IsNullOrWhiteSpace(tempResult.QuestionsPassed)) { QuestionViewModel question = MapperFromDB.Map <Question, QuestionViewModel> (Database.Questions.Get(currentId)); foreach (AnswerViewModel answer in question.Answers) { answer.Correct = false; } return(new OperationDetails(Math.Round(timer.CurrentInterval().TotalSeconds).ToString(), question)); } if (tempResult.QuestionPassing.StringStirrer(). Contains(currentId)) { QuestionViewModel question = MapperFromDB.Map <Question, QuestionViewModel> (Database.Questions.Get(currentId)); foreach (AnswerViewModel answer in question.Answers) { answer.Correct = false; } return(new OperationDetails(Math.Round(timer.CurrentInterval().TotalSeconds).ToString(), question)); } else { QuestionViewModel question = MapperFromDB.Map <Question, QuestionViewModel> (Database.Questions.Get(IdQuestion)); foreach (AnswerViewModel answer in question.Answers) { answer.Correct = false; } return(new OperationDetails( Math.Round(timer.CurrentInterval().TotalSeconds).ToString(), question)); } } else { return(new OperationDetails(false, "")); } }
private void EndTestPassing(TempResult tempResult) { TimerModule currentTimer = (TimerModule)HttpContext.Current.Application["Timer" + HttpContext.Current.User.Identity.Name]; HttpContext.Current.Application["Timer" + HttpContext.Current.User.Identity.Name] = null; object obj = new object(); currentTimer.EndTimer(obj); }
private void DeleteConformities(TempResult tempResult) { int j = tempResult.Conformities.Count; var array = tempResult.Conformities.ToArray(); for (int i = 0; i != j; i++) { this.dataUnit.GetRepository <Conformity>().Delete(array[i]); } }
public Result RunAlgorithm(Data data) { var currentDate = DateTime.Now; Count = data.Count; TetaMatrix = new List <List <float> >(); for (int i = 0; i < data.Count; i++) { TetaMatrix.Add(new List <float>()); for (int j = 0; j < data.Count; j++) { TetaMatrix[i].Add(StartTeta); } } MinPathWeight = GetMinPathWeight(data.Matrix.CopyMatrix()); Record = new TempResult(new List <int>(), 10000000); var numberOfIterationToExit = 5; if (data.Count > 20) { numberOfIterationToExit = 10; } var countBadResults = 0; while (countBadResults < numberOfIterationToExit) { var newValue = OneStep(data); if (Record.Sum > newValue.Sum) { Record = newValue; countBadResults = 0; } else { countBadResults++; } } var newDate = DateTime.Now; return(new Result { AlgorithmTime = (newDate - currentDate).TotalMilliseconds, StudentSequence = Record.Path, SumTime = Record.Sum + data.Time.Sum() }); }
protected void Finish() { if (TempResult == null) { CreateAndAddFigure(); } TempResult.RecalculateAndUpdateVisual(); Commit(); Drawing.RaiseConstructionStepComplete(new Drawing.ConstructionStepCompleteEventArgs() { ConstructionComplete = true }); Reset(); }
public void EndTimer(object obj) { if (_testEnd == false) { Result result = Database.Results.Get(IdResult); TempResult tempResult = Database.TempResults.Get(IdResult); result.ResultScore = ((tempResult.TotalScore * 100) / Database.Results.Get(IdResult).Test.TotalScore); result.TestPassed = true; result.CreateDate = DateTime.Now; Database.TempResults.Remove(tempResult); Database.Results.Update(result); Database.Complete(); StopTimer(); } }
private bool PassedQuestion(QuestionViewModel question, ref TempResult tempResult) { int IdResult = tempResult.IdResult; question.IdQuestion = (int)HttpContext.Current.Application["Test" + HttpContext.Current.User.Identity.Name]; UserQuestion userQuestion = Database.UserQuestions.Find(x => x.IdResult == IdResult && x.IdQuestion == question.IdQuestion). SingleOrDefault(); double questionScore = 0; try { Question questionDB = Database.Questions.Get(question.IdQuestion); double answerWeight = (questionDB.Score / questionDB.Answers. Where(x => x.Correct == true). Count()); foreach (Answer answer in questionDB.Answers) { AnswerViewModel answerUser = question.Answers.Where(x => x.IdAnswer == answer.IdAnswer).SingleOrDefault(); userQuestion.UserAnswers.Add(new UserAnswer() { IdUserQuestion = userQuestion.IdUserQuestion, IdAnswer = answer.IdAnswer, Correct = answerUser.Correct }); if (answerUser.Correct == answer.Correct && answer.Correct == true) { questionScore += answerWeight; userQuestion.UserScore += answerWeight; } } } catch (Exception e) { return(false); } tempResult.TotalScore += questionScore; tempResult.QuestionPassing = tempResult.QuestionPassing.StringStirrer(question.IdQuestion); tempResult.QuestionsPassed += question.IdQuestion.ToString() + ","; Database.UserAnswers.AddRange(userQuestion.UserAnswers); Database.Complete(); Database.UserQuestions.Update(userQuestion); Database.TempResults.Update(tempResult); Database.Complete(); return(true); }
public void GetDiffThreadTest() { Thread t1 = new Thread(obj => ((TempResult)obj).Rand = SyncRandom.Get()); Random r2 = null; r2 = SyncRandom.Get(); TempResult res = new TempResult(); t1.Start(res); t1.Join(); Assert.True(res.Rand != r2 && res.Rand != null); }
static string Add(string n1, string n2) { string Result = ""; // Pads both strings to equal lenghth with 0s PadStrings(ref n1, ref n2); // Column Elements (stack longer number on shorter number) int TopNum, BottomNum; // If Top + Bottom > 10, this is the 10s / 10 for adding to the next column int AdditionOverflow = 0; // Temporary result value for processing before finalizing int TempResult; // n1.Length is arbitrary as both strings have the same length for (int i = n1.Length - 1; i >= 0; i--) { // Convert the column elements to integers TopNum = int.Parse(n1[i].ToString()); BottomNum = int.Parse(n2[i].ToString()); // Add all column elements together TempResult = TopNum + BottomNum + AdditionOverflow; //Check if the intermediate result flows into the next column if (TempResult >= 10) { // Get the 10s digit of the overflow AdditionOverflow = (int)Math.Floor(TempResult / 10f); // Subtract off that digit (times 10) from the result to get a number < 10 TempResult -= AdditionOverflow * 10; } else { AdditionOverflow = 0; } // Take the digit we just made and append to it Result // so that the new digit is the most significant digit (the digit with // the greatest 'value') Result = TempResult.ToString() + Result; } return(Result); }
private void Save(TempSportEvent tempEvent, SportEvent sportEvent) { if (tempEvent.TempResults.Count() != 0) { foreach (Result result in sportEvent.Results) { TempResult tempRes = new TempResult { Team = result.Team, Score = result.Score, IsHome = result.IsHome }; tempEvent.TempResults.Add(tempRes); } this.dataUnit.GetRepository <TempSportEvent>().Insert(tempEvent); } else { IEnumerable <SportEvent> existingEvent = this.dataUnit.GetRepository <SportEvent>().Get(); if (!existingEvent.Contains(sportEvent)) { this.dataUnit.GetRepository <SportEvent>().Insert(sportEvent); } } }
public QuestionViewModel StartTest(int IdResult) { char delimetr = ','; List <UserQuestion> userQuestions = new List <UserQuestion>(); TempResult tempResult = new TempResult { IdResult = IdResult, UserName = HttpContext.Current.User.Identity.Name, }; foreach (Question question in Database.Results.Get(IdResult).Test.Questions) { tempResult.QuestionPassing += "" + question.IdQuestion + ","; userQuestions.Add(new UserQuestion() { IdResult = IdResult, IdQuestion = question.IdQuestion, MaxScore = question.Score, UserAnswers = new List <UserAnswer>() }); } Database.UserQuestions.AddRange(userQuestions); Database.TempResults.Add(tempResult); Database.Complete(); TimerModule timer = new TimerModule(IdResult, Database.Results.Get(IdResult).Test.Time); HttpContext.Current.Application["Timer" + HttpContext.Current.User.Identity.Name] = timer; Question questiondb = Database.Questions. Get(Int32.Parse(tempResult.QuestionPassing.Split(delimetr)[0])); HttpContext.Current.Application["Test" + HttpContext.Current.User.Identity.Name] = questiondb.IdQuestion; var mapper = new MapperConfiguration(mcf => mcf.CreateMap <Question, QuestionViewModel>()).CreateMapper(); QuestionViewModel questionDto = mapper.Map <Question, QuestionViewModel>(questiondb); return(questionDto); }
public bool SaveSportEvents(ICollection <SportEventDTO> eventDTOs) { Log.Info("Writing transferred data..."); try { NamingMatcher matcher = new NamingMatcher(this.dataUnit); IEnumerable <SportType> sportTypes = this.dataUnit.GetRepository <SportType>().Get(); foreach (SportEventDTO eventDTO in eventDTOs) { SportType sportType = sportTypes.FirstOrDefault(st => st.Name == eventDTO.SportType) ?? new SportType { Name = eventDTO.SportType }; SportEvent sportEvent = new SportEvent { SportType = sportType, Date = this.ConvertAndTrimDate(eventDTO.Date), Results = new List <Result>() }; TempSportEvent tempEvent = new TempSportEvent() { SportType = sportType, Date = this.ConvertAndTrimDate(eventDTO.Date), TempResults = new List <TempResult>() }; foreach (ResultDTO resultDTO in eventDTO.Results) { Team team = new Team { Name = resultDTO.TeamName, SportType = sportType, Names = new List <TeamName> { new TeamName { Name = resultDTO.TeamName } } }; List <Conformity> conformities = matcher.ResolveNaming(team); if (conformities == null) { team = this.dataUnit.GetRepository <TeamName>() .Get((x) => x.Name == team.Name).Select(x => x.Team).FirstOrDefault(); Result result = new Result { Team = team, Score = resultDTO.Score ?? -1, IsHome = resultDTO.IsHome }; sportEvent.Results.Add(result); } else { TempResult result = new TempResult { Score = resultDTO.Score ?? -1, Conformities = new List <Conformity>(), IsHome = resultDTO.IsHome }; if (team.Names.FirstOrDefault().Id != 0) { result.Team = team; } foreach (Conformity conformity in conformities) { result.Conformities.Add(conformity); } conformities.Clear(); tempEvent.TempResults.Add(result); } } this.Save(tempEvent, sportEvent); } this.dataUnit.SaveChanges(); this.predictionSender.SendPredictionRequest(); } catch (Exception ex) { Log.Error("Exception when trying to save transferred data to DB", ex); return(false); } Log.Info("Transferred data sucessfully saved"); return(true); }
public ActionResult Index(CreateESPAdultViewModel model) { var districts = GetDistrictItems(); ViewBag.DistrictId = new SelectList(districts, "ID", "Name", "RegionName", model.DistrictId); if (string.IsNullOrEmpty(model.ApplicantPIN) || string.IsNullOrEmpty(model.PassportNo) || string.IsNullOrEmpty(model.PassportSeries)) { ViewBag.Error = "Необходимо заполнить все поля"; return(View(model)); } if (SendRequest(new { clientId = "8d8461a4-9d3e-4136-98a7-66697078371d", orgName = "ПОРТАЛ-ГБД", request = new { passportDataByPSN = new { request = new { pin = model.ApplicantPIN, series = model.PassportSeries, number = model.PassportNo } } } }, "http://localhost/ServiceConstructor/SoapClient/SendRequest2", "POST", out dynamic response, out string errorMessage)) { if (response.response.passportDataByPSNResponse.response != null) { var r = response.response.passportDataByPSNResponse.response; model.passportPerson = ((JObject)r).ToObject <CreateESPAdultViewModel._passportPerson>(); } else { //ViewBag.Error = "Данные о браке отсутствуют"; } } if (SendRequest(new { PIN = model.ChildPIN }, "http://localhost/SourcesAPI/api/CISSA/MSECDetails", "POST", out response, out errorMessage)) { if (response != null) { var r = response; model.msecData = ((JObject)r).ToObject <_msecData>(); } else { //ViewBag.Error = "Данные о браке отсутствуют"; } } else { ViewBag.Error = errorMessage; } TempResult resp = null; if (SendSocFundRequest(model.ApplicantPIN, "ПОРТАЛ-ГБД", out resp, out errorMessage)) { if (resp.response != null && resp.response.GetWorkPeriodInfoResponse != null) { } else { ViewBag.Error = "Данные о соцфонде отсутствуют"; } } else { ViewBag.Error = errorMessage; } if (model.ActionNo == 1) { model.ActionNo = 2; } else if (model.ActionNo == 2) { if (SendRequest( new { PIN = model.ApplicantPIN, LastName = model.passportPerson.surname, FirstName = model.passportPerson.name, MiddleName = model.passportPerson.patronymic, model.PassportSeries, model.PassportNo, PassportDate = model.passportPerson.issuedDate, PassportOrg = model.passportPerson.passportAuthority, model.Telephone }, "http://localhost/SourcesAPI/api/CISSA/CreateESPApplication", "POST", out dynamic app, out errorMessage )) { } var msg = @"Ваше заявление успешно отправлено в Октябрьскоу УТСР по адресу г. Бишкек, 6 мкр дом № 22 /1. Вам необходимо проверять статус своего заявления в течении следующих 10 рабочих дней. Для дополнительной консультации можете обратиться по тел. 52-69-70, 42-64-47ф"; ViewBag.Message = msg; //model = new CreateAppViewModel {ActionNo = 1 }; } return(View(model)); }