public Model.ViewModel.TestProcessing GeTestProcessings(int id) { TestProcessing testProcessing = new TestProcessing(); Test test = context.Tests.Find(id); testProcessing.Id = id; testProcessing.TestName = test.TestName; testProcessing.TestTime = test.TestTime; Exam exam = test.Exam; var queryQuestions = from Q in context.Questions join EQ in context.ExamQuestions on Q.Id equals EQ.QuestionId join E in context.Exams on EQ.ExamId equals E.Id join T in context.Tests on E.Id equals T.ExamId where T.Id == id && E.Category.Id == Q.Category.Id //where E.Category.Id == Q.Category.Id select Q; List <Question> questions = queryQuestions.ToList(); List <Question> listRandom = new List <Question>(); Random random = new Random(); int b = questions.Count; for (int i = 0; i < test.Exam.QuestionNumber; i++) { int a = random.Next(1, b); b--; listRandom.Add(questions[a]); questions.Remove(questions[a]); } testProcessing.Questions = questions; return(testProcessing); }
/// <summary> /// Vlastní zpracování přijaté zprávy dle jejího typu /// </summary> /// <param name="login"></param> /// <param name="password"></param> /// <param name="partnerCode"></param> /// <param name="messageType"></param> /// <param name="data"></param> /// <param name="encoding"></param> /// <param name="result"></param> /// <param name="authToken"></param> /// <returns></returns> public SubmitDataToProcessingResult DoProcessing(string login, string password, string partnerCode, string messageType, byte[] data, string encoding, SubmitDataToProcessingResult result, AuthService.AuthToken authToken) { string messageTypeNormalized = messageType.ToUpper().Trim(); if (messageTypeNormalized.Contains("TEST")) { messageTypeNormalized = "TEST"; } switch (messageTypeNormalized) { case "TEST": result = TestProcessing.Process(authToken, login, password, partnerCode, messageType, data, encoding); break; case "RECEPTIONCONFIRMATION": case "KITTINGCONFIRMATION": case "SHIPMENTCONFIRMATION": result = ConfirmationProcessing.Process(authToken, login, password, partnerCode, messageType, data, encoding); break; default: ProjectHelper.CreateErrorResult(ref result, "100", String.Format("Unknown messageType = [{0}]", messageType)); break; } return(result); }
/// <summary> /// Vlastní zpracování přijaté zprávy dle jejího typu /// </summary> /// <param name="login"></param> /// <param name="password"></param> /// <param name="partnerCode"></param> /// <param name="messageType"></param> /// <param name="data"></param> /// <param name="encoding"></param> /// <param name="result"></param> /// <param name="authToken"></param> /// <returns></returns> private static SubmitDataToProcessingResult ProcessData(string login, string password, string partnerCode, string messageType, byte[] data, string encoding, SubmitDataToProcessingResult result, AuthToken authToken) { string messageTypeNormalized = messageType.ToUpper().Trim(); if (messageTypeNormalized.Contains("TEST")) { messageTypeNormalized = "TEST"; } switch (messageTypeNormalized) { case "TEST": result = TestProcessing.Process(authToken, login, password, partnerCode, messageType, data, encoding); break; case "GETSERVICESSTATUSES": result = ServicesStatusesProcessing.Process(authToken, login, password, partnerCode, messageType); break; case "RECEPTIONCONFIRMATION": case "KITTINGCONFIRMATION": case "SHIPMENTCONFIRMATION": case "RETURNED": case "RETURNEDEQUIPMENT": case "RETURNEDITEM": case "RETURNEDSHIPMENT": case "REFURBISHEDCONFIRMATION": case "DELETEMESSAGECONFIRMATION": case "CRMORDERCONFIRMATION": case "CRMORDERAPPROVAL": result = MessageProcessing.Process(authToken, login, password, partnerCode, messageType, data, encoding); break; default: ProjectHelper.CreateErrorResult(Fenix.ApplicationLog.GetMethodName(), ref result, "100", String.Format("Unknown messageType = [{0}]", messageType)); break; } return(result); }
public SubmitDataToProcessingResult SubmitRepaseData(string login, string password, string messageType, byte[] data, string encoding, int customerId = 0, string customerDescription = null, DateTime?dateOfDelivery = null) { SubmitDataToProcessingResult result = new SubmitDataToProcessingResult(); // basic validations if (String.IsNullOrEmpty(messageType)) { result.Errors.Add(new Errors { ErrorCode = "-100", ErrorMessage = "Parameter messageType is required!" }); } if (data == null) { result.Errors.Add(new Errors { ErrorCode = "-101", ErrorMessage = "Parameter data is required!" }); } if (String.IsNullOrEmpty(encoding)) { result.Errors.Add(new Errors { ErrorCode = "-102", ErrorMessage = "Parameter encoding is required!" }); } if (messageType.Contains("TR") || messageType.Contains("TS")) { if (customerId == 0) { result.Errors.Add(new Errors { ErrorCode = "-103", ErrorMessage = "If using TR/TS MSG types, customerId is required!" }); } if (String.IsNullOrEmpty(customerDescription)) { result.Errors.Add(new Errors { ErrorCode = "-104", ErrorMessage = "If using TR/TS MSG types, customerDescription is required!" }); } if (dateOfDelivery == null) { result.Errors.Add(new Errors { ErrorCode = "-105", ErrorMessage = "If using TR/TS MSG types, dateOfDelivery is required!" }); } } // authentication AuthResult authRes; AuthSvcClient authProxy = new AuthSvcClient(); AuthToken authToken = authProxy.Login(login, password, "", out authRes); authProxy.Close(); if (authToken != null && result.Errors.Count == 0) { // test processing result = TestProcessing.Process(authToken, login, password, "", messageType, data, encoding); } else { ProjectHelper.CreateErrorResult(Fenix.ApplicationLog.GetMethodName(), ref result, "1", "Invalid login"); } return(result); }