public void Initialisaition() { skipArrow.SetActive(false); skipText.gameObject.SetActive(false); statement = MessageStatement.needNextMessage; StartCoroutine(GoInConseillere(true)); }
public void SkipMessage() { if (statement == MessageStatement.needNextMessage) { TutorielManager.Instance.currentIndex++; AffichageMessage(); } else if (statement == MessageStatement.typing) { StopCoroutine(AffichageMessageEnum(0.05f, messages[TutorielManager.Instance.currentIndex])); currentText = messages[TutorielManager.Instance.currentIndex]; bubbleText.text = currentText; statement = MessageStatement.needNextMessage; } }
public IEnumerator AffichageMessageEnum(float delay, string fullText) { skipArrow.SetActive(false); skipText.gameObject.SetActive(false); statement = MessageStatement.typing; bubbleText.text = ""; currentText = ""; for (int i = 0; i < fullText.Length; i++) { if (statement == MessageStatement.typing) { currentText = fullText.Substring(0, i); bubbleText.text = currentText; yield return(new WaitForSeconds(delay)); } } skipArrow.SetActive(true); skipText.gameObject.SetActive(true); statement = MessageStatement.needNextMessage; }
/// <summary> /// Возвращает маппинг Statement на PersonErp /// </summary> /// <param name="batch"> /// The batch. /// </param> /// <param name="statement"> /// The statement. /// </param> /// <returns> /// The <see cref="PersonErp"/>. /// </returns> public PersonErp GetPersonErp(Batch batch, Statement statement) { var personErp = new PersonErp { BeginPacket = GetBhs(batch.Id, statement), Adt_A01 = new List <ADT_A01>(), EndPacket = GetBts(statement.MedicalInsurances.Count) }; var session = ObjectFactory.GetInstance <ISessionFactory>().GetCurrentSession(); var conceptManager = ObjectFactory.GetInstance <IConceptCacheManager>(); foreach (var insurance in statement.MedicalInsurances) { // Создаем сообщение var message = new Message(); message.Batch = batch; message.Type = conceptManager.GetById(model.srz.concepts.TransactionCode.A08); message.Reason = GetReason(statement); message.IsCommit = false; message.IsError = false; session.Save(message); // Связка var messageStatement = new MessageStatement(); messageStatement.Message = message; messageStatement.Statement = statement; messageStatement.Type = conceptManager.GetById(MessageStatementType.MainStatement); messageStatement.Version = statement.Version; session.Save(messageStatement); personErp.Adt_A01.Add(GetAdtA01(statement, insurance, message)); } return(personErp); }
/// <summary> /// Обработка /// </summary> /// <param name="file"> /// Путь к файлу загрузки /// </param> /// <param name="context"> /// The context. /// </param> /// <returns> /// был ли обработан пакет /// </returns> public override bool Processing(FileInfo file, IJobExecutionContext context) { var logger = LogManager.GetCurrentClassLogger(); var conceptManager = ObjectFactory.GetInstance <IConceptCacheManager>(); // Попытка десериализации файла и создание батча var operList = new OPListType(); Batch batch; try { // Десериализация operList = XmlSerializationHelper.Deserialize(file.FullName, operList) as OPListType; // Создание батча batch = CreateBatch(operList); } catch (Exception ex) { // Ошибка десериализации либо создания бачта logger.Error(ex.Message, ex); throw; } // Вычисляем код ПВП var splittedFileName = batch.FileName.Split(new[] { '_' }); if (splittedFileName.Length == 3) { } // Создаем экспортер для файлов ответа и стартуем батч var repExp = ObjectFactory.GetInstance <IExporterBatchFactory <REPListType, REPType> >().GetExporter(Exporters.SmoRepExporter); repExp.FileName = batch.FileName.Replace("i", "p"); // Меняем префикс в имени файла ответа repExp.Number = batch.Number; repExp.PeriodId = batch.Period.Id; repExp.SenderId = batch.Receiver.Id; repExp.ReceiverId = batch.Sender.Id; repExp.BeginBatch(); // Создаем экспортер для файлов ответа c протоколом ФЛК и стартуем батч var flkRepExp = ObjectFactory.GetInstance <IExporterBatchFactory <PFLKType, PRType> >().GetExporter(Exporters.SmoFlkExporter); flkRepExp.FileName = batch.FileName.Replace("i", "f"); // Меняем префикс в имени файла ответа flkRepExp.Number = batch.Number; flkRepExp.PeriodId = batch.Period.Id; flkRepExp.SenderId = batch.Receiver.Id; flkRepExp.ReceiverId = batch.Sender.Id; flkRepExp.BeginBatch(); // Проход по записям, маппинг и сохранение заявления bool goodAnswer; if (operList != null) { foreach (var op in operList.OP) { Statement statement = null; try { // Маппинг statement = MapStatement(op); // Сохраняем заявление // Создаем Message var message = new Message(); message.Batch = batch; message.IsCommit = true; message.IsError = false; message.Type = conceptManager.GetById(TransactionCode.K); ObjectFactory.GetInstance <ISessionFactory>().GetCurrentSession().Save(message); // Создаем MessageStatement var messageStat = new MessageStatement(); messageStat.Statement = statement; messageStat.Message = message; messageStat.Version = statement.Version; messageStat.Type = conceptManager.GetById(MessageStatementType.MainStatement); ObjectFactory.GetInstance <ISessionFactory>().GetCurrentSession().Save(messageStat); // Сбрасываем изменения в БД ObjectFactory.GetInstance <ISessionFactory>().GetCurrentSession().Flush(); goodAnswer = true; } catch (LogicalControlException ex) { // ошибка ФЛК logger.Info(ex.Message, ex); logger.Info(op); logger.Info(statement); goodAnswer = false; // Пишем ошибки ФЛК в ответ foreach (var err in ex.LogicalControlExceptions) { // Пишем ошибки ФЛК в ответ var flkAnswer = new PRType(); flkAnswer.N_REC = op.N_REC; flkAnswer.OSHIB = err.Info.Code; flkAnswer.COMMENT = err.Message; flkRepExp.AddNode(flkAnswer); } } catch (Exception ex) { logger.Error(ex.Message, ex); logger.Error(op); logger.Error(statement); goodAnswer = false; } // Пишем ответ var answer = new REPType(); answer.N_REC = op.N_REC; answer.ID = op.ID; answer.CODE_ERP = goodAnswer ? CodeConfirm.AA : CodeConfirm.CA; repExp.AddNode(answer); } } // Коммитим батч ответа repExp.CommitBatch(); // Коммитим батч ответа ФЛК flkRepExp.CommitBatch(); return(true); }
/// <summary> /// Обработка /// </summary> /// <param name="file"> /// Путь к файлу загрузки /// </param> /// <param name="context"> /// The context. /// </param> /// <returns> /// был ли обработан пакет /// </returns> public override bool Processing(FileInfo file, IJobExecutionContext context) { var logger = LogManager.GetCurrentClassLogger(); var conceptManager = ObjectFactory.GetInstance <IConceptCacheManager>(); // Попытка десериализации файла и создание батча var recList = new RECListType(); Batch batch = null; try { // Десериализация recList = XmlSerializationHelper.Deserialize(file.FullName, recList) as RECListType; // Создание батча // batch = CreateBatch(recList); } catch (Exception ex) { // Ошибка десериализации logger.Error(ex.Message, ex); throw; } // Проход по записям, маппинг и сохранение заявления if (recList != null) { foreach (var rec in recList.REC) { Statement statement = null; try { // Маппинг statement = MapStatement(rec); // Сохраняем заявление // ObjectFactory.GetInstance<IStatementManager>().ReplicateStatement(statement, GetPdpCodeFromFileName(batch.FileName)); // Создаем Message var message = new Message(); message.Batch = batch; message.IsCommit = true; message.IsError = false; message.Type = conceptManager.GetById(TransactionCode.K); ObjectFactory.GetInstance <ISessionFactory>().GetCurrentSession().Save(message); // Создаем MessageStatement var messageStat = new MessageStatement(); messageStat.Statement = statement; messageStat.Message = message; messageStat.Version = statement.Version; messageStat.Type = conceptManager.GetById(MessageStatementType.MainStatement); ObjectFactory.GetInstance <ISessionFactory>().GetCurrentSession().Save(messageStat); // Сбрасываем изменения в БД ObjectFactory.GetInstance <ISessionFactory>().GetCurrentSession().Flush(); } catch (LogicalControlException ex) { // ошибка ФЛК logger.Info(ex.Message, ex); logger.Info(rec); logger.Info(statement); } catch (Exception ex) { logger.Error(ex.Message, ex); logger.Error(rec); logger.Error(statement); } } } return(true); }