コード例 #1
0
        public bool IsPassesRequirements()
        {
            _contractDocument = NiisAmbientContext.Current.Executor.GetQuery <GetContractDocumentByDocumentIdQuery>().Process(q => q.Execute(CurrentRequestObject.Id));

            if (_contractDocument == null)
            {
                return(false);
            }

            var routeStageCodes = new[]
            {
                RouteStageCodes.PO_03_2_1,
                RouteStageCodes.I_03_3_1_1,
                RouteStageCodes.SA_03_2_1,
                RouteStageCodes.UM_03_2_1,
            };

            if (CurrentRequestObject.Type.Code.Equals(DicDocumentTypeCodes.Statement) &&
                CurrentRequestObject.CurrentWorkflows.Any(cwf => cwf.CurrentStage.Code.Equals(DicRouteStage.Codes.SentStage)) &&
                routeStageCodes.Contains(_contractDocument.Contract.CurrentWorkflow.CurrentStage.Code))
            {
                return(true);
            }

            return(false);
        }
コード例 #2
0
 public async Task ApplyAsync(ApplicationUser user, ContractDocument contractDocument)
 {
     await ApplyStageAsync(
         _logicMap.TryGetValue(contractDocument.Document.Type.Code, out var logic)
         ?logic.Invoke(contractDocument.Document, contractDocument.Contract)
         : null, contractDocument.Document, contractDocument.Contract);
 }
コード例 #3
0
        public bool IsPassesRequirements()
        {
            _contractDocument = NiisAmbientContext.Current.Executor.GetQuery <GetContractDocumentByDocumentIdQuery>().Process(q => q.Execute(CurrentRequestObject.Id));

            if (_contractDocument == null)
            {
                return(false);
            }

            var onlineStatusCodes = new[]
            {
                DicOnlineRequisitionStatus.Codes.PendingPayment,
                DicOnlineRequisitionStatus.Codes.RegistrationRefusal,
                DicOnlineRequisitionStatus.Codes.AwaitingResponse,
                DicOnlineRequisitionStatus.Codes.WithdrawnDiscontinued,
                DicOnlineRequisitionStatus.Codes.Paused
            };

            var docTypeCodes = new[]
            {
                DicDocumentTypeCodes.NotificationOfGovernmentDuty,
                DicDocumentTypeCodes.Notification,
                DicDocumentTypeCodes.NotificationOfPausedWork,
                DicDocumentTypeCodes.NotificationOfTerminationWork,
            };

            if (CurrentRequestObject.CurrentWorkflows.Any(cwf => cwf.CurrentStage.Code == RouteStageCodes.DocumentOutgoing_03_1) &&
                docTypeCodes.Contains(CurrentRequestObject.Type.Code) &&
                onlineStatusCodes.Contains(_contractDocument.Contract.CurrentWorkflow.CurrentStage.OnlineRequisitionStatus.Code))
            {
                return(true);
            }

            return(false);
        }
