예제 #1
0
        public void SaveCertificateOfCompletion(Guid id)
        {
            var    declaration   = AppContext.OBK_AssessmentDeclaration.FirstOrDefault(e => e.Id == id);
            var    directToPay   = AppContext.OBK_DirectionToPayments.FirstOrDefault(e => e.ContractId == declaration.ContractId);
            var    contractPrice = AppContext.OBK_ContractPrice.Where(e => e.ContractId == declaration.ContractId);
            double taxValue      = TaxHelper.GetNdsRef();
            var    totalPrice    = Convert.ToDecimal(contractPrice.Sum(e => (e.OBK_Ref_PriceList.Price * taxValue + e.OBK_Ref_PriceList.Price) * e.Count));

            if (declaration != null)
            {
                OBK_CertificateOfCompletion act = new OBK_CertificateOfCompletion
                {
                    Id         = Guid.NewGuid(),
                    Number     = declaration.Number,
                    ContractId = (Guid)declaration.ContractId,
                    AssessmentDeclarationId = id,
                    InvoiceNumber1C         = directToPay?.InvoiceNumber1C,
                    InvoiceDatetime1C       = directToPay?.InvoiceDatetime1C,
                    TotalPrice       = totalPrice,
                    CreateDate       = DateTime.Now,
                    SendDate         = DateTime.Now,
                    ActNumber1C      = null,
                    ActDate1C        = null,
                    ActReturnedBack  = false,
                    SendNotification = false
                };
                AppContext.OBK_CertificateOfCompletion.Add(act);
                AppContext.SaveChanges();
            }
        }
예제 #2
0
        public string SaveSignedZbkCopyStage(Guid id, string signedData)
        {
            OBK_ZBKCopyStageSignData signData = new OBK_ZBKCopyStageSignData();

            signData.Id           = Guid.NewGuid();
            signData.StageId      = id;
            signData.SignDateTime = DateTime.Now;
            signData.SignerId     = UserHelper.GetCurrentEmployee().Id;
            signData.SignXmlData  = signedData;

            AppContext.OBK_ZBKCopyStageSignData.Add(signData);

            var stage      = AppContext.OBK_ZBKCopyStage.FirstOrDefault(o => o.Id == id);
            var copy       = AppContext.OBK_ZBKCopy.FirstOrDefault(o => o.Id == stage.OBK_ZBKCopyId);
            var copyStatus = AppContext.OBK_Ref_Status.FirstOrDefault(o => CodeConstManager.STATUS_OBK_SIGN_ACT.ToString().Equals(o.Code));

            copy.StatusId = copyStatus.Id;

            var stageStatus = AppContext.OBK_Ref_StageStatus.FirstOrDefault(o => OBK_Ref_StageStatus.Completed.ToString().Equals(o.Code));

            stage.StageStatusId = stageStatus.Id;

            var stageCoz       = AppContext.OBK_ZBKCopyStage.FirstOrDefault(o => o.OBK_ZBKCopyId == copy.Id && o.StageId == CodeConstManager.STAGE_OBK_COZ);
            var stageStatusCoz = AppContext.OBK_Ref_StageStatus.FirstOrDefault(o => OBK_Ref_StageStatus.RequiresIssuingZBKCopy.ToString().Equals(o.Code));

            stageCoz.StageStatusId = stageStatusCoz.Id;

            var payment = AppContext.OBK_DirectionToPayments.FirstOrDefault(o => o.ZBKCopy_id == copy.Id);

            OBK_CertificateOfCompletion certificate = new OBK_CertificateOfCompletion();

            certificate.Id                = Guid.NewGuid();
            certificate.CreateDate        = DateTime.Now;
            certificate.TotalPrice        = payment.TotalPrice;
            certificate.InvoiceNumber1C   = payment.InvoiceNumber1C;
            certificate.InvoiceDatetime1C = payment.InvoiceDatetime1C;
            certificate.SendDate          = DateTime.Now;
            certificate.ZBKCopyId         = copy.Id;

            AppContext.OBK_CertificateOfCompletion.Add(certificate);

            AppContext.SaveChanges();

            return("Успешно подписан!");
        }
예제 #3
0
 public void UpdateNotificationToAct(OBK_CertificateOfCompletion act)
 {
     AppContext.SaveChangesAsync();
 }