Ejemplo n.º 1
0
        public IQueryable <CandidatureDto> GetCandidatures(Guid id)
        {
            var assessment = Db.Assessments.SingleOrDefault(x => x.Id == id);

            var userService = new UserInfoService();


            var result = new List <CandidatureDto>();

            foreach (var candidature in assessment.Candidatures)
            {
                var user = userService.GetUser(candidature.UserId);

                var c = new CandidatureDto
                {
                    Id              = candidature.Id,
                    FirstName       = user != null ? user.FirstName : "",
                    LastName        = user != null ? user.LastName : "Kein Benutzerkonto",
                    Motivation      = candidature.Motivation,
                    Characteristics = candidature.Characteristics,
                    ProfileImgId    = user != null && user.BinaryData != null ? candidature.Id : Guid.Empty,
                    Stages          = new List <StageDto>()
                };


                // die stages
                foreach (var stage in assessment.Stages.OrderBy(x => x.OpeningDateTime))
                {
                    // es kann auch sein, dass jemand mehrere Stufen angelegt hat
                    var candStages = candidature.Stages.Where(x => x.AssessmentStage.Id == stage.Id).ToList();

                    foreach (var candStage in candStages)
                    {
                        var cs = new StageDto
                        {
                            Name     = stage.Name,
                            Material = new List <MaterialDto>()
                        };


                        foreach (var material in candStage.Material)
                        {
                            var cm = new MaterialDto();

                            cm.Id = material.Id;

                            cs.Material.Add(cm);
                        }

                        c.Stages.Add(cs);
                    }
                }

                result.Add(c);
            }

            return(result.AsQueryable());
        }
Ejemplo n.º 2
0
        public MaterialDto GetMaterialDesc(Guid id)
        {
            var material = Db.CandidatureStageMaterial.SingleOrDefault(x => x.Id == id);

            var cm = new MaterialDto();

            if (material.Storage != null)
            {
                cm.Description = material.Storage.Description;
                cm.Title       = material.Storage.Name;
                cm.Created     = material.Storage.Created?.ToString("s");
            }
            else
            {
                cm.Title = "Kein Bild vorhanden";
            }

            return(cm);
        }