Beispiel #1
0
        /// <summary>
        /// The get vizit.
        /// </summary>
        /// <param name="statement">
        /// The statement.
        /// </param>
        /// <returns>
        /// The <see cref="VizitType"/> .
        /// </returns>
        protected virtual VizitType GetVizit(Statement statement)
        {
            var vizit = new VizitType();

            vizit.DVIZIT   = statement.DateFiling.HasValue ? statement.DateFiling.Value.ToShortDateString() : string.Empty;
            vizit.PETITION = statement.HasPetition.HasValue ? Convert.ToInt32(statement.HasPetition.Value) : 0;

            if (statement.ModeFiling != null)
            {
                vizit.METHOD = statement.ModeFiling.Code;
            }

            if (statement.FormManufacturing != null)
            {
                if (statement.AbsentPrevPolicy.HasValue && statement.AbsentPrevPolicy.Value)
                {
                    vizit.FPOLIS = statement.FormManufacturing.Code;
                }
            }

            if (statement.CauseFiling != null)
            {
                if (CauseReinsurance.IsReinsurance(statement.CauseFiling.Id))
                {
                    vizit.RSMO = statement.CauseFiling.Code;
                }
                else
                {
                    vizit.RPOLIS = statement.CauseFiling.Code;
                }
            }

            return(vizit);
        }
Beispiel #2
0
        /// <summary>
        /// Заполняет информацию о факте посещения СМО
        /// </summary>
        /// <param name="vizit">
        /// The vizit.
        /// </param>
        /// <param name="statement">
        /// The statement.
        /// </param>
        protected virtual void FillVizit(VizitType vizit, Statement statement)
        {
            var conceptManager = ObjectFactory.GetInstance <IConceptCacheManager>();

            DateTime dateFilling;

            if (!string.IsNullOrEmpty(vizit.DVIZIT) && DateTime.TryParse(vizit.DVIZIT, out dateFilling))
            {
                statement.DateFiling = dateFilling;
            }

            statement.HasPetition = vizit.PETITION > 0;

            // Способ подачи
            if (!string.IsNullOrEmpty(vizit.METHOD))
            {
                statement.ModeFiling =
                    conceptManager.GetBy(x => x.Code == vizit.METHOD && x.Oid.Id == Oid.Способподачизаявления).FirstOrDefault();
            }

            // Форма полиса
            if (!string.IsNullOrEmpty(vizit.FPOLIS))
            {
                statement.FormManufacturing =
                    conceptManager.GetBy(x => x.Code == vizit.FPOLIS && x.Oid.Id == Oid.Формаизготовленияполиса).FirstOrDefault();
            }

            // Причина подачи
            if (!string.IsNullOrEmpty(vizit.RPOLIS))
            {
                statement.CauseFiling =
                    conceptManager.GetBy(x => x.Code == vizit.RPOLIS && x.Oid.Id == Oid.ПричинаподачизаявлениянавыборилизаменуСмо)
                    .FirstOrDefault();
            }
            else
            {
                if (!string.IsNullOrEmpty(vizit.RSMO))
                {
                    statement.CauseFiling =
                        conceptManager.GetBy(x => x.Code == vizit.RSMO && x.Oid.Id == Oid.Причинаподачизаявлениянавыдачудубликата)
                        .FirstOrDefault();
                }
            }
        }