Esempio n. 1
0
        /// <summary>
        /// Переформировать свидетельство о поверке.
        /// </summary>
        /// <param name="FileCard"> Карточка файла.</param>
        /// <param name="CardScript"> Скрипт.</param>
        /// <param name="Context"> Объектный контекст.</param>
        /// <param name="DeviceCard"> Карточка прибора.</param>
        /// <param name="Client"> Идентификатор клиента.</param>
        /// <param name="CalibrationDate"> Дата проведения поверки.</param>
        /// <param name="AdditionalWaresList"> Перечень дополнительных изделий.</param>
        /// <param name="StartDateOfService"> Дата передачи на поверку.</param>
        /// <param name="VerifySerialNumber"> Серийный номер поверки.</param>
        public static void ReFill(CardData FileCard, ScriptClassBase CardScript, ObjectContext Context, CardData DeviceCard, Guid Client,
                                  DateTime CalibrationDate, List <CardData> AdditionalWaresList, DateTime StartDateOfService, string VerifySerialNumber)
        {
            string ClientName = Client.Equals(Guid.Empty) ? "ООО \"СКБ ЭП\"" : Context.GetObject <PartnersCompany>(Client).Name;

            string PreviousVerifySerialNumber = "-";
            // Получаем последнее свидетельство о поверке
            CardData PreviousVerificationCertificate = CalibrationLib.GetDocumentCard(CardScript.Session, DeviceCard, CalibrationLib.VerificationCertificateCategoryID);

            if (PreviousVerificationCertificate != null)
            {
                if (PreviousVerificationCertificate.Id == FileCard.Id)
                {
                    PreviousVerifySerialNumber = "-";
                }
                else
                {
                    try
                    {
                        if (PreviousVerificationCertificate.GetDocumentProperty(CalibrationLib.DocumentProperties.VerifySerialNumber) != null)
                        {
                            String OldSerialNumber = PreviousVerificationCertificate.GetDocumentProperty(CalibrationLib.DocumentProperties.VerifySerialNumber).ToString();
                            PreviousVerifySerialNumber = OldSerialNumber == "" ? PreviousVerifySerialNumber : OldSerialNumber;
                        }
                    }
                    catch
                    { PreviousVerifySerialNumber = "-"; }
                }
            }

            WordprocessingDocument Certificate = CalibrationLib.GetVerificationCertificateTemplate(CardScript.Session);

            // Заполнение данных сертификата
            FillData(Certificate, CardScript, Context, DeviceCard, ClientName, CalibrationDate, AdditionalWaresList, StartDateOfService, PreviousVerifySerialNumber);
            // Сохранение изменений
            Certificate.MainDocumentPart.Document.Save();
            // Закрытие сертификата
            Certificate.Close();
            // Замена файла в карточке сертификата
            CalibrationLib.RefreshFileCard(Context, CardScript, FileCard, CalibrationLib.TempFolder + "\\" + "Свидетельство о поверке.docx", CalibrationDate, DeviceCard, ClientName, VerifySerialNumber,
                                           false, CalibrationLib.VerificationCertificateCategoryID);
            return;
        }
Esempio n. 2
0
        /// <summary>
        /// Создать свидетельство о поверке.
        /// </summary>
        /// <param name="CardScript"> Скрипт.</param>
        /// <param name="Context"> Объектный контекст.</param>
        /// <param name="DeviceCard"> Карточка прибора.</param>
        /// <param name="Client"> Идентификатор клиента.</param>
        /// <param name="CalibrationDate"> Дата проведения поверки.</param>
        /// <param name="AdditionalWaresList"> Перечень дополнительных изделий.</param>
        /// <param name="StartDateOfService"> Дата передачи на поверку.</param>
        /// <param name="VerifySerialNumber"> Серийный номер поверки.</param>
        /// <param name="NewDevice"> Метка нового прибора.</param>
        /// <returns></returns>
        public static CardData Create(ScriptClassBase CardScript, ObjectContext Context, CardData DeviceCard, Guid Client,
                                      DateTime CalibrationDate, List <CardData> AdditionalWaresList, DateTime StartDateOfService, string VerifySerialNumber, bool NewDevice = false)
        {
            string ClientName = Client.Equals(Guid.Empty) ? "ООО \"СКБ ЭП\"" : Context.GetObject <PartnersCompany>(Client).Name;

            string PreviousVerifySerialNumber = "-";
            // Получаем последнее свидетельство о поверке
            CardData PreviousVerificationCertificate = CalibrationLib.GetDocumentCard(CardScript.Session, DeviceCard, CalibrationLib.VerificationCertificateCategoryID);

            if (PreviousVerificationCertificate != null)
            {
                try
                {
                    if (PreviousVerificationCertificate.GetDocumentProperty(CalibrationLib.DocumentProperties.VerifySerialNumber) != null)
                    {
                        String OldSerialNumber = PreviousVerificationCertificate.GetDocumentProperty(CalibrationLib.DocumentProperties.VerifySerialNumber).ToString();
                        PreviousVerifySerialNumber = OldSerialNumber == "" ? PreviousVerifySerialNumber : OldSerialNumber;
                    }
                }
                catch
                { PreviousVerifySerialNumber = "-"; }
            }

            WordprocessingDocument Certificate = CalibrationLib.GetVerificationCertificateTemplate(CardScript.Session);

            // Заполнение данных сертификата
            FillData(Certificate, CardScript, Context, DeviceCard, ClientName, CalibrationDate, AdditionalWaresList, StartDateOfService, PreviousVerifySerialNumber);
            // Сохранение изменений
            Certificate.MainDocumentPart.Document.Save();
            // Закрытие сертификата
            Certificate.Close();
            // Создание карточки сертификата
            CardData NewFileCard = CalibrationLib.NewFileCard(Context, CardScript.Session, CalibrationLib.VerificationCertificateCategoryID, CalibrationLib.TempFolder + "\\" + "Свидетельство о поверке.docx",
                                                              CalibrationDate, DeviceCard, ClientName, VerifySerialNumber, false, NewDevice);

            // Прикрепление карточки сертификата к карточке паспорта прибора
            CalibrationLib.AttachFileToCard(CardScript.Session, DeviceCard, NewFileCard);

            return(NewFileCard);
        }