public IResult Add(ClassLevel classLevel) { //var isDuplicate = _classLevelDal.Get().IsDuplicate(x => x.ClassLevelName, classLevel.ClassLevelName); classLevel.Id = CreateUniqueId.CreateId(); _classLevelDal.Insert(classLevel); return(new SuccessResult(Messages.AddedSuccess)); }
public IResult AddQuestion(Question question, string userName) { question.Id = CreateUniqueId.CreateId(); question.CreatedUser = _userDal.GetByUserName(_userAccessor.GetCurrentUserName()); question.OnCreated = DateTime.Now; _questionDal.Insert(question); return(new SuccessResult(Messages.AddedSuccess)); }
public IDataResult <ExamResult> FinishExam(List <string> questionIds, List <string> userAnswers, UserWithIdDto user) { int correct = 0; int wrong = 0; int empty = 0; var questions = new List <Question>(); foreach (var questionId in questionIds) { var data = GetById(questionId).Data; if (data != null) { questions.Add(data); } } if (questions.Count != userAnswers.Count) { return(new ErrorDataResult <ExamResult>(QuestionMessages.UserAnswerCountNotEqualQuestionCount)); } for (int i = 0; i < questions.Count; i++) { if (userAnswers[i] == null) { empty += 1; } else if (questions[i].CorrectAnswer.ToString().ToLower() == userAnswers[i].ToLower()) { correct += 1; } else { wrong += 1; } } _noteService.AddNote(new Note { Id = CreateUniqueId.CreateId(), CategoryId = questions[0].CategoryId, Correct = correct, Wrong = wrong, Empty = empty, UserId = user.Id }); return(new SuccessDataResult <ExamResult>(new ExamResult { Correct = correct, Wrong = wrong, Empty = empty })); }
public IResult Add(Category category) { IResult result = BusinessRules.Run(CheckIfCategoryExists(category.CategoryName, category.ClassLevelId)); if (result != null) { return(result); } category.Id = CreateUniqueId.CreateId(); category.CreatedUser = _userDal.GetByUserName(_userAccessor.GetCurrentUserName()); category.OnCreated = DateTime.Now; _categoryDal.Insert(category); return(new SuccessResult(Messages.AddedSuccess)); }
public JsonBusResponse PublishAndWaitForResponse <TNeed, TSolution>(Message <TNeed, TSolution> message, ResponseStyle responseStyle = ResponseStyle.WholeSolution, Func <string, bool> solutionMatchFunction = null) { Guid requestId = CreateUniqueId.Invoke(); if (message.Uuid == Guid.Empty) { message.Uuid = requestId; } message.LastModifiedBy = ServiceInfo.Name; message.LastModifiedTime = dateTimeProvider.UtcNow; if (!Methods.Contains(message.Method)) { Methods.Add(message.Method); backplane.Send(new RequestMethodRegistration { Method = message.Method }); } logger.Trace($"{nameof(RequestStore)}.{nameof(PublishAndWaitForTypedResponse)}", new LogItem("Event", "Preparing to publish message"), new LogItem("MessageId", message.Uuid.ToString), new LogItem("MessageMethod", message.Method)); var response = new JsonBusResponse(); using (DataWaitHandle dataWaitHandle = new DataWaitHandle(false, EventResetMode.AutoReset, solutionMatchFunction)) { requestMatcher.RegisterWaitHandle(message.Uuid, dataWaitHandle, responseStyle); queueWrapper.PublishMessage(message, message.Uuid); if (dataWaitHandle.WaitOne(busTimeoutMilliseconds)) { List <ResponseError> errors = null; if (dataWaitHandle.Errors != null) { errors = JsonConvert.DeserializeObject <List <ResponseError> >(dataWaitHandle.Errors); } logger.Trace($"{nameof(RequestStore)}.{nameof(PublishAndWaitForTypedResponse)}", new LogItem("Event", "Published message and received response"), new LogItem("MessageId", message.Uuid.ToString), new LogItem("MessageMethod", message.Method)); if (errors != null && errors.Any()) { response.Errors = dataWaitHandle.Errors; } response.Solution = dataWaitHandle.Solution; } if (string.IsNullOrEmpty(response.Errors) && string.IsNullOrEmpty(response.Solution)) { logger.Trace($"{nameof(RequestStore)}.{nameof(PublishAndWaitForTypedResponse)}", new LogItem("Event", "Published message and received no response"), new LogItem("MessageId", message.Uuid.ToString), new LogItem("MessageMethod", message.Method)); } return(response); } }