Beispiel #1
0
        private async Task FillDocRefs(int oldDocumentId, int newDocumentId)
        {
            //DocumentWorkflow
            await FillDocumentWorkflows(oldDocumentId, newDocumentId);

            //UserSignature
            await FillDocumentUserSignatures(oldDocumentId);

            //Attachments
            await FillAttachments(oldDocumentId, newDocumentId);

            try
            {
                ////CurrentWorkflow
                //var currentWorkflowSqlQuery =
                //    string.Format(ImportSqlQueryHelper.DocumentsCurrentWorkflowSqlQuery, newDocumentId);
                //await SqlDapperConnection.ExecuteAsync(currentWorkflowSqlQuery, SourceConnectionString);

                //MainAttachment
                var setMainAttachmentSqlQuery =
                    string.Format(ImportSqlQueryHelper.SetDocumentsMainAttachmentSqlQuery, newDocumentId);
                await SqlDapperConnection.ExecuteAsync(setMainAttachmentSqlQuery, SourceConnectionString);

                //Status
                var setStatusSqlQuery =
                    string.Format(ImportSqlQueryHelper.DocumentsSetStatusSqlQuery, newDocumentId);
                await SqlDapperConnection.ExecuteAsync(setStatusSqlQuery, SourceConnectionString);
            }
            catch (Exception)
            {
                // ignored
            }
        }
Beispiel #2
0
        public async Task ImportFromDb(string number, int requestId)
        {
            var refSqlQuey      = string.Format(ImportSqlQueryHelper.ContractRefSqlQuery, string.Join(", ", ObjectType.GetRequestRouteIds()), string.Join(", ", ObjectType.GetContractRouteIds()), number);
            var oldRefContracts = await SqlDapperConnection.QueryAsync <RfMessageDocument>(refSqlQuey, TargetConnectionString);

            foreach (var oldRefContract in oldRefContracts)
            {
                var refContract = CreateRefContract(oldRefContract, requestId);
                if (refContract == null)
                {
                    continue;
                }

                var oldContractId = refContract.ContractId;

                //Contract
                var newContractId = await FillContract(refContract.ContractId);

                if (newContractId == 0)
                {
                    continue;
                }

                refContract.ContractId = newContractId;
                Executor.GetCommand <CreateContractRequestRelationsCommand>().Process(d => d.Execute(refContract));

                refContract.DateCreate = new DateTimeOffset(oldRefContract.DateCreate.GetValueOrDefault(DateTime.Now));

                Executor.GetCommand <UpdateContractRequestRelationsCommand>().Process(d => d.Execute(refContract));

                //ContractWorkflow
                await FillContractWorkflows(oldContractId, newContractId);

                //ContractWorkflow
                await FillContractCustomers(oldContractId, newContractId);

                //attachments
                await FillAttachments(oldContractId, newContractId);

                try
                {
                    //CurrentWorkflow
                    var currentWorkflowSqlQuery = string.Format(ImportSqlQueryHelper.ContractsCurrentWorkflowSqlQuery, newContractId);
                    await SqlDapperConnection.ExecuteAsync(currentWorkflowSqlQuery, SourceConnectionString);

                    //MainAttachment
                    var setMainAttachmentSqlQuery = string.Format(ImportSqlQueryHelper.SetContractsMainAttachmentSqlQuery, newContractId);
                    await SqlDapperConnection.ExecuteAsync(setMainAttachmentSqlQuery, SourceConnectionString);
                }
                catch (Exception)
                {
                    // ignored
                }

                //Documents
                await _importDocumentsHelper.ImportContractFromDb(oldContractId, newContractId);
            }
        }
Beispiel #3
0
        /// <summary>
        /// Импорт заявки по номеру
        /// </summary>
        /// <param name="number">Входящий Номер или номер заявки</param>
        /// <param name="returnNullIfExist">Вернуть NULL если уже создан</param>
        /// <returns>Id импортированной заявки</returns>
        public async Task <int?> ImportFromDb(string number, bool returnNullIfExist = false)
        {
            var validResult = Valid(number);

            if (validResult != null && validResult != 0)
            {
                return(!returnNullIfExist ? validResult : null);
            }

            //Request
            var newRequest = await FillRequest(number);

            var newRequestId = newRequest.Id;

            number = newRequest.IncomingNumber;

            //Workflow
            await FillWorkflows(newRequestId, number);

            //Info
            await FillInfo(newRequestId, number);

            //Color
            await FillColors(newRequestId, number);

            //Customers
            await FillCustomers(newRequestId, number);

            //Icfems
            await FillIcfems(newRequestId, number);

            //Icgs
            await FillIcgs(newRequestId, number);

            //Icis
            await FillIcis(newRequestId, number);

            //Ipc
            await FillIpc(newRequestId, number);

            //EarlyReg
            await FillEarlyReg(newRequestId, number);

            //Attachments
            await FillAttachments(newRequestId);

            try
            {
                //BeneficiaryType
                var beneficiarySqlQuery = string.Format(ImportSqlQueryHelper.BeneficiarySqlQuery, number);
                await SqlDapperConnection.ExecuteAsync(beneficiarySqlQuery, SourceConnectionString);

                //CurrentWorkflow
                var currentWorkflowSqlQuery = string.Format(ImportSqlQueryHelper.CurrentWorkflowSqlQuery, newRequestId);
                await SqlDapperConnection.ExecuteAsync(currentWorkflowSqlQuery, SourceConnectionString);

                //MainAttachment
                var setMainAttachmentSqlQuery = string.Format(ImportSqlQueryHelper.SetRequestMainAttachmentSqlQuery, newRequestId);
                await SqlDapperConnection.ExecuteAsync(setMainAttachmentSqlQuery, SourceConnectionString);
            }
            catch (Exception)
            {
                // ignored
            }

            //Payments
            await _importPaymentsHelper.ImportFromDb(number, newRequestId);

            //Documents
            await _importDocumentsHelper.ImportFromDb(number, newRequestId);

            //Contract
            await _importContractsHelper.ImportFromDb(number, newRequestId);

            return(newRequestId);
        }