コード例 #4
0
 private void btnSave_Click(object sender, EventArgs e)
 {
     if (cbClients.selectedIndex >= 0 && cbPropertyTypes.selectedIndex >= 0 && cbProperties.selectedIndex >= 0 &&
         !string.IsNullOrWhiteSpace(txtPrice.Text) && !string.IsNullOrWhiteSpace(dtpStart.Value.ToShortDateString()) &&
         !string.IsNullOrWhiteSpace(dtpEnd.Value.ToShortDateString()) && (rbPostpaid.Checked || rbPrepaid.Checked) &&
         (rbCash.Checked || rbCheque.Checked || rbTransfer.Checked) &&
         !string.IsNullOrWhiteSpace(txtPayEvery.Text) && cbPeriod.selectedIndex >= 0)
     {
         var contract = new Contract()
         {
             ClientId = int.Parse(cbTempClient.SelectedValue.ToString()),
             End      = dtpEnd.Value,
             Method   = rbCash.Checked ? PaymentMethod.Cash :
                        rbCheque.Checked ? PaymentMethod.Cheque : PaymentMethod.Transfer,
             PayEvery = float.Parse(txtPayEvery.Text),
             Payment  = rbPrepaid.Checked ? PaymentTypes.Prepaid : PaymentTypes.Postpaid,
             Period   = cbPeriod.selectedIndex == 0 ? PaymentPeriod.Day :
                        cbPeriod.selectedIndex == 1 ? PaymentPeriod.Week :
                        cbPeriod.selectedIndex == 2 ? PaymentPeriod.Month : PaymentPeriod.Year,
             Price      = double.Parse(txtPrice.Text),
             PropertyId = int.Parse(cbTempProperty.SelectedValue.ToString()),
             Start      = dtpStart.Value,
             PayDate    = rbPostpaid.Checked ? (cbPeriod.selectedIndex == 0
                     ?
                                                dtpStart.Value.AddDays(int.Parse(txtPayEvery.Text))
                     : cbPeriod.selectedIndex == 1
                         ? dtpStart.Value.AddDays(int.Parse(txtPayEvery.Text) * 7)
                         : cbPeriod.selectedIndex == 2
                             ? dtpStart.Value.AddMonths(int.Parse(txtPayEvery.Text))
                             : dtpStart.Value.AddYears(int.Parse(txtPayEvery.Text))) : dtpStart.Value,
             PayStatus = rbPrepaid.Checked? "Pending" : ""
         };
         _db.Contracts.Add(contract);
         _db.SaveChanges();
         foreach (DataGridViewRow row in dgvContract.Rows)
         {
             var contractDoc = new ContractDocument()
             {
                 Image      = ImageToByteArray(row.Cells[0].Value as Image),
                 ContractId = contract.Id
             };
             _db.ContractDocuments.Add(contractDoc);
             _db.SaveChanges();
         }
         var propertyId = int.Parse(cbTempProperty.SelectedValue.ToString());
         var property   = _db.Properties.Find(propertyId);
         if (property != null)
         {
             property.Status = PropertyStatus.Rented;
         }
         _db.SaveChanges();
         MessageBox.Show(@"Contract created successfully", "", MessageBoxButtons.OK, MessageBoxIcon.Information);
         Populate();
         Clear();
     }
     else
     {
         MessageBox.Show(@"Please fill all the fields", "", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
コード例 #5
0
        public void Execute(ContractDocument contractDocument)
        {
            var repo = Uow.GetRepository <ContractDocument>();

            repo.Create(contractDocument);
            Uow.SaveChanges();
        }
コード例 #6
0
        public ActionResult DeleteConfirmed(Guid id)
        {
            ContractDocument contractDocument = UOW.ContractDocuments.GetById(id);

            if (contractDocument == null)
            {
                return(HttpNotFound());
            }
            UOW.ContractDocuments.Delete(contractDocument);
            UOW.Commit();
            return(RedirectToAction("Index"));
        }
コード例 #7
0
        public async Task <IActionResult> Update([FromBody] ContractDocument contractDocument)
        {
            var document = await _dataManager.ContractDocuments.GetWhere(c => c.Guid == contractDocument.Guid);

            if (document != null)
            {
                await _dataManager.ContractDocuments.Update(contractDocument);

                return(Ok());
            }
            return(NotFound());
        }
コード例 #8
0
        public async Task <IActionResult> Create([FromBody] ContractDocument contractDocument)
        {
            var document = await _dataManager.ContractDocuments.GetWhere(c => c.Guid == contractDocument.Guid);

            if (document == null)
            {
                await _dataManager.ContractDocuments.Create(contractDocument);

                document = await _dataManager.ContractDocuments.GetWhere(c => c.Title == contractDocument.Title); // возвращаем новый обьект со сгенерированным Guid

                return(Created("api/documents/", document));
            }
            return(Conflict());
        }
コード例 #9
0
        public ActionResult Create([Bind(Prefix = "ContractDocument")] ContractDocument contractDocument)
        {
            if (Request.Files.Count > 0 && Request.Files[0].ContentLength > 0)
            {
                HttpPostedFileBase file = Request.Files[0];

                Guid   docId            = Guid.NewGuid();
                string originalFilename = file.FileName;
                string fileExt          = Path.GetExtension(file.FileName);
                string filename         = docId.ToString() + fileExt;

                string fullPath = StorageRoot + "\\" + filename;
                file.SaveAs(fullPath);

                ContractDocument newContractDocument = new ContractDocument();

                newContractDocument.Id               = docId;
                newContractDocument.Filename         = filename;
                newContractDocument.FilenameOriginal = originalFilename;
                newContractDocument.FileExt          = fileExt;
                newContractDocument.FileMimeType     = GetMimeType(fullPath);
                newContractDocument.FileSize         = file.ContentLength;
                newContractDocument.FilePath         = "/files";
                newContractDocument.Title            = contractDocument.Title;
                newContractDocument.Description      = contractDocument.Description;
                newContractDocument.Version          = contractDocument.Version;
                newContractDocument.DocType          = contractDocument.DocType;
                newContractDocument.CreatedDate      = DateTime.Now;
                newContractDocument.IsActive         = true;
                newContractDocument.ContractId       = contractDocument.ContractId;

                UOW.ContractDocuments.Add(newContractDocument);

                UOW.Commit();
                contractDocument = newContractDocument;
            }
            else
            {
                ModelState.AddModelError(string.Empty, "You must supply a valid file.");
            }

            ContractDocumentVM vm = new ContractDocumentVM
            {
                ContractDocument = contractDocument,
                Contracts        = UOW.Contracts.GetAll()
            };

            return(View("Edit", vm));
        }
コード例 #10
0
        private ContractDocument GenerateDocument(Domain.Entities.Contract.Contract contract)
        {
            var document = new Domain.Entities.Document.Document
            {
                DocumentType = DocumentType.Outgoing,
                Type         = _context.DicDocumentTypes.FirstOrDefault(d => d.Code == DicDocumentType.Codes.NotificationOfAbsencePaymentOfDK),
                Addressee    = GetAddressee(contract)
            };
            var newContractDocument = new ContractDocument
            {
                Contract = contract,
                Document = document
            };

            return(newContractDocument);
        }
コード例 #11
0
        private ContractDocumentVM CreateContractDocumentVM(ContractDocument item)
        {
            return(new ContractDocumentVM
            {
                Id = item.Id,
                Title = item.Title,
                Description = item.Description,
                Version = item.Version,
                Filename = item.Filename,
                FilenameOriginal = item.FilenameOriginal,
                FileExt = item.FileExt,
                FilePath = item.FilePath,

                DocType = item.DocType,
            });
        }
コード例 #12
0
        protected void Page_Load(object sender, EventArgs e)
        {
            var c      = new ContractDocument();
            var report = c.Build();

            foreach (var contractDocumentReport in report)
            {
                Response.Write("<strong>Resource : " + contractDocumentReport.Path + "</strong>");
                Response.Write("<br>");
                foreach (var verb in contractDocumentReport.VerbList)
                {
                    Response.Write("&nbsp;&nbsp;Verb : " + verb);
                    Response.Write("<br>");
                }
                Response.Write("<br>");
            }
        }
コード例 #13
0
        public bool IsPassesRequirements()
        {
            _contractDocument = NiisAmbientContext.Current.Executor.GetQuery <GetContractDocumentByDocumentIdQuery>().Process(q => q.Execute(CurrentRequestObject.Id));

            if (_contractDocument == null)
            {
                return(false);
            }

            if (CurrentRequestObject.Type.Code == DicDocumentTypeCodes.Statement &&
                _contractDocument.Contract.CurrentWorkflow.CurrentStage.Code == RouteStageCodes.DK02_1)
            {
                return(true);
            }

            return(false);
        }
コード例 #14
0
        public ActionResult Details(Guid?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ContractDocument contractDocument = UOW.ContractDocuments.GetById(id);

            if (contractDocument == null)
            {
                return(HttpNotFound());
            }
            ContractDocumentVM vm = new ContractDocumentVM
            {
                ContractDocument = contractDocument,
                Contracts        = UOW.Contracts.GetAll()
            };

            return(View(vm));
        }
コード例 #15
0
 private void ResolveSpecificLogicTask(WorkflowTaskQueue task)
 {
     if (task.ConditionStage.Code == "DK02.4.0")
     {
         var contract = task.Contract;
         if (contract == null)
         {
             return;
         }
         ContractDocument newContractDocument = GenerateDocument(contract);
         if (contract.CurrentWorkflow.CurrentUserId != null)
         {
             _documentWorkflowApplier.ApplyInitialAsync(newContractDocument.Document,
                                                        contract.CurrentWorkflow.CurrentUserId.Value);
         }
         contract.Documents.Add(newContractDocument);
         contract.IsRead = false;
         _context.SaveChangesAsync().Wait();
     }
 }
コード例 #16
0
        internal static void IdentityBuild(this ModelBuilder builder)
        {
            #region Data for init
            var roles = new ApplicationRole[]
            {
                new ApplicationRole()
                {
                    Id = Guid.NewGuid(), Name = "Admin", NormalizedName = "ADMIN"
                },
                new ApplicationRole()
                {
                    Id = Guid.NewGuid(), Name = "Customer", NormalizedName = "CUSTOMER"
                }
            };
            var contractDocument = new ContractDocument[]
            {
                new ContractDocument()
                {
                    Guid = Guid.NewGuid(), Title = "Titul2005", DocumentName = "titul contract"
                },
                new ContractDocument()
                {
                    Guid = Guid.NewGuid(), Title = "Road-pro", DocumentName = "Road-pro contract"
                }
            };

            #endregion

            #region Building identity entities
            builder.Entity <ApplicationUser>()
            .Property(u => u.Id)
            .HasDefaultValueSql("newsequentialid()");     // генерация guid

            builder.Entity <ApplicationRole>()
            .Property(u => u.Id)
            .HasDefaultValueSql("newsequentialid()");

            builder.Entity <ApplicationRole>().HasData(roles);
            builder.Entity <ContractDocument>().HasData(contractDocument);
            #endregion
        }
コード例 #17
0
        private ContractDocument CreateContractRefDocument(RfMessageDocument oldRefDocument, int contractId)
        {
            try
            {
                var contractDocument = new ContractDocument
                {
                    DateCreate = new DateTimeOffset(oldRefDocument.DateCreate.GetValueOrDefault(DateTime.Now)),
                    DateUpdate = new DateTimeOffset(oldRefDocument.DateCreate.GetValueOrDefault(DateTime.Now)),
                    DocumentId = oldRefDocument.RefdocumentId,
                    ExternalId = oldRefDocument.Id,
                    ContractId = contractId,
                    Timestamp  = BitConverter.GetBytes(DateTime.Now.Ticks)
                };

                return(contractDocument);
            }
            catch (Exception)
            {
                return(null);
            }
        }
コード例 #18
0
        public ActionResult Edit([Bind(Prefix = "ContractDocument")] ContractDocument contractDocument)
        {
            ContractDocument dbContractDocument = UOW.ContractDocuments.GetById(contractDocument.Id);

            if (dbContractDocument != null)
            {
                dbContractDocument.Title       = contractDocument.Title;
                dbContractDocument.Description = contractDocument.Description;
                dbContractDocument.Version     = contractDocument.Version;
                dbContractDocument.DocType     = contractDocument.DocType;
                dbContractDocument.IsActive    = contractDocument.IsActive;

                UOW.Commit();
                contractDocument = dbContractDocument;
            }

            ContractDocumentVM vm = new ContractDocumentVM
            {
                ContractDocument = contractDocument,
                Contracts        = UOW.Contracts.GetAll()
            };

            return(View(vm));
        }
コード例 #19
0
 public ContractDocumentVM()
 {
     ContractDocument = new ContractDocument();
     ContractDocumentTypeOpts = ListOpts.ContractDocumentTypeOpts;
 }
コード例 #20
0
        private ContractDocumentVM CreateContractDocumentVM(ContractDocument item)
        {
            return new ContractDocumentVM
            {
                Id = item.Id,
                Title = item.Title,
                Description = item.Description,
                Version = item.Version,
                Filename = item.Filename,
                FilenameOriginal = item.FilenameOriginal,
                FileExt = item.FileExt,
                FilePath = item.FilePath,

                DocType = item.DocType,
            };
        }
コード例 #21
0
 public ContractDocumentVM()
 {
     ContractDocument         = new ContractDocument();
     ContractDocumentTypeOpts = ListOpts.ContractDocumentTypeOpts;
 }