public DocElectronicServiceStageDO(DocElectronicServiceStage d)
        {
            if (d != null)
            {
                this.DocElectronicServiceStageId = d.DocElectronicServiceStageId;
                this.DocId = d.DocId;
                this.ElectronicServiceStageId = d.ElectronicServiceStageId;
                this.StartingDate = d.StartingDate;
                this.ExpectedEndingDate = d.ExpectedEndingDate;
                this.EndingDate = d.EndingDate;
                this.IsCurrentStage = d.IsCurrentStage;
                this.Version = d.Version;

                if (d.ElectronicServiceStage != null)
                {
                    this.ElectronicServiceStageAlias = d.ElectronicServiceStage.Alias;
                    this.ElectronicServiceStageName = d.ElectronicServiceStage.Name;
                    this.ElectronicServiceStageDuration = d.ElectronicServiceStage.Duration ?? 0;
                    this.ElectronicServiceStageDocTypeId = d.ElectronicServiceStage.DocTypeId;

                    if (d.ElectronicServiceStage.ElectronicServiceStageExecutors != null
                        && d.ElectronicServiceStage.ElectronicServiceStageExecutors.Any(e => e.IsActive))
                    {
                        StringBuilder sb = new StringBuilder();
                        var executors = d.ElectronicServiceStage.ElectronicServiceStageExecutors.Where(e => e.IsActive).ToList();
                        foreach (var executor in executors)
                        {
                            if (executor.Unit != null)
                            {
                                if (sb.Length > 0)
                                {
                                    sb.Append("<br/>");
                                }
                                sb.Append(executor.Unit.Name);
                            }
                        }

                        this.ElectronicServiceStageExecutors = sb.ToString();
                    }
                }
            }
        }
Example #2
0
        private void AddCheckRegularityServiceStage(int docTypeId, Doc doc)
        {
            var electronicServiceStage = this.unitOfWork.DbContext.Set<ElectronicServiceStage>().SingleOrDefault(e => e.Alias == "CheckRegularity" && e.DocTypeId == docTypeId);

            if (electronicServiceStage != null)
            {
                DocElectronicServiceStage serviceStage = new DocElectronicServiceStage();
                serviceStage.DocId = doc.DocId;
                serviceStage.ElectronicServiceStageId = electronicServiceStage.ElectronicServiceStageId;
                serviceStage.StartingDate = DateTime.Now;
                serviceStage.ExpectedEndingDate = electronicServiceStage.Duration.HasValue ? serviceStage.StartingDate.AddDays(electronicServiceStage.Duration.Value) : (DateTime?)null;
                serviceStage.EndingDate = null;
                serviceStage.IsCurrentStage = true;

                this.unitOfWork.DbContext.Set<DocElectronicServiceStage>().Add(serviceStage);
            }
        }
Example #3
0
        private DocElectronicServiceStage AddBeginningServiceStage(int docTypeId, Doc doc)
        {
            DocElectronicServiceStage serviceStage = null;

            var electronicServiceStage = this.unitOfWork.DbContext.Set<ElectronicServiceStage>()
                .SingleOrDefault(e => e.Alias == "AcceptApplication" && e.DocTypeId == docTypeId);

            if (electronicServiceStage != null)
            {
                serviceStage = new DocElectronicServiceStage();
                serviceStage.DocId = doc.DocId;
                serviceStage.ElectronicServiceStageId = electronicServiceStage.ElectronicServiceStageId;
                serviceStage.StartingDate = DateTime.Now;
                serviceStage.ExpectedEndingDate = DateTime.Now;
                serviceStage.EndingDate = null;
                serviceStage.IsCurrentStage = true;
                serviceStage.EndingDate = DateTime.Now;
                serviceStage.IsCurrentStage = false;

                this.unitOfWork.DbContext.Set<DocElectronicServiceStage>().Add(serviceStage);
            }

            return serviceStage;
        